<?xml version="1.0" encoding="US-ASCII"?>

<!--v2 used -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<rfc category="std" number="6958" submissionType="IETF" consensus="yes"
     ipr="trust200902">
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

  <?rfc toc="yes" ?>
  <?rfc symrefs="yes" ?>
  <?rfc sortrefs="yes"?>
  <?rfc rfcedstyle="yes" ?>
  <?rfc compact="yes"?>
  <?rfc subcompact="no"?>

  <front>
    <title abbrev="RTCP XR Burst/Gap Loss">RTP Control Protocol (RTCP)
    Extended Report (XR) Block for Burst/&wj;Gap&nbsp;Loss&nbsp;Metric&nbsp;Reporting</title>

    <author fullname="Alan Clark" initials="A." surname="Clark">
      <organization abbrev="Telchemy">Telchemy Incorporated</organization>

      <address>
        <postal>
          <street>2905 Premiere Parkway, Suite 280</street>

          <city>Duluth</city>

          <region>GA</region>

          <code>30097</code>

          <country>USA</country>
        </postal>

        <email>alan.d.clark@telchemy.com</email>
      </address>
    </author>

    <author fullname="Sunshine Zhang" initials="S." surname="Zhang">
      <organization abbrev="STTRI">Shanghai Research Institute of China
      Telecom Corporation Limited</organization>

      <address>
        <postal>
          <street>No. 1835, South Pudong Road</street>

          <city>Shanghai</city>

          <code>200122</code>

          <country>China</country>
        </postal>

        <email>zhangyx@sttri.com.cn</email>
      </address>
    </author>

    <author fullname="Jing Zhao" initials="J." surname="Zhao">
      <organization abbrev="STTRI">Shanghai Research Institute of China
      Telecom Corporation Limited</organization>

      <address>
        <postal>
          <street>No. 1835, South Pudong Road</street>

          <city>Shanghai</city>

          <code>200122</code>

          <country>China</country>
        </postal>

        <email>zhaojing@sttri.com.cn</email>
      </address>
    </author>

    <author fullname="Qin Wu" initials="Q." role="editor" surname="Wu">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>sunseawq@huawei.com</email>
      </address>
    </author>

    <date month="May" year="2013" />

    <area>Real-time Applications and Infrastructure Area</area>

    <workgroup>Audio/Video Transport Working Group</workgroup>

    <keyword>Real Time Control Protocol</keyword>

    <abstract>
      <t>This document defines an RTP Control Protocol (RTCP) Extended Report
      (XR) Block that allows the reporting of burst and gap loss metrics for
      use in a range of RTP applications.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">

      <section title="Burst/Gap Loss Metrics Block">
        <t>This document defines a new block type to augment those defined in
        <xref target="RFC3611"></xref> for use in a range of RTP applications.
        The new block type supports the reporting of the proportion of packets
        lost by the network. The losses during loss bursts are reported,
        together with the number of bursts and additional data, allowing the
        calculation of statistical parameters (mean and variance) of the
        distribution of burst lengths. Some uses of these metrics depend on
        the availability of the metric "cumulative number of packets lost"
        from RTCP <xref target="RFC3550"></xref>.</t>

        <t>This block provides information on transient IP problems. Burst/gap
        metrics are typically used in Cumulative reports; however, they also
        may be used in Interval reports. The burstiness of packet loss affects
        user experience, may influence any sender strategies to mitigate the
        problem, and may also have diagnostic value.</t>

        <t>The metric belongs to the class of transport-related end system
        metrics defined in <xref target="RFC6792"></xref>.</t>

        <t>The definitions of "burst", "gap", "loss", and "discard" are consistent with
        definitions in <xref target="RFC3611"></xref>. To accommodate the
        range of jitter buffer algorithms and packet discard logic that may be
        used by implementors, the method used to distinguish between bursts
        and gaps may be an equivalent method to that defined in <xref
        target="RFC3611"></xref>. The method used should produce the same
        result as that defined in <xref target="RFC3611"/> for conditions of burst packet
        loss but may produce different results for conditions of time-varying
        jitter.</t>

      </section>

      <section title="RTCP and RTCP XR Reports">
        <t>The use of RTCP for reporting is defined in <xref
        target="RFC3550"></xref>. <xref target="RFC3611"></xref> defines an
        extensible structure for reporting by using an RTCP Extended Report (XR).
        This document defines a new Extended Report block for use with <xref
        target="RFC3550"></xref> and <xref target="RFC3611"></xref>.</t>
      </section>

      <section title="Performance Metrics Framework">
        <t>The Performance Metrics Framework <xref target="RFC6390"></xref>
        provides guidance on the definition and specification of performance
        metrics. The "Guidelines for Use of the RTP Monitoring Framework" <xref
        target="RFC6792"></xref> provides guidelines for reporting block format
        using RTCP XR. The Metrics Block described in this document is in
        accordance with the guidelines in <xref target="RFC6390"></xref> and
        <xref target="RFC6792"></xref>.</t>
      </section>

      <section title="Applicability" anchor="applicability">
        <t>These metrics are applicable to a range of RTP applications that
        contain jitter buffers and don't use stream repair means, e.g.,
        Forward Error Correction (FEC) <xref target="RFC5109"></xref> and/or
        retransmission <xref target="RFC4588"></xref>.</t>
      </section>
    </section>

    <section title="Terminology">

        <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="RFC2119">RFC 2119</xref>.</t>

        <t>In addition, the following terms are defined:</t>

        <t><list style="hanging">
            <t hangText="Received, Lost, and Discarded"><vspace
            blankLines="1" />A packet shall be regarded as lost if it fails to
            arrive within an implementation-specific time window. A packet
            that arrives within this time window but is too early or late to
            be played out or thrown away before playout due to packet
            duplication or redundancy shall be regarded as discarded. A packet
            shall be classified as one of received (or OK), discarded, or lost.
            The metric "cumulative number of packets lost" defined in <xref
            target="RFC3550"></xref> reports a count of packets lost from the
            media stream (single Synchronization Source (SSRC) within a single RTP session). Similarly,
            the metric "number of packets discarded" defined in <xref
            target="DISCARD"></xref> reports a count of packets discarded from
            the media stream (single SSRC within single RTP session) arriving
            at the receiver. 
   The post-repair Loss RLE metric, which is defined in
   <xref target="RFC5725"/>, can be used to report the number of packets that are not
   recovered by any repair techniques that are in use.
            <vspace blankLines="1" /></t>

            <t hangText="Bursts and Gaps"><vspace blankLines="1" />The terms
            "burst" and "gap" are used in a manner consistent with that of RTCP XR
            <xref target="RFC3611"/>. RTCP XR views an RTP stream as being divided into
            bursts, which are periods when the loss rate is high
            enough to cause noticeable quality degradation (generally over 5
            percent loss rate) and gaps, which are periods when lost
            packets are infrequent and hence quality is generally acceptable.
            <vspace blankLines="1" /></t>
          </list></t>

    </section>

    <section title="Burst/Gap Loss Metrics Block" anchor="BGLB">
      <t>Metrics in this block report on burst/gap loss in the stream arriving
      at the RTP system. The measurement of these metrics is made at the
      receiving end of the RTP stream.
   Each instance of this Metrics Block refers by SSRC to a separate 
   auxiliary Measurement Information Block <xref target="RFC6776"/>, which describes 
   the measurement periods in use (see RFC 6776, Section 4.2).
</t>

      <t>This Metrics Block relies on the measurement period in the
      Measurement Information Block indicating the span of the report. Senders
      MUST send this block in the same compound RTCP packet as the Measurement
      Information Block. Receivers MUST verify that the measurement period is
      received in the same compound RTCP packet as this Metrics Block. If not,
      this Metrics Block MUST be discarded.</t>

      <section title="Report Block Structure">
        <t>The structure of the Burst/Gap Loss Metrics Block is as follows.

<figure
            title="Figure 1: Report Block Structure">
            <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=20     | I |C|  resv.  |      Block Length = 5         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        SSRC of Source                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+-+-+-+-+-+-+-+
      | Threshold     |         Sum of Burst Durations (ms)           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            Packets Lost in Bursts             |    Total...   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | ...Packets Expected in Bursts |    Number of Bursts   | Sum of|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                ...Squares of Burst Durations (ms-squared)     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
          </figure></t>
      </section>

      <section title="Definition of Fields in Burst/Gap Loss Metrics Block" anchor="definitions">
        <t><list style="hanging">
            <t hangText="Block Type (BT): 8 bits"><vspace blankLines="1" />A
            Burst/Gap Loss Metrics Block is identified by the constant
            20.</t>

            <t hangText="Interval Metric flag (I): 2 bits"><vspace
            blankLines="1" />This field is used to indicate whether the
            burst/gap loss metrics are Sampled, Interval, or Cumulative
            metrics: <list>
                <t>I=10: Interval Duration - the reported value applies to the
                most recent measurement interval duration between successive
                metrics reports.</t>

                <t>I=11: Cumulative Duration - the reported value applies to
                the accumulation period characteristic of cumulative
                measurements.</t>

                <t>I=01: Sampled Value - the reported value is a sampled
                instantaneous value.</t>
              </list>In this document, burst/gap loss metrics can only be
            measured over definite intervals and cannot be sampled. Also, the
            value I=00 is reserved for future use. Senders MUST NOT use the
            values I=00 or I=01. If a block is received with I=00 or I=01, the
            receiver MUST discard the block. <vspace blankLines="1" /></t>

            <t
            hangText=" Loss and Discard Combination flag (C): 1 bit"><vspace
            blankLines="1" />The 'C' flag is used to indicate whether the
            loss/discard report is combined with the burst/gap loss report in
            the same compound RTCP packet. The value is set to '1' if the
            loss/discard report and the burst gap loss report are combined.
            Otherwise, the value is set to '0'. If the 'C' flag is set to '1'
            but the burst/gap discard was not sent, the receiver MUST discard
            the burst/gap loss. <vspace blankLines="1" /></t>

            <t hangText="Reserved (resv): 5 bits"><vspace
            blankLines="1" />These bits are reserved. They MUST be set to zero
            by senders and ignored by receivers (see <xref target="RFC6709"/>, Section 4.2).
            <vspace blankLines="1" /></t>

            <t hangText="Block Length: 16 bits"><vspace blankLines="1" /> The
            length of this report block in 32-bit words, minus one. For the
            Burst/Gap Loss Metrics Block, the block length is equal to 5. The block
            MUST be discarded if the block length is set to a different
            value.<vspace blankLines="1" /></t>

            <t hangText="SSRC of Source: 32 bits"><vspace blankLines="1" />As
            defined in Section 4.1 of <xref target="RFC3611"></xref>.<vspace
            blankLines="1" /></t>

            <t hangText="Threshold: 8 bits"><vspace blankLines="1" />The
            Threshold is equivalent to Gmin in <xref target="RFC3611"></xref>,
            i.e., the number of successive packets that must be received prior
            to and following a lost packet in order for this lost packet to be
            regarded as part of a gap. Note that the threshold is calculated
            in accordance with the Gmin Calculation defined in Section 4.7.2 of
            RFC 3611.<vspace blankLines="1" /></t>

            <t hangText="Sum of Burst Durations (ms): 24 bits"><vspace
            blankLines="1" />The total duration of bursts of lost packets in
            the period of the report (Interval or Cumulative). <vspace
            blankLines="1" />The measured value is an unsigned value. If the
            measured value exceeds 0xFFFFFD, the value 0xFFFFFE MUST be
            reported to indicate an over-range measurement. If the measurement
            is unavailable, the value 0xFFFFFF MUST be reported. <vspace
            blankLines="1" /></t>

            <t hangText="Packets Lost in Bursts: 24 bits"><vspace
            blankLines="1" />The total number of packets lost during loss
            bursts.<vspace blankLines="1" />The measured value is an unsigned
            value. If the measured value exceeds 0xFFFFFD, the value 0xFFFFFE
            MUST be reported to indicate an over-range measurement. If the
            measurement is unavailable, the value 0xFFFFFF MUST be reported.
            <vspace blankLines="1" /></t>

            <t hangText="Total Packets Expected in Bursts: 24 bits"><vspace
            blankLines="1" />The total number of packets expected during loss
            bursts (that is, the sum of received packets and lost packets).
            <vspace blankLines="1" />The measured value is an unsigned value. If
            the measured value exceeds 0xFFFFFD, the value 0xFFFFFE MUST be
            reported to indicate an over-range measurement. If the measurement
            is unavailable, the value 0xFFFFFF MUST be reported. <vspace
            blankLines="1" /></t>

            <t hangText="Number of Bursts: 16 bits"><vspace
            blankLines="1" />The number of bursts in the period of the report
            (Interval or Cumulative). <vspace blankLines="1" />The measured
            value is an unsigned value. If the measured value exceeds 0xFFFD, the
            value 0xFFFE MUST be reported to indicate an over-range
            measurement. If the measurement is unavailable, the value 0xFFFF
            MUST be reported. <vspace blankLines="1" /></t>

            <t
            hangText="Sum of Squares of Burst Durations (ms-squared): 36 bits"><vspace
            blankLines="1" />The sum of the squares of burst durations (where
            individual burst durations are expressed in ms) in the period
            of the report (Interval or Cumulative). The units for this
            quantity are milliseconds-squared. <vspace blankLines="1" />The
            measured value is an unsigned value. If the measured value exceeds
            0xFFFFFFFFD, the value 0xFFFFFFFFE MUST be reported to indicate an
            over-range measurement. If the measurement is unavailable, the
            value 0xFFFFFFFFF MUST be reported. <vspace blankLines="1" /></t>
          </list></t>
      </section>

      <section title="Derived Metrics Based on Reported Metrics">
        <t>The metrics described here are intended to be used as described in
        this section, in conjunction with information from the Measurement
        Information Block <xref target="RFC6776"></xref> and also with the
        metric "cumulative number of packets lost" provided in standard RTCP
        <xref target="RFC3550"></xref>.</t>

        <t>These metrics provide information relevant to statistical
        parameters, including:<list style="symbols">
            <t>the fraction of packets lost during bursts (i.e., Burst Loss
            Rate in <xref target="SUMSTAT"></xref>), which can be calculated
            using the metric "Packets Loss in Bursts" and the metric "Total
            Packets Expected in Bursts" provided in the Burst/Gap Loss
            Metrics Block.</t>

            <t>the fraction of packets lost during gaps (i.e., Gap Loss Rate
            in <xref target="SUMSTAT"></xref>), which can be calculated using
            the metric "Packets Loss in Bursts" and the metric "Total
            Packets Expected in Bursts" provided in the Burst/Gap Loss
            Metrics Block.</t>

            <t>burst duration mean <xref target="SUMSTAT"></xref>, which can
            be calculated using the metric "Packets Loss in Bursts" and the
            metric "Total Packets Expected in Bursts" provided in the
            Burst/Gap Loss Metrics Block.</t>

            <t>burst duration variance <xref target="SUMSTAT"></xref>, which
            can be calculated using the metric "Packets Loss in Bursts" and
            the metric "Total Packets Expected in Bursts" provided in the
            Burst/Gap Loss Metrics Block.</t>
          </list></t>

        <t>The details on calculation of these parameters in the metrics are
        described in <xref target="SUMSTAT"></xref>.</t>
      </section>
    </section>

    <section title="Considerations for Voice-over-IP Applications">
      <t>This Metrics Block is applicable to a broad range of RTP
      applications. Where the metric is used with a Voice-over-IP (VoIP)
      application and the stream repair means is not available, the following
      considerations apply.</t>

      <t>RTCP XR views a call as being divided into bursts, which are periods
      when the loss rate is high enough to cause noticeable call
      quality degradation (generally over 5 percent loss rate), and gaps,
      which are periods when lost packets are infrequent and hence
      call quality is generally acceptable.</t>

      <t>If Voice Activity Detection is used, the Burst and Gap Durations shall
      be determined as if silence packets had been sent, i.e., a period of
      silence in excess of Gmin packets will terminate a burst condition.</t>

<t>
  The recommended value for the threshold Gmin in <xref target="RFC3611"/> causes 
  a burst during which the call quality is degraded to a similar 
  extent as it would be during a typical Pulse Code Modulation (PCM) 
  Severely Errored Second.
</t>

    </section>

    <section title="SDP Signaling">
      <t><xref target="RFC3611"/> defines the use of the Session Description Protocol (SDP) <xref
      target="RFC4566"></xref> for signaling the use of XR blocks. XR blocks
      MAY be used without prior signaling.</t>

      <section title="SDP rtcp-xr-attrib Attribute Extension">
        <t>This section augments the SDP <xref target="RFC4566"></xref>
        attribute "rtcp-xr" defined in <xref target="RFC3611"></xref> by
        providing an additional value of "xr-format" to signal the use of the
        report block defined in this document. The ABNF
        <xref target="RFC5234"/> syntax is below.


<figure><artwork type="abnf">
xr-format =/ xr-bgl-block

xr-bgl-block = "burst-gap-loss"
</artwork>
          </figure></t>
      </section>

      <section title="Offer/Answer Usage">
        <t>When SDP is used in the offer/answer context, the SDP Offer/Answer
        usage defined in <xref target="RFC3611"></xref> for unilateral
        "rtcp-xr" attribute parameters applies. For detailed usage of
        offer/answer for unilateral parameters, refer to Section 5.2 of <xref
        target="RFC3611"></xref>.</t>
      </section>
    </section>

    <section title="IANA Considerations">
      <t>New block types for RTCP XR are subject to IANA registration. For
      general guidelines on IANA considerations for RTCP XR, refer to <xref
      target="RFC3611"></xref>.</t>

      <section title="New RTCP XR Block Type Value">
        <t>This document assigns the block type value 20 in the IANA "RTP
        Control Protocol Extended Reports (RTCP XR) Block Type Registry" to
        the "Burst/Gap Loss Metrics Block".</t>
      </section>

      <section title="New RTCP XR SDP Parameter">
        <t>This document also registers a new parameter "burst-gap-loss" in
        the "RTP Control Protocol Extended Reports (RTCP XR) Session
        Description Protocol (SDP) Parameters Registry".</t>
      </section>

      <section title="Contact Information for Registrations">
        <t><figure>
            <artwork>
The contact information for the registrations is:

 Qin Wu (sunseawq@huawei.com)

 101 Software Avenue, Yuhua District
 Nanjing, Jiangsu  210012
 China
</artwork>
          </figure></t>
      </section>
    </section>

    <section title="Security Considerations">
      <t>This block does not provide per-packet statistics, so the risk to
      confidentiality documented in Section 7, paragraph 3 of <xref
      target="RFC3611"></xref> does not apply. However, the gaps indicated
      within this block could be used to detect the timing of other events on
      the path between the sender and receiver. For example, a competing
      multimedia stream might cause a loss burst for the duration of the
      stream, allowing the receiver of this block to know when the competing
      stream was active. This risk is not a significant threat since the only
      information leaked is the timing of the loss, not the cause. Besides
      this, it is believed that this proposed RTCP XR report block introduces
      no other new security considerations beyond those described in <xref
      target="RFC3611"></xref>.</t>
    </section>

    <section title="Contributors">
      <t>Geoff Hunt wrote the initial draft of this document.</t>
    </section>

    <section title="Acknowledgments">
      <t>The authors gratefully acknowledge reviews and feedback provided by
      Bruce Adams, Philip Arden, Amit Arora, Bob Biskner, Kevin Connor, Claus
      Dahm, Randy Ethier, Roni Even, Jim Frauenthal, Albert Higashi, Tom Hock,
      Shane Holthaus, Paul Jones, Rajesh Kumar, Keith Lantz, Mohamed Mostafa,
      Amy Pendleton, Colin Perkins, Mike Ramalho, Ravi Raviraj, Albrecht
      Schwarz, Tom Taylor, Hideaki Yamada, Adam Roach, Dan Romascanu, Chris
      Lonvick, Alfred C.&nbsp;Morton Jr., Pete Resnick, Ted Lemon, Stephen Farrell,
      Richard Barnes, and Benoit Claise.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">

<reference anchor="RFC2119"><front><title abbrev="RFC Key Words">Key words for
use in RFCs to Indicate Requirement Levels</title><author initials="S."
						    surname="Bradner"
						    fullname="Scott
						    Bradner"><organization>Harvard
University</organization><address><postal><street>1350
Mass. Ave.</street><street>Cambridge</street><street>MA
02138</street></postal><phone>- +1 617 495
3864</phone><email>sob@harvard.edu</email></address></author><date year="1997"
							       month="March"/><area>General</area><keyword>keyword</keyword><abstract><t>
   In many standards track documents several words are used to signify
   the requirements in the specification.  These words are often
   capitalized.  This document defines these words as they should be
   interpreted in IETF documents.  Authors who follow these guidelines
   should incorporate this phrase near the beginning of their document:

<list><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
      RFC 2119.
</t></list></t><t>
   Note that the force of these words is modified by the requirement
   level of the document in which they are used.
</t></abstract></front><seriesInfo name="BCP" value="14"/><seriesInfo
							    name="RFC"
							    value="2119"/><format
									    type="TXT"
									    octets="4723"
									    target="http://www.rfc-editor.org/rfc/rfc2119.txt"/><format
																  type="HTML"
																  octets="17970"
																  target="http://xml.resource.org/public/rfc/html/rfc2119.html"/><format
																								   type="XML"
																								   octets="5777" target="http://xml.resource.org/public/rfc/xml/rfc2119.xml"/></reference>

<reference anchor="RFC3550"><front><title>RTP: A Transport Protocol for
Real-Time Applications</title><author initials="H." surname="Schulzrinne"
				fullname="H. Schulzrinne"><organization/></author><author
										    initials="S."
										    surname="Casner"
										    fullname="S. Casner"><organization/></author><author
																   initials="R."
																   surname="Frederick"
																   fullname="R. Frederick"><organization/></author><author
																						     initials="V."
																						     surname="Jacobson"
																						     fullname="V. Jacobson"><organization/></author><date
																												      year="2003"
																												      month="July"/><abstract><t>This
memorandum describes RTP, the real-time transport protocol.  RTP provides
end-to-end network transport functions suitable for applications transmitting
real-time data, such as audio, video or simulation data, over multicast or
unicast network services.  RTP does not address resource reservation and does
not guarantee quality-of- service for real-time services.  The data transport
is augmented by a control protocol (RTCP) to allow monitoring of the data
delivery in a manner scalable to large multicast networks, and to provide
minimal control and identification functionality.  RTP and RTCP are designed to
be independent of the underlying transport and network layers.  The protocol
supports the use of RTP-level translators and mixers.  Most of the text in this
memorandum is identical to RFC 1889 which it obsoletes.  There are no changes
in the packet formats on the wire, only changes to the rules and algorithms
governing how the protocol is used.  The biggest change is an enhancement to
the scalable timer algorithm for calculating when to send RTCP packets in order
to minimize transmission in excess of the intended rate when many participants
join a session
simultaneously. [STANDARDS-TRACK]</t></abstract></front><seriesInfo name="STD"
							  value="64"/><seriesInfo
									name="RFC"
									value="3550"/><format
											type="TXT"
											octets="259985"
											target="http://www.rfc-editor.org/rfc/rfc3550.txt"/><format
																	      type="PS"
																	      octets="630740"
																	      target="http://www.rfc-editor.org/rfc/rfc3550.ps"/><format
																								   type="PDF"
																								   octets="504117"
																								   target="http://www.rfc-editor.org/rfc/rfc3550.pdf"/></reference>

<reference anchor="RFC3611"><front><title>RTP Control Protocol Extended Reports
(RTCP XR)</title><author initials="T." surname="Friedman"
		   fullname="T. Friedman"><organization/></author><author
								    initials="R."
								    surname="Caceres"
								    fullname="R. Caceres"><organization/></author><author
														    initials="A."
														    surname="Clark"
														    fullname="A. Clark"><organization/></author><date
																				  year="2003"
																				  month="November"/><abstract><t>This
document defines the Extended Report (XR) packet type for the RTP Control
Protocol (RTCP), and defines how the use of XR packets can be signaled by an
application if it employs the Session Description Protocol (SDP).  XR packets
are composed of report blocks, and seven block types are defined here.  The
purpose of the extended reporting format is to convey information that
supplements the six statistics that are contained in the report blocks used by
RTCP's Sender Report (SR) and Receiver Report (RR) packets.  Some applications,
such as multicast inference of network characteristics (MINC) or voice over IP
(VoIP) monitoring, require other and more detailed statistics.  In addition to
the block types defined here, additional block types may be defined in the
future by adhering to the framework that this document
provides.</t></abstract></front><seriesInfo name="RFC" value="3611"/><format
								       type="TXT"
								       octets="126736" target="http://www.rfc-editor.org/rfc/rfc3611.txt"/></reference>

<reference anchor="RFC4566"><front><title>SDP: Session Description
Protocol</title><author initials="M." surname="Handley"
		  fullname="M. Handley"><organization/></author><author
								  initials="V."
								  surname="Jacobson"
								  fullname="V. Jacobson"><organization/></author><author
														   initials="C."
														   surname="Perkins"
														   fullname="C. Perkins"><organization/></author><date
																				   year="2006"
																				   month="July"/><abstract><t>This
memo defines the Session Description Protocol (SDP).  SDP is intended for
describing multimedia sessions for the purposes of session announcement,
session invitation, and other forms of multimedia session
initiation. [STANDARDS-TRACK]</t></abstract></front><seriesInfo name="RFC"
						      value="4566"/><format
								      type="TXT"
								      octets="108820" target="http://www.rfc-editor.org/rfc/rfc4566.txt"/></reference>

<reference anchor="RFC5725"><front><title>Post-Repair Loss RLE Report Block
Type for RTP Control Protocol (RTCP) Extended Reports (XRs)</title><author
								     initials="A."
								     surname="Begen"
								     fullname="A. Begen"><organization/></author><author
														   initials="D."
														   surname="Hsu"
														   fullname="D. Hsu"><organization/></author><author
																			       initials="M."
																			       surname="Lague"
																			       fullname="M. Lague"><organization/></author><date
																									     year="2010"
																									     month="February"/><abstract><t>This
document defines a new report block type within the framework of RTP Control
Protocol (RTCP) Extended Reports (XRs).  One of the initial XR report block
types is the Loss Run Length Encoding (RLE) Report Block.  This report conveys
information regarding the individual Real-time Transport Protocol (RTP) packet
receipt and loss events experienced during the RTCP interval preceding the
transmission of the report.  The new report, which is referred to as the
Post-repair Loss RLE report, carries information regarding the packets that
remain lost after all loss-repair methods are applied.  By comparing the RTP
packet receipts/losses before and after the loss repair is completed, one can
determine the effectiveness of the loss- repair methods in an aggregated
fashion.  This document also defines the signaling of the Post-repair Loss RLE
report in the Session Description Protocol
(SDP). [STANDARDS-TRACK]</t></abstract></front><seriesInfo name="RFC"
						 value="5725"/><format
								 type="TXT"
								 octets="18794" target="http://www.rfc-editor.org/rfc/rfc5725.txt"/></reference>


<?rfc include="reference.RFC.5234"?>

    </references>

    <references title="Informative References">

<reference anchor="RFC6709"><front><title>Design Considerations for Protocol
Extensions</title><author initials="B." surname="Carpenter"
		    fullname="B. Carpenter"><organization/></author><author
								      initials="B."
								      surname="Aboba"
								      fullname="B. Aboba"><organization/></author><author
														    initials="S."
														    surname="Cheshire"
														    fullname="S. Cheshire"><organization/></author><date
																				     year="2012"
																				     month="September"/><abstract><t>This
document discusses architectural issues related to the extensibility of
Internet protocols, with a focus on design considerations.  It is intended to
assist designers of both base protocols and extensions.  Case studies are
included.  A companion document, RFC 4775 (BCP 125), discusses procedures
relating to the extensibility of IETF protocols.  This document is not an
Internet Standards Track specification; it is published for informational
purposes.</t></abstract></front><seriesInfo name="RFC" value="6709"/><format
								       type="TXT"
								       octets="103913" target="http://www.rfc-editor.org/rfc/rfc6709.txt"/></reference>

<!--draft-ietf-xrblock-rtcp-xr-discard exists-->
      <reference anchor="DISCARD">
<front><title>RTP Control
Protocol (RTCP) Extended Report (XR) Block for Discard Count metric
Reporting</title><author initials="A" surname="Clark" fullname="Alan
		   Clark"><organization/></author><author initials="R"
						    surname="Huang"><organization/></author><author
	    initials="Q" surname="Wu" fullname="Qin Wu" role="editor"><organization/></author><date
														  month="April"
	    day="26" year="2013"/><abstract><t>This document defines an RTP
Control Protocol(RTCP) Extended Report (XR) Block that allows the reporting of
a simple discard count metric for use in a range of RTP
applications.</t></abstract></front><seriesInfo name="Work in"
				      value="Progress"/><format
	  type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-xrblock-rtcp-xr-discard-13.txt"/></reference>

<reference anchor="RFC6776"><front><title>Measurement Identity and Information
Reporting Using a Source Description (SDES) Item and an RTCP Extended Report
(XR) Block</title><author initials="A." surname="Clark"
		    fullname="A. Clark"><organization/></author><author
								  initials="Q."
								  surname="Wu"
								  fullname="Q. Wu"><organization/></author><date
													     year="2012"
													     month="October"/><abstract><t>This
document defines an RTP Control Protocol (RTCP) Source Description (SDES) item
and an RTCP Extended Report (XR) block carrying parameters that identify and
describe a measurement period to which one or more other RTCP XR blocks may
refer. [STANDARDS-TRACK]</t></abstract></front><seriesInfo name="RFC"
						 value="6776"/><format
								 type="TXT"
								 octets="17259" target="http://www.rfc-editor.org/rfc/rfc6776.txt"/></reference>
<reference anchor="RFC6792"><front><title>Guidelines for Use of the RTP
Monitoring Framework</title><author initials="Q." surname="Wu"
			      fullname="Q. Wu"><organization/></author><author
									 initials="G."
									 surname="Hunt"
									 fullname="G. Hunt"><organization/></author><author
														      initials="P."
														      surname="Arden"
														      fullname="P. Arden"><organization/></author><date
																				    year="2012"
																				    month="November"/><abstract><t>This
memo proposes an extensible Real-time Transport Protocol (RTP) monitoring
framework for extending the RTP Control Protocol (RTCP) with a new RTCP
Extended Reports (XR) block type to report new metrics regarding media
transmission or reception quality.  In this framework, a new XR block should
contain a single metric or a small number of metrics relevant to a single
parameter of interest or concern, rather than containing a number of metrics
that attempt to provide full coverage of all those parameters of concern to a
specific application.  Applications may then "mix and match" to create a set of
blocks that cover their set of concerns.  Where possible, a specific block
should be designed to be reusable across more than one application, for
example, for all of voice, streaming audio, and video.  This document is not an
Internet Standards Track specification; it is published for informational
purposes.</t></abstract></front><seriesInfo name="RFC" value="6792"/><format
								       type="TXT"
								       octets="42473" target="http://www.rfc-editor.org/rfc/rfc6792.txt"/></reference>

<reference anchor="RFC6390"><front><title>Guidelines for Considering New
Performance Metric Development</title><author initials="A." surname="Clark"
					fullname="A. Clark"><organization/></author><author
										      initials="B."
										      surname="Claise"
										      fullname="B. Claise"><organization/></author><date
																     year="2011"
																     month="October"/><abstract><t>This
document describes a framework and a process for developing Performance Metrics
of protocols and applications transported over IETF-specified protocols.  These
metrics can be used to characterize traffic on live networks and services.
This memo documents an Internet Best Current
Practice.</t></abstract></front><seriesInfo name="BCP" value="170"/><seriesInfo
								      name="RFC"
								      value="6390"/><format
										      type="TXT"
										      octets="49930" target="http://www.rfc-editor.org/rfc/rfc6390.txt"/></reference>

<reference anchor="RFC5109"><front><title>RTP Payload Format for Generic
Forward Error Correction</title><author initials="A." surname="Li"
				  fullname="A. Li"><organization/></author><date
									     year="2007"
									     month="December"/><abstract><t>This
document specifies a payload format for generic Forward Error Correction (FEC)
for media data encapsulated in RTP.  It is based on the exclusive-or (parity)
operation.  The payload format described in this document allows end systems to
apply protection using various protection lengths and levels, in addition to
using various protection group sizes to adapt to different media and channel
characteristics.  It enables complete recovery of the protected packets or
partial recovery of the critical parts of the payload depending on the packet
loss situation.  This scheme is completely compatible with non-FEC-capable
hosts, so the receivers in a multicast group that do not implement FEC can
still work by simply ignoring the protection data.  This specification
obsoletes RFC 2733 and RFC 3009.  The FEC specified in this document is not
backward compatible with RFC 2733 and RFC
3009. [STANDARDS-TRACK]</t></abstract></front><seriesInfo name="RFC"
						value="5109"/><format
								type="TXT"
								octets="100538" target="http://www.rfc-editor.org/rfc/rfc5109.txt"/></reference>

<reference anchor="RFC4588"><front><title>RTP Retransmission Payload
Format</title><author initials="J." surname="Rey"
		fullname="J. Rey"><organization/></author><author initials="D."
							    surname="Leon"
							    fullname="D. Leon"><organization/></author><author
													 initials="A."
													 surname="Miyazaki"
													 fullname="A. Miyazaki"><organization/></author><author
																			  initials="V."
																			  surname="Varsa"
																			  fullname="V. Varsa"><organization/></author><author
																									initials="R."
																									surname="Hakenberg"
																									fullname="R. Hakenberg"><organization/></author><date
																															  year="2006"
																															  month="July"/><abstract><t>RTP
retransmission is an effective packet loss recovery technique for real-time
applications with relaxed delay bounds.  This document describes an RTP payload
format for performing retransmissions.  Retransmitted RTP packets are sent in a
separate stream from the original RTP stream.  It is assumed that feedback from
receivers to senders is available.  In particular, it is assumed that Real-time
Transport Control Protocol (RTCP) feedback as defined in the extended RTP
profile for RTCP-based feedback (denoted RTP/AVPF) is available in this

memo. [STANDARDS-TRACK]</t></abstract></front><seriesInfo name="RFC"
						value="4588"/><format
								type="TXT"
								octets="76630" target="http://www.rfc-editor.org/rfc/rfc4588.txt"/></reference>

<!-- draft-ietf-xrblock-rtcp-xr-summary-stat exists -->

<reference anchor="SUMSTAT"><front><title>RTP
Control Protocol (RTCP) Extended Report (XR) Blocks for Summary Statistics
Metrics Reporting</title><author initials="G" surname="Zorn" fullname="Glen
			   Zorn"><organization/></author><author initials="R"
							   surname="Schott"
							   fullname="Roland
							   Schott"><organization/></author><author
											     initials="Q"
											     surname="Wu"
											     fullname="Qin
Wu"
role="editor"><organization/></author><author
															   initials="R"
															   surname="Huang"
															   fullname="Rachel
															   Huang"><organization/></author><date
																			    month="March"
																			    day="24"
																			    year="2013"/><abstract><t>This
document defines three RTP Control Protocol (RTCP) Extended Report (XR) Blocks
that allow the reporting of loss, duplication and discard summary statistics
metrics in a range of RTP applications.</t></abstract></front><seriesInfo
								name="Work in"
								value="Progress"/><format
														      type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-xrblock-rtcp-xr-summary-stat-11.txt"/></reference>
    </references>

    <section title="Metrics Represented Using the Template from RFC 6390">

<t>
The six metrics defined in this document are described below using the
template from Section 5.4.4 of RFC 6390.
</t> 

      <t><list style="letters">
          <t>Threshold Metric<list style="symbols">
              <t>Metric Name: Threshold in RTP</t>

              <t>Metric Description: The Threshold is equivalent to Gmin in
              <xref target="RFC3611"/>, i.e., the number of successive RTP packets that must
              be received prior to and following a lost RTP packet in order
              for this lost RTP packet to be regarded as part of a gap.</t>

              <t>Method of Measurement or Calculation: See <xref target="definitions"/>,
              Threshold definition.</t>

              <t>Units of Measurement: See <xref target="definitions"/>, Threshold definition. </t>

              <t>Measurement Point(s) with Potential Measurement Domain: See
              <xref target="BGLB"/>, 1st paragraph. </t>

              <t>Measurement Timing: See <xref target="BGLB"/>, 2nd paragraph
              for measurement timing and <xref target="definitions"/> for Interval
              Metric flag. </t>

              <t>Use and Applications: See <xref target="applicability"/>.</t>

              <t>Reporting Model: See RFC 3611.</t>
            </list></t>

          <t>Sum of Burst Durations Metric<list
              style="symbols">
              <t>Metric Name: Sum of Burst Durations in RTP</t>

              <t>Metric Description: The total duration of bursts of lost RTP
              packets in the period of the report.</t>

              <t>Method of Measurement or Calculation: See <xref target="definitions"/>, Sum of
              Burst Durations definition.</t>

              <t>Units of Measurement: See <xref target="definitions"/>, Sum of Burst Durations
              definition. </t>

              <t>Measurement Point(s) with Potential Measurement Domain: See
              <xref target="BGLB"/>, 1st paragraph. </t>

              <t>Measurement Timing: See <xref target="BGLB"/>, 2nd paragraph
              for measurement timing and <xref target="definitions"/> for Interval
              Metric flag. </t>

              <t>Use and Applications: See <xref target="applicability"/>.</t>

              <t>Reporting Model: See RFC 3611.</t>
            </list></t>

          <t>Packets Lost in Bursts Metric<list
              style="symbols">
              <t>Metric Name: RTP Packets lost in bursts</t>

              <t>Metric Description: The total number of RTP packets lost
              during loss bursts.</t>

              <t>Method of Measurement or Calculation: See <xref target="definitions"/>,
              Packets Lost in Bursts definition.</t>

              <t>Units of Measurement: See <xref target="definitions"/>, Packets lost in bursts
              definition. </t>

              <t>Measurement Point(s) with Potential Measurement Domain: See
              <xref target="BGLB"/>, 1st paragraph. </t>

              <t>Measurement Timing: See <xref target="BGLB"/>, 2nd paragraph
              for measurement timing and <xref target="definitions"/> for Interval
              Metric flag. </t>

              <t>Use and Applications: See <xref target="applicability"/>.</t>

              <t>Reporting Model: See RFC 3611.</t>
            </list></t>

          <t>Total Packets Expected in Bursts Metric

<list style="symbols">
              <t>Metric Name: Total RTP packets expected in bursts</t>

              <t>Metric Description: The total number of RTP packets expected
              during loss bursts (that is, the sum of received RTP packets and
              lost RTP packets).</t>

              <t>Method of Measurement or Calculation: See <xref target="definitions"/>, Total
              packets expected in bursts definition.</t>

              <t>Units of Measurement: See <xref target="definitions"/>, Total packets expected
              in bursts definition.</t>

              <t>Measurement Point(s) with Potential Measurement Domain: See
              <xref target="BGLB"/>, 1st paragraph. </t>

              <t>Measurement Timing: See <xref target="BGLB"/>, 2nd paragraph
              for measurement timing and <xref target="definitions"/> for Interval
              Metric flag. </t>

              <t>Use and Applications: See <xref target="applicability"/>.</t>

              <t>Reporting Model: See RFC 3611.</t>
            </list></t>

          <t>Number of Bursts Metric<list
              style="symbols">
              <t>Metric Name: Number of bursts in RTP</t>

              <t>Metric Description: The total duration of bursts of lost RTP
              packets in the period of the report.</t>

              <t>Method of Measurement or Calculation: See <xref target="definitions"/>, Number
              of bursts definition.</t>

              <t>Units of Measurement: See <xref target="definitions"/>, Number of bursts
              definition. </t>

              <t>Measurement Point(s) with Potential Measurement Domain: See
              <xref target="BGLB"/>, 1st paragraph. </t>

              <t>Measurement Timing: See <xref target="BGLB"/>, 2nd paragraph
              for measurement timing and <xref target="definitions"/> for Interval
              Metric flag. </t>

              <t>Use and Applications: See <xref target="applicability"/>.</t>

              <t>Reporting Model: See RFC 3611.</t>
            </list></t>

          <t>Sum of Squares of Burst Durations Metric

<list style="symbols">
              <t>Metric Name: Sum of Squares of Burst Durations in RTP</t>

              <t>Metric Description: The sum of the squares of burst durations
              (where individual burst durations are expressed in ms) over in
              the period of the report.</t>

              <t>Method of Measurement or Calculation: See <xref target="definitions"/>, Sum of
              Squares of Burst Durations definition.</t>

              <t>Units of Measurement: See <xref target="definitions"/>, Sum of Squares of
              Burst Durations definition.</t>

              <t>Measurement Point(s) with Potential Measurement Domain: See
              <xref target="BGLB"/>, 1st paragraph. </t>

              <t>Measurement Timing: See <xref target="BGLB"/>, 2nd paragraph
              for measurement timing and <xref target="definitions"/> for Interval
              Metric flag. </t>

              <t>Use and Applications: See <xref target="applicability"/>.</t>

              <t>Reporting Model: See RFC 3611.</t>

</list></t>
        </list></t>
    </section>

  </back>
</rfc>

