RFC 6776 PROPOSED STANDARD RTP · RTCP · MEASUREMENT

RTCP measurement ID: Measurement Identity and Information Reporting Using a Source Description (SDES) Item and an RTCP Extended Report (XR) Block

Lets RTCP reports name the measurement period and stream they describe, so separate metric blocks can share one identity.

On rfc-editor.org ↗
PUBLISHED
October 2012
AUTHORS
A. Clark, Q. Wu
STREAM
IETF
APSI SDES ITEM TYPE
10
SDES PACKET TYPE
202
MEASUREMENT INFORMATION BLOCK TYPE
14
BLOCK LENGTH
7 (32-bit words minus one)
INTERVAL DURATION UNITS
1/65536 seconds
CUMULATIVE DURATION FORMAT
64-bit NTP-format timestamp
DOI
10.17487/RFC6776

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                          A. Clark
Request for Comments: 6776                                      Telchemy
Category: Standards Track                                          Q. Wu
ISSN: 2070-1721                                                   Huawei
                                                            October 2012


         Measurement Identity and Information Reporting Using a
 Source Description (SDES) Item and an RTCP Extended Report (XR) Block

Abstract

   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.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6776.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
     1.1.  RTCP and RTCP XRs . . . . . . . . . . . . . . . . . . . . . 3
     1.2.  Performance Metrics Framework . . . . . . . . . . . . . . . 3
     1.3.  Applicability . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 4
     2.1.  Standards Language  . . . . . . . . . . . . . . . . . . . . 4
   3.  Measurement Identity SDES Item  . . . . . . . . . . . . . . . . 4
     3.1.  APSI: Application-Specific Identifier SDES Item . . . . . . 4
   4.  Measurement Information XR Block  . . . . . . . . . . . . . . . 5
     4.1.  Report Block Structure  . . . . . . . . . . . . . . . . . . 5
     4.2.  Definition of Fields in Measurement Information Report
           Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
     5.1.  New RTCP SDES Item Type Value . . . . . . . . . . . . . . . 7
     5.2.  New RTCP XR Block Type Value  . . . . . . . . . . . . . . . 7
     5.3.  Contact Information for Registrations . . . . . . . . . . . 7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . . . 7
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 8
     7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 8
     7.2.  Informative References  . . . . . . . . . . . . . . . . . . 8

1.  Introduction

   This document defines one new RTP Control Protocol (RTCP) Source
   Description (SDES) [RFC3550] item and one new Extended Report (XR)
   block carrying parameters that identify and describe a measurement
   period to which one or more other RTCP XR blocks may refer.

   The SDES item provides a field for an application-specific auxiliary
   identifier.  This identifier may be used to correlate data in XR
   blocks within an RTP session with data from a non-RTP session.

   An RTCP Measurement Identity SDES packet may be associated with a set
   of RTCP XR metrics blocks that share the same application-specific
   measurement identifier.

   The XR block does not contain any measurement results (metrics).
   Instead, it provides information relevant to a measurement reported
   in one or more other block types, including:

   o  the sequence number of the first packet of the RTP session,

   o  the extended sequence numbers of the first packet of the current
      measurement interval, and the last packet included in the
      measurement,
   o  the duration of the most recent measurement interval, and

   o  the duration of the interval applicable to cumulative measurements
      (which may be the duration of the RTP session to date).

   The calculation method of the extended RTP sequence number is
   provided in the Real-time Transport Protocol (RTP) [RFC3550].

   The RTCP XR block containing the measurement information is intended
   to provide a single copy of the information necessary to relate
   measurement data in the RTCP XR blocks to the stream and measurement
   period to which they refer.  Commonly, multiple other small metric
   blocks contain measurement data for the same stream and period, and
   overhead would be large if all of these metric blocks carried
   duplicated data for measurement identification.

   The RTCP XR block may be associated with a set of RTCP XR metrics
   blocks that share the same information relevant to a reported
   measurement.  There may be several such sets in an RTCP packet, in
   which each set shares the same information relevant to a reported
   measurement.  There may also be RTCP XR blocks in the packet that are
   not associated with a Measurement Information block, for example,
   blocks that were defined before the Measurement Identity and
   information mechanism were introduced by this document.

1.1.  RTCP and RTCP XRs

   The use of RTCP for reporting is defined in [RFC3550].  [RFC3611]
   defines an extensible structure for reporting by using an RTCP XR.
   [RFC3611] also defines the use of XR blocks.  This document defines a
   new Extended Report block.

1.2.  Performance Metrics Framework

   The Performance Metrics Framework [RFC6390] provides guidance on the
   definition and specification of performance metrics.  The RTP
   Monitoring Architectures [MONARCH] provides guidelines for reporting
   block format using RTCP XR.  The SDES item and XR block described in
   this document are in accordance with [RFC6390] and [MONARCH].

1.3.  Applicability

   The RTCP SDES item and the RTCP XR block defined in this document
   provide information relevant to the measurements for members of a
   family of RTCP XR metrics blocks that are designed to use it.  To use
   the mechanism defined here, the RTCP XR block containing measurement
   information is not required to be in the same RTCP packet as the SDES
   item containing measurement identity.

2.  Terminology

2.1.  Standards Language

   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 [RFC2119].

3.  Measurement Identity SDES Item

   This section defines the format of the Measurement Identity SDES
   item.  The SDES item is carried in the RTCP SDES packet.  The packet
   format for the RTCP SDES is defined in Section 6.5 of [RFC3550].
   Each SDES packet is composed of a header with fixed-length fields for
   version, source count, packet type (PT), and length, followed by zero
   or more SDES items.  In the SDES packet, the PT field is set to SDES
   (202).

3.1.  APSI: Application-Specific Identifier SDES Item

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    APSI=10    |     length    |application-specific identifier
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   ....
   +-+-+-+-+-+-+-+-+

   The application-specific identifier is an additional identifier that
   is useful in the context of a specific application, e.g., an MPEG-2
   transport identifier [MPEG2].  This item MUST be ignored by
   applications that are not configured to make use of it.  The
   identifier is variable length.  Its length is described by the length
   field.  The value of the length field does not include the two-octet
   SDES item header.

4.  Measurement Information XR Block

4.1.  Report Block Structure

    0               1               2               3
    0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     BT=14     |    Reserved   |      block length = 7         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    SSRC of stream source                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Reserved           |    first sequence number      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           extended first sequence number of interval          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 extended last sequence number                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Measurement Duration (Interval)                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Measurement Duration (Cumulative) - Seconds (bit 0-31)    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Measurement Duration (Cumulative) - Fraction (bit 0-31)   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Report Block Structure

4.2.  Definition of Fields in Measurement Information Report Block

   Block type (BT): 8 bits

      A Measurement Information Block is identified by the constant 14.

   Reserved: 8 bits

      These bits are reserved.  They MUST be set to zero by senders and
      ignored by receivers.

   Block Length: 16 bits

      The length of this report block in 32-bit words minus one.  For
      the Measurement Information Block, the block length is equal to 7.

   SSRC of source: 32 bits

      As defined in Section 4.1 of [RFC3611].

   Reserved: 16 bits

      These bits are reserved.  They MUST be set to zero by senders and
      ignored by receivers.

   First sequence number: 16 bits

      The RTP sequence number of the first received RTP packet of the
      session, used to determine the number of packets contributing to
      cumulative measurements.

   Extended first sequence number of interval: 32 bits

      The extended RTP sequence number of the first received RTP packet
      of the current measurement interval.  The extended sequence number
      is expressed as the low 16-bit value containing the sequence
      number received in an RTP data packet and the most significant
      16-bit value containing the corresponding count of sequence number
      cycles.  For additional information on extended sequence numbers,
      see the "extended highest sequence number received" definition in
      Section 6.4.1 of RFC 3550 and Appendix A.1 of RFC 3550.

   Extended last sequence number: 32 bits

      The extended RTP sequence number of the last received RTP packet
      that contributed to this measurement.  The extended sequence
      number is expressed as the low 16-bit value containing the
      sequence number received in an RTP data packet and the most
      significant 16-bit value containing the corresponding count of
      sequence number cycles.  For additional information on extended
      sequence numbers, see the "extended highest sequence number
      received" definition in Section 6.4.1 of RFC 3550 and Appendix A.1
      of RFC 3550.

   Measurement Duration (Interval): 32 bits

      The duration, expressed in units of 1/65536 seconds, of the
      reporting interval applicable to Interval reports that use this
      Measurement Information Block.  The value of this field can be
      calculated by the receiver of the RTP media stream, for example,
      based on received RTP media packets or using the RTCP method
      described in [RFC3550].

   Measurement Duration (Cumulative): 64 bits

      The duration of the reporting interval applicable to Cumulative
      reports that use this Measurement Information Block.  The value of
      this field is represented using a 64-bit NTP-format timestamp as
      defined in [RFC5905], which is a 64-bit unsigned fixed-point
      number with the integer part in the first 32 bits and the
      fractional part in the last 32 bits.  It can be calculated by the
      receiver of the RTP media stream, for example, based on received
      RTP media packets or using the RTCP method described in [RFC3550].

5.  IANA Considerations

   A new SDES item type for RTCP SDES and a new XR block type for RTCP
   XR have been registered with IANA.  For general guidelines on IANA
   considerations, refer to [RFC3550] for RTCP SDES and [RFC3611] for
   RTCP XR.

5.1.  New RTCP SDES Item Type Value

   This document adds the Measurement Identity SDES item to the IANA
   "RTP SDES item types" registry as follows:

   abbrev.      name                               value
   APSI         Application-Specific Identifier    10

5.2.  New RTCP XR Block Type Value

   This document assigns the block type value 14 in the IANA "RTCP XR
   Block Type Registry" to the "Measurement Information Block".

5.3.  Contact Information for Registrations

   The contact information for the registrations is:

   Qin Wu (sunseawq@huawei.com)
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

6.  Security Considerations

   RTCP reports can contain sensitive information, including information
   about the nature and duration of a session established between two or
   more endpoints.  Therefore, the use of security mechanisms with RTP,
   as documented in Section 9 of [RFC3550], applies.

7.  References

7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3550]  Schulzrinne, H., Casner, S., Frederick, R., and V.
              Jacobson, "RTP: A Transport Protocol for Real-Time
              Applications", STD 64, RFC 3550, July 2003.

   [RFC3611]  Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed.,
              "RTP Control Protocol Extended Reports (RTCP XR)",
              RFC 3611, November 2003.

   [RFC5905]  Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
              "Network Time Protocol Version 4: Protocol and Algorithms
              Specification", RFC 5905, June 2010.

7.2.  Informative References

   [MONARCH]  Wu, Q., Hunt, G., and P. Arden, "Monitoring Architectures
              for RTP", Work in Progress, September 2012.

   [MPEG2]    ISO/IEC, "Standard 13818-1, Information technology --
              Generic coding of moving pictures and associated audio
              information: Systems", October 2007.

   [RFC6390]  Clark, A. and B. Claise, "Guidelines for Considering New
              Performance Metric Development", BCP 170, RFC 6390,
              October 2011.

Authors' Addresses

   Alan Clark
   Telchemy Incorporated
   2905 Premiere Parkway, Suite 280
   Duluth, GA  30097
   United States

   EMail: alan.d.clark@telchemy.com


   Qin Wu
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

   EMail: sunseawq@huawei.com

ISO Plain Language

On this page
PROBLEMRTCP Extended Report blocks report measurements such as packet loss, but a receiver cannot tell which time window or which part of a stream a number came from. Every metric block would otherwise have to repeat that information.
MECHANISMRFC 6776 adds an Application-Specific Identifier SDES item and a Measurement Information XR block. The block names the first and last packet of the measurement and gives its duration, so other metric blocks can point back to one shared identity.
WHY IT MATTERSThe result is a single place in an RTCP packet that ties measurement results to a stream and a period. The RFC is a Proposed Standard from October 2012 and has not been obsoleted.

§1Naming the Measurement Period

RTCP is the reporting side of RTP, the protocol that carries live media. Reports arrive as packets that describe how a stream is doing. RFC 6776 adds two new pieces to that reporting: a Source Description (SDES) item and an Extended Report (XR) block.

Neither new piece carries a measurement result. Instead they carry the information needed to interpret results found in other blocks, namely the sequence number of the first packet of the RTP session, the extended sequence numbers of the first packet of the current measurement interval and of the last packet included in the measurement, the duration of the most recent measurement interval, and the duration of the interval that applies to cumulative measurements. That last duration may be the length of the RTP session so far.

The reason for a shared identity is overhead. Commonly several small metric blocks report on the same stream and the same period. If each one carried its own copy of the identifying data, the reports would grow much larger than the results they hold.

Quality reports about a media stream need to say which stream and which stretch of time they cover. RFC 6776 puts that information in one shared place so many small reports can point to it instead of repeating it.

§1.1How RTCP Reports Are Built

RTCP reporting is defined in RFC 3550. RFC 3611 defines the extensible structure used for reporting through an RTCP XR, and defines the XR blocks themselves. RFC 6776 adds one new XR block to that structure.

The SDES item provides a field for an application-specific auxiliary identifier. Such an identifier may be used to correlate data in XR blocks within an RTP session with data from a non-RTP session. An RTCP Measurement Identity SDES packet may be associated with a set of RTCP XR metric blocks that share the same application-specific measurement identifier.

A single RTCP packet may hold several such sets, each with its own shared information. A packet may also hold XR blocks that are not associated with any Measurement Information block, for example blocks that were defined before this mechanism existed. The XR block carrying the measurement information does not have to appear in the same RTCP packet as the SDES item carrying the measurement identity.

Reports are built from small blocks. This RFC adds one block that holds the shared identity, and one source-description item that holds an identifier for the application. Other blocks may sit in the same packet without being tied to that identity.

§3.1The Application-Specific Identifier Item

The SDES item is carried in the RTCP SDES packet, whose format is defined in Section 6.5 of RFC 3550. Each SDES packet has a header with fixed-length fields for version, source count, packet type (PT) and length, followed by zero or more SDES items. In the SDES packet the PT field is set to SDES (202).

The new item is called APSI, the Application-Specific Identifier. Its header is one octet for the item type, whose value is 10, and one octet for the length of the identifier that follows. The identifier itself is variable length, and the value of the length field does not include the two-octet SDES item header.

The identifier is an extra label that is useful in the context of a specific application, for example an MPEG-2 transport identifier. Applications that are not configured to make use of the item MUST ignore it.

The new source-description item carries a short label that only the application understands. It starts with a type number of 10 and a length byte. Programs that do not use it are told to skip it.

APSI SDES ITEM HEADER (RFC 6776)
Application-Specific Identifier SDES item header
FieldNameSizeValueDescription
ITEM-TYPEItem Type1 byte10Set to 10 for APSI.
LENGTHLength1 byteLength of the variable-length identifier that follows, not counting this two-octet header.

§4The Measurement Information Block

The new XR block is identified by the constant 14 in its Block Type (BT) field. It carries a one-octet reserved field that senders MUST set to zero and receivers ignore, a two-octet block length, the SSRC (synchronization source) of the stream source, another reserved field of 16 bits, the first sequence number, the extended first and last sequence numbers of the interval, and two duration fields.

The block length is the length of the report block in 32-bit words minus one. For the Measurement Information Block the block length is equal to 7.

The block is a container only. It holds no packet counts, no loss figures and no delay values. Its job is to make the results in other blocks interpretable.

The new report block has type number 14 and a fixed length of 7. It holds no results of its own. It holds the names and the times that make other blocks' results meaningful.

MEASUREMENT INFORMATION XR BLOCK (RFC 6776)
Measurement Information XR block
FieldNameSizeValueDescription
BTBlock Type1 byte14Identifies a Measurement Information Block.
RESERVEDReserved1 byteMUST be set to zero by senders and ignored by receivers.
BLOCK-LENGTHBlock Length2 bytes7Length in 32-bit words minus one.
SSRCSSRC of Source4 bytesThe synchronization source of the stream source.
RESERVED-2Reserved2 bytesMUST be set to zero by senders and ignored by receivers.
FIRST-SEQFirst Sequence Number2 bytesRTP sequence number of the first received RTP packet of the session.
EXT-FIRST-SEQExtended First Sequence Number of Interval4 bytesExtended sequence number of the first packet of the current measurement interval.
EXT-LAST-SEQExtended Last Sequence Number4 bytesExtended sequence number of the last packet included in the measurement.
DURATION-INTERVALMeasurement Duration (Interval)4 bytesReporting interval for interval reports, in units of 1/65536 seconds.
DURATION-CUMULATIVEMeasurement Duration (Cumulative)8 bytesReporting interval for cumulative reports, as a 64-bit NTP-format timestamp.

§4.2What Each Field Measures

The first sequence number is the RTP sequence number of the first received RTP packet of the session. It is used to work out how many packets contributed to the cumulative measurements.

The extended first sequence number of interval and the extended last sequence number are the extended RTP sequence numbers of the first received packet of the current measurement interval and of the last packet that contributed to the measurement. An extended sequence number is expressed as the low 16-bit value containing the sequence number received in an RTP data packet plus the most significant 16-bit value containing the corresponding count of sequence number cycles. The calculation method is provided in RFC 3550.

The Measurement Duration (Interval) field is 32 bits and gives the duration of the reporting interval that applies to interval reports using this block, in units of 1/65536 seconds. The Measurement Duration (Cumulative) field is 64 bits and gives the duration of the reporting interval that applies to cumulative reports. It uses a 64-bit NTP-format timestamp as defined in RFC 5905: an unsigned fixed-point number with the integer part in the first 32 bits and the fractional part in the last 32 bits. A receiver of the media stream can compute either duration from the packets it receives, or by using the RTCP method described in RFC 3550.

The block names the first and last packet of the measured stretch, using sequence numbers that keep counting past the 16-bit rollover. Two counters give the length of that stretch: one in units of 1/65536 of a second, and one as a 64-bit NTP-style timestamp.

§5Registered Values

A new SDES item type for RTCP SDES and a new XR block type for RTCP XR have been registered with IANA. For general guidelines on IANA considerations the RFC points to RFC 3550 for RTCP SDES and RFC 3611 for RTCP XR.

The Measurement Identity SDES item is added to the IANA "RTP SDES item types" registry with the abbreviation APSI, the name Application-Specific Identifier and the value 10. The block type value 14 in the IANA "RTCP XR Block Type Registry" is assigned to the Measurement Information Block.

Two numbers were reserved for this: item type 10 in the SDES registry and block type 14 in the XR block registry. Those are the values a sender puts on the wire.

§6Security Considerations

RTCP reports can contain sensitive information, including information about the nature and duration of a session established between two or more endpoints. Because of that, the security mechanisms that apply to RTP, as documented in Section 9 of RFC 3550, also apply here.

These reports can reveal what kind of session took place and how long it lasted. The RFC therefore points at the RTP security rules instead of inventing new ones.

§8References