RFC 6776
Measurement Identity and Information Reporting Using a Source Description (SDES) Item and an RTCP Extended Report (XR) Block
Measurement Identity and Information Reporting Using a Source Description (SDES) Item and an RTCP Extended Report (XR) Block ๐
Okay bestie, come sit with me ๐ We're looking at RFC 6776, and it's giving main character energy ๐ฆ Here's the title block tea so you know who's behind it:
- RFC number: 6776
- Authors: A. Clark (Telchemy) and Q. Wu (Huawei) ๐
- Category: Standards Track
- ISSN: 2070-1721
- Date: October 2012
- Obsoletes / Updates: the header doesn't list any, so this one doesn't obsolete or update anything it names there ๐
Abstract โจ
Okay so this doc defines an RTP Control Protocol (RTCP) Source Description (SDES) item and an RTCP Extended Report (XR) block ๐ง Together they carry parameters that identify and describe a measurement period, and one or more other RTCP XR blocks can point back to that period ๐
Status of This Memo ๐
This is an Internet Standards Track document ๐ธ
It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). If you want more on Internet Standards, check Section 2 of RFC 5741 ๐ซถ
For the current status of this document, any errata, and how to give feedback on it, go to 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. Please read these carefully, bestie, because they spell out your rights and restrictions for 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 they're 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 doc defines one new RTP Control Protocol (RTCP) Source Description (SDES) [RFC3550] item and one new Extended Report (XR) block ๐ Both carry parameters that identify and describe a measurement period, and one or more other RTCP XR blocks can refer to that period โจ
The SDES item gives you a field for an application-specific auxiliary identifier ๐ That identifier may be used to correlate data in XR blocks within an RTP session with data from a non-RTP session, which is honestly so useful ๐ง
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 doesn't contain any measurement results (metrics) ๐ Instead, it gives you info that's relevant to a measurement reported in one or more other block types, including:
- 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 the last packet included in the measurement,
- the duration of the most recent measurement interval, and
- 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 with the measurement information is meant to give you a single copy of the info needed to relate measurement data in the RTCP XR blocks to the stream and measurement period they refer to ๐ซถ Usually there are multiple small metric blocks with measurement data for the same stream and period, and the overhead would be huge if every one of them carried duplicated identification data ๐ญ
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 one RTCP packet, and each set shares its own information relevant to a reported measurement โญ There may also be RTCP XR blocks in the packet that aren't associated with a Measurement Information block. For example, these could be blocks that were defined before the Measurement Identity and information mechanism was introduced by this document ๐
1.1. RTCP and RTCP XRs ๐
RTCP reporting is defined in [RFC3550]. [RFC3611] defines an extensible structure for reporting using an RTCP XR, and it 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] gives guidance on defining and specifying performance metrics. The RTP Monitoring Architectures [MONARCH] gives 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 here provide info relevant to measurements for members of a family of RTCP XR metrics blocks that are designed to use it. To use this mechanism, the RTCP XR block with measurement information is not required to be in the same RTCP packet as the SDES item with 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 rides in the RTCP SDES packet, and the packet format for RTCP SDES is defined in Section 6.5 of [RFC3550]. Each SDES packet is 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 extra identifier that's useful in the context of a specific application, e.g., an MPEG-2 transport identifier [MPEG2] ๐ง This item MUST be ignored by applications that aren't configured to make use of it ๐ The identifier is variable length, and 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 โจ
okay so this is where the Measurement Information Block gets its actual fields, and I'm obsessed with how neatly it's laid out ๐ซถ
Block type (BT): 8 bits ๐ธ
A Measurement Information Block is identified by the constant 14. Like, that's its ID card ๐ชช
Reserved: 8 bits ๐
These bits are reserved. They MUST be set to zero by senders and ignored by receivers. No touching the reserved stuff, bestie ๐
Block Length: 16 bits ๐ฆ
This 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. So the block length is always 7 for this one โจ
SSRC of source: 32 bits ๐
This one is defined in Section 4.1 of [RFC3611], so go check there if you want the full scoop ๐ง
Reserved: 16 bits ๐
Another set of reserved bits. These bits are reserved. They MUST be set to zero by senders and ignored by receivers. Same rule, different spot, periodt ๐
First sequence number: 16 bits ๐
This is the RTP sequence number of the first received RTP packet of the session. It's used to figure out how many packets are contributing to the cumulative measurements ๐
Extended first sequence number of interval: 32 bits ๐
This is the extended RTP sequence number of the first received RTP packet of the current measurement interval. The extended sequence number is a combo: the low 16-bit value holds the sequence number received in an RTP data packet, and the most significant 16-bit value holds the corresponding count of sequence number cycles. For more 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 ๐ฅ
This is the extended RTP sequence number of the last received RTP packet that contributed to this measurement. It's built the same way: the low 16-bit value is the sequence number received in an RTP data packet, and the most significant 16-bit value is the corresponding count of sequence number cycles. For more 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 โญ
This is the duration of the reporting interval that applies to Interval reports using this Measurement Information Block. It's expressed in units of 1/65536 seconds. The receiver of the RTP media stream can calculate this value, for example, based on received RTP media packets, or by using the RTCP method described in [RFC3550] ๐งฎ
Measurement Duration (Cumulative): 64 bits ๐ซง
This is the duration of the reporting interval that applies to Cumulative reports using this Measurement Information Block. The value is represented using a 64-bit NTP-format timestamp as defined in [RFC5905]. That's 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. The receiver of the RTP media stream can calculate it too, for example, based on received RTP media packets or by using the RTCP method described in [RFC3550] ๐ฐ๏ธ
5. IANA Considerations ๐๏ธ
okay, registry time ๐ 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". So that's the 14 we saw earlier, officially locked in ๐
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 ๐จ
okay this part is seriously important, so listen up ๐ 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. Don't skip the security stuff, no cap ๐๐
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
That's the whole spec, bestie! ๐๐ Every field, every reserved bit, every reference is here, and it's giving complete ๐ โจ
๐ฆ where this page comes from
- ietf: rfc6776 2012-10
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms