<?xml version="1.0" encoding="US-ASCII"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
    <!ENTITY rfc2119 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
]>

<rfc number="5093" category="info">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc rfcedstyle="yes" ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc subcompact="no"?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>

    <front>
        <title abbrev='RTCP XR eXtended Network Quality'>BT's eXtended Network Quality RTP Control Protocol Extended Reports (RTCP XR XNQ)</title>
        <author initials='G.' surname='Hunt' fullname='Geoff Hunt'>
            <organization abbrev='BT'>BT</organization>
		<address>
	    <postal>
        	<street>Orion 1 PP9</street>
        	<street>Adastral Park</street>
        	<street>Martlesham Heath</street>
        	<city>Ipswich</city> <region>Suffolk</region>
        	<code>IP5 3RE</code>
        	<country>United Kingdom</country>
    	    </postal>
	    <phone>+44 1473 608325</phone>
	    <email>geoff.hunt@bt.com</email>
	    </address>
        </author>
        <date month='November' year='2007' />
       <area>Real-time Applications and Infrastructure Area</area>
        <workgroup>Audio/Video Transport Working Group</workgroup>
        <keyword>RFC</keyword>
        <keyword>Request for Comments</keyword>
        <keyword>RTCP XR</keyword>
        <keyword>Real Time Control Protocol</keyword>
	  <keyword>Extended Reports</keyword>
	  <keyword>Transport</keyword>
	  <keyword>Metrics</keyword>
<note title="IESG Note"><t>The IESG has concerns about vendor code
points allocation in this small namespace and might not approve
similar documents in the future.</t></note>

        <abstract><t>This document describes an RTCP XR report block,
	which reports packet transport parameters.  
The report block was developed by BT for pre-standards use in BT's
next-generation network. 
This document has been produced to describe the report block in sufficient detail to
register the block type with IANA in accordance with the Specification
Required policy of RFC 3611. This specification does not standardise the
new report block for use outside BT's network.</t></abstract> 
    </front>

    <middle>
        <section title="Introduction">
            <t>A set of metrics of packet-transport quality has been defined by BT
   for pre-standards use in its network.  These metrics are known as
   "XNQ" for "eXtended Network Quality". This document defines an RTCP-XR Report Block to transport the
XNQ measures from an RTP end system to its peer, using the extension
   mechanism defined in <xref target='1'/>.</t>
	<t>The metrics are designed to supplement the packet-loss
	metric in RTCP <xref target='2'/> and the roundtrip delay measurement
provided by RTCP. They provide metrics for IP Packet Delay Variation based on the IPDV metric
defined in <xref target='3'/>, metrics reporting the activity of the RTP end system's receiver's jitter buffer, 
and metrics reporting "errored" and "severely errored" seconds.</t>
	<t>This document has been produced to describe the report block in sufficient detail to register the block type with IANA in accordance with the Specification Required policy of [1]. This specification does not standardise the new report block for use outside BT's network.</t>
	<t>Work in progress on RTCP HR <xref target='5'/> is likely to obsolete these metrics and the RTCP-XR 
Report Block defined here.</t>
        </section>
        <section title="Requirements Notation">
            <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
            "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
            and "OPTIONAL" in this document are to be interpreted as
            described in <xref target='4'/>.</t>
        </section>

	<section title="Extended Network Quality (XNQ) Report Block">
<t>
A set of metrics of packet-transport quality has been defined by BT for pre-standards use in its network. 
These metrics are known as "XNQ" for "eXtended Network Quality".
</t>
<t>
This document defines an RTCP-XR Report Block using the extension mechanism defined in <xref target='1'/>. The new Report Block provides 
transport of the XNQ measures from an RTP end system to its peer. 
</t>
<t>
The metrics are described in the following text. However, some additional explanation is required for the metrics 
vmaxdiff, vrange, vsum, and c, which measure aspects of packet delay variation. The metrics are based on the measure known as 
IP Packet Delay Variation (IPDV) defined in <xref target='3'/>. The IPDV of a packet is the amount by which the packet was delayed 
in the network, minus the amount a reference packet was delayed in the network. The reference packet is usually the first packet 
of the connection. IPDV is a signed quantity.
</t>
<t>
The metric vrange is the difference (longest minus shortest) between the longest and shortest network packet delays seen over the duration of the connection to date.  The metric vrange is usually a positive quantity, but may 
   be zero if the packet delay is exactly constant over the lifetime of the 
   connection to date.
</t>
<t>
The metric vmaxdiff is found as follows. For each RTCP measurement
   cycle, find the difference (longest minus shortest) between the longest and shortest network
   packet delays within that measurement cycle.  These differences are
   usually all positive quantities, but a difference may be zero if the 
   packet delay is exactly constant throughout the measurement cycle. Take the set of these 
differences and find the maximum, which is vmaxdiff. The metric
   vmaxdiff is also usually a positive quantity, but will be zero if 
   all the members of the set of per-cycle differences are zero.
</t>
<t>
The metric vsum is simply the sum of the per-RTCP-cycle differences, which were obtained to find vmaxdiff as described above. The metric 
c is the number of per-RTCP-cycle differences, that is, the cardinality of the set of differences. The two metrics vsum and c allow 
calculation of vsum/c, the average IPDV per RTCP measurement cycle.
</t>
<t>The format of the report is as shown in Figure 1.</t>
<figure anchor='block_format'> 
<artwork>
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |     BT=8      |   reserved    |      block length = 8         |
 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
 |          begin_seq            |             end_seq           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |           vmaxdiff            |             vrange            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                              vsum                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |               c               |            jbevents           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   reserved    |                     tdegnet                   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   reserved    |                     tdegjit                   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   reserved    |                        es                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   reserved    |                       ses                     |
 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
</artwork> 
</figure>
<t>The report consists of an RTCP-XR block header and a single 8-word sub-block.   
</t>
<t>   block type (BT): 8 bits
</t>
<t><list><t>An XNQ Metrics Report Block is identified by the
         constant 8.
</t></list></t>
<t>   reserved: 8 bits
</t>
<t><list><t>These fields are reserved for future definition.  In the absence
         of such a definition, the bits in these fields MUST be set to
         zero and MUST be ignored by the receiver.
</t></list></t>
<t>   block length: 16 bits
</t>
<t><list><t>Defined in Section 3 of <xref target='1'/>.
</t></list></t>
<t>   begin_seq: 16 bits
</t>
<t><list><t>As defined in Section 4.1 of <xref target='1'/>.
</t></list></t>
<t>   end_seq: 16 bits
</t>
<t><list><t>As defined in Section 4.1 of <xref target='1'/>.
</t></list></t>
<t>   vmaxdiff: 16 bits unsigned
</t>
<t><list><t>Largest IPDV difference seen to date within a single RTCP measurement cycle, measured in RTP timestamp units. If the measured 
      value exceeds 0xFFFE, the value 0xFFFF should be reported to indicate 
      an over-range measurement.
</t></list></t>
<t>   vrange: 16 bits unsigned
</t>
<t><list><t>Largest IPDV difference over the lifetime of the RTP flow to date, measured in RTP timestamp units. If the measured 
      value exceeds 0xFFFE, the value 0xFFFF should be reported to indicate 
      an over-range measurement.
</t></list></t>
<t>   vsum: 32 bits unsigned
</t>
<t><list><t>Sum of the peak IPDV difference values within each RTCP cycle, summed over RTCP cycles over the lifetime of the RTP flow to date. If the measured 
      value exceeds 0xFFFFFFFE, the value 0xFFFFFFFF should be reported to indicate 
      an over-range measurement.</t></list></t>

<?rfc needLines="5" ?>
<t>  c: 16 bits unsigned
</t>
<t><list><t>Number of RTCP cycles over which vsum was accumulated. If the measured 
      value exceeds 0xFFFE, the value 0xFFFF should be reported to indicate 
      an over-range measurement.
</t></list></t>
<t>  jbevents: 16 bits unsigned
</t>
<t><list><t>Cumulative number of jitter buffer adaptation events over the lifetime of the RTP flow to date. If the measured 
      value exceeds 0xFFFE, the value 0xFFFF should be reported to indicate 
      an over-range measurement.
</t></list></t>
<t>  tdegnet:    24 bits unsigned
</t>
<t><list><t>The total time in sample periods affected either by packets unavailable due to network loss, or late delivery of packets, since the start of transmission. If the measured 
      value exceeds 0xFFFFFE, the value 0xFFFFFF should be reported to indicate 
      an over-range measurement.
</t></list></t>
<t>  tdegjit:      24 bits unsigned
</t>
<t><list><t>The total time in sample periods degraded by jitter buffer adaptation events, e.g., where the jitter buffer either plays out a sample sequence not originating at the transmitter, repeats samples, or chooses not to play out a sample sequence that was sent by the transmitter. If the measured 
      value exceeds 0xFFFFFE, the value 0xFFFFFF should be reported to indicate 
      an over-range measurement.
</t></list></t>
<t>  es:           24 bits unsigned
</t>
<t><list><t>cumulative seconds affected by &quot;unavailable packet&quot; events over the lifetime of this ephemeral, to date. If the measured 
      value exceeds 0xFFFFFE, the value 0xFFFFFF should be reported to indicate 
      an over-range measurement.
</t></list></t>
<t>  ses:         24 bits unsigned
</t>
<t><list><t>cumulative seconds affected by severe &quot;unavailable packet&quot; events over the lifetime of this ephemeral, to date. If the measured 
      value exceeds 0xFFFFFE, the value 0xFFFFFF should be reported to indicate 
      an over-range measurement.
</t></list></t>
	</section>

	<section title="IANA Considerations">
	<t>IANA has allocated the number 8 within the 
registry "RTP Control Protocol Extended Reports (RTCP XR) Block
Types" to the RTCP XR report block described here. This registry is defined in <xref target='1'/>.</t>
	</section>

        <section title="Security Considerations">
        <t>It is believed that this proposed RTCP XR report block introduces no new security considerations beyond those 
described in <xref target='1'/>. Some of the considerations in <xref target='1'/> do not apply to this report block. Specifically, XNQ does not provide per-packet statistics so the risk to confidentiality documented in Section 7, paragraph 3 of <xref target='1'/> does not apply, and XNQ packets cannot be very large so the risk of denial of service documented in Section 7, paragraph 7 of <xref target='1'/> does not apply.</t>
        </section>
    </middle>

    <back>
        <references title='Normative References'>
		<reference anchor='1'>
			<front> 
				<title>RTP Control Protocol Extended Reports (RTCP XR)</title> 
				<author initials='T. (Ed)' surname='Friedman' fullname='Timur Friedman'> 
					<organization> Paris 6 </organization> 
				</author> 
				<date month='November' year='2003' /> 
			</front> 
			<seriesInfo name='RFC' value='3611' /> 	
			<format type='TXT' /> 
		</reference>
		<reference anchor='2'>
			<front> 
				<title>RTP: A Transport Protocol for Real-Time Applications</title> 
				<author initials='H.' surname='Schulzrinne' fullname='Henning Schulzrinne'> 
					<organization>Columbia University</organization> 
				</author> 
				<date month='July' year='2003' /> 
			</front> 
			<seriesInfo name='RFC' value='3550' /> 	
			<format type='TXT' /> 
		</reference>
		<reference anchor='3'>
			<front> 
				<title>Recommendation Y.1540, Internet protocol data communication service &mdash; IP packet transfer and availability 
				performance parameters</title> 
				<author initials='' surname='' fullname=''> 
					<organization>ITU-T</organization> 
				</author> 
 				<date month='December' year='2002' /> 
			</front> 
			<format type='TXT' /> 
		</reference>
		<reference anchor='4'>
			<front> 
				<title>Key words for use in RFCs to Indicate Requirement Levels</title> 
				<author initials='S.' surname='Bradner' fullname='Scott Bradner'> 
					<organization>Harvard University</organization> 
				</author> 
 				<date month='March' year='1997' /> 
			</front> 
			<seriesInfo name='RFC' value='2119' /> 	
			<seriesInfo name='BCP' value='14' /> 	
			<format type='TXT' /> 
		</reference>
	</references>
        <references title='Informative References'>
		<reference anchor='5'>
			<front> 
				<title>RTCP HR - High Resolution VoIP Metrics Report Blocks</title> 
				<author initials='A.' surname='Clark' fullname='Alan Clark'> 
					<organization>Telchemy Incorporated</organization> 
				</author> 
				<date month='November' year='2007' /> 
			</front> 
			<seriesInfo name='Work in' value='Progress' /> 	
			<format type='TXT' /> 
		</reference>
	</references>
    </back>

</rfc>
