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

A way to label which stretch of a call or stream an RTCP quality report is talking about.

On rfc-editor.org ↗
PUBLISHED
October 2012
AUTHORS
A. Clark, Q. Wu
STREAM
IETF
XR BLOCK TYPE
14
XR BLOCK LENGTH FIELD
7
APSI SDES ITEM TYPE
10
SDES PACKET TYPE
202
INTERVAL DURATION UNIT
1/65536 seconds
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

AI ELI5

On this page
PROBLEMSeveral small RTCP XR metric blocks often describe the same stream and the same measurement period, and repeating the identifying details in each one would waste space.
MECHANISMThe RFC defines one Measurement Information XR block (block type 14) that carries sequence numbers and durations once, plus an APSI SDES item (type 10) for an application-specific identifier.
WHY IT MATTERSOther XR blocks can refer to one shared description of the measurement period instead of each carrying its own copy.

§1What the Document Adds

RFC 6776 defines two small additions to the RTP Control Protocol (RTCP): one new Source Description (SDES) item and one new Extended Report (XR) block. Both carry parameters that identify and describe a measurement period, which one or more other RTCP XR blocks may refer to.

The XR block contains no measurement results. It only provides context for results reported in other block types, such as the sequence number of the first packet of the RTP session, the extended sequence numbers that bound the current measurement interval, the duration of the most recent interval and the duration of the interval used for cumulative measurements.

Imagine many report cards for the same school term. Instead of writing the term dates on every card, you write them once on a cover sheet.

§2Why One Shared Block

Commonly, several small metric blocks hold measurement data for the same stream and period. The RFC points out that the overhead would be large if each of them carried duplicate identification data. The Measurement Information block is meant to provide a single copy of what is needed to relate the measurements to the stream and period they refer to.

A block may be shared by a set of metric blocks, and an RTCP packet may hold several such sets. Blocks defined before this mechanism existed can sit in the same packet without being tied to a Measurement Information block. The XR block does not have to be in the same RTCP packet as the SDES item that carries the measurement identity.

The design follows the Performance Metrics Framework (RFC 6390) and builds on RTCP as defined in RFC 3550 and the XR structure from RFC 3611.

Writing the same dates on every card wastes paper. One cover sheet that every card points to is neater.

§3The APSI SDES Item

The Application-Specific Identifier (APSI) item rides in an RTCP SDES packet, whose PT field is set to SDES (202). The item starts with the type value APSI=10 and a length field, followed by a variable-length identifier. The length does not count the two-octet item header.

The identifier is useful in the context of a specific application. The RFC gives an MPEG-2 transport identifier as an example. It can be used to correlate data in XR blocks within an RTP session with data from a non-RTP session. Applications that are not configured to use the item MUST ignore it.

It is a name tag you can stick on a stream so that a different system can recognise the same thing. Anyone who does not care about the tag just ignores it.

§4The Measurement Information XR Block

The block starts with BT=14, an 8-bit reserved field and a 16-bit block length, which is always 7 (the length in 32-bit words minus one). Next comes the 32-bit SSRC of the stream source, as defined in RFC 3611. The reserved fields MUST be set to zero by senders and ignored by receivers.

The remaining fields are:

  • First sequence number (16 bits): the RTP sequence number of the first received packet of the session, used to work out how many packets contribute to cumulative measurements.
  • Extended first sequence number of interval (32 bits): the extended sequence number of the first received packet of the current measurement interval.
  • Extended last sequence number (32 bits): the extended sequence number of the last received packet that contributed to the measurement.
  • Measurement Duration (Interval) (32 bits): the length of the reporting interval, in units of 1/65536 seconds.
  • Measurement Duration (Cumulative) (64 bits): the length of the interval for cumulative reports, as a 64-bit NTP-format timestamp with the integer part in the first 32 bits and the fraction in the last 32.

An extended sequence number has the 16-bit sequence number from the RTP packet in the low half and the count of sequence number cycles in the high half. The receiver of the media stream can calculate the durations, for example from received RTP packets or with the RTCP method in RFC 3550.

The block is a short form with boxes for the first and last packet numbers and for how long the timing lasted, once for the latest window and once for the whole call so far.

MEASUREMENT INFORMATION XR BLOCK (RFC 6776)
Measurement Information block
FieldNameSizeValueDescription
BTBT1 byte14Block type.
RESERVED-1Reserved1 byteSet to zero by senders, ignored by receivers.
BLOCK-LENGTHBlock Length2 bytes7Length in 32-bit words minus one.
SSRCSSRC of stream source4 bytesThe stream the block refers to.
RESERVED-2Reserved2 bytesSet to zero by senders, ignored by receivers.
FIRST-SEQFirst sequence number2 bytesFirst received RTP packet of the session.
EXT-FIRSTExtended first sequence number of interval4 bytesFirst received packet of the current interval.
EXT-LASTExtended last sequence number4 bytesLast received packet that contributed to the measurement.
DUR-INTERVALMeasurement Duration (Interval)4 bytesInterval length in units of 1/65536 seconds.
DUR-CUM-SECMeasurement Duration (Cumulative), seconds4 bytesInteger part of the cumulative duration.
DUR-CUM-FRACMeasurement Duration (Cumulative), fraction4 bytesFractional part of the cumulative duration.

§5IANA Registrations

The document adds the Measurement Identity item to the IANA RTP SDES item types registry as abbreviation APSI, name Application-Specific Identifier, value 10. It also assigns block type value 14 in the IANA RTCP XR Block Type Registry to the Measurement Information Block.

The authors reserved two official numbers, like claiming two locker numbers so nobody else uses them.

§6Security

RTCP reports can contain sensitive information, including the nature and duration of a session between two or more endpoints. For that reason the security mechanisms for RTP described in Section 9 of RFC 3550 apply. The RFC defines no security machinery of its own.

Reports can reveal who talked and for how long, so you should protect them the same way you protect the call itself.

§7References