RFC 6990
RTP Control Protocol (RTCP) Extended Report (XR) Block for MPEG-2 Transport Stream (TS) Program Specific Information (PSI) Independent Decodability Statistics Metrics Reporting
RFC 6990 β¨ Part 1 of 3 π
Bestie, here's the vibe check on this one. It's an IETF Standards Track doc from August 2013 (ISSN 2070-1721), written by R. Huang, Q. Wu (both Huawei), H. Asaeda (NICT), and G. Zorn (Network Zen) π. The title is RTP Control Protocol (RTCP) Extended Report (XR) Block for MPEG-2 Transport Stream (TS) Program Specific Information (PSI) Independent Decodability Statistics Metrics Reporting π¦. The title block doesn't list anything it obsoletes or updates π.
Abstract πΈ
okay so MPEG-2 Transport Stream (TS) is a standard container format for multimedia data, whether it's being sent or stored π¦. Unicast and multicast MPEG-2 TS over RTP is already everywhere in IPTV systems πΊπ₯. This doc defines an RTP Control Protocol (RTCP) Extended Report (XR) block that lets you report MPEG-2 TS decodability statistics metrics for transmissions over RTP π . The metrics in that XR block don't depend on the Program Specific Information (PSI) carried inside the MPEG-2 TS π§.
Status of This Memo π
This is an Internet Standards Track document π.
It's a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community π«Ά. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG) β¨. For more on Internet Standards, check Section 2 of RFC 5741 π.
Info about the current status of this doc, any errata, and how to send feedback is over at http://www.rfc-editor.org/info/rfc6990 π.
Copyright Notice π¦
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved π.
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stood on the publication date π. Please read these carefully, because they spell out your rights and restrictions for this doc π. Code Components pulled from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License π.
Table of Contents π§
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. MPEG-2 Transport Stream Decodability Metrics . . . . . . 3
1.2. RTCP and RTCP Extended Reports . . . . . . . . . . . . . 3
1.3. Performance Metrics Framework . . . . . . . . . . . . . . 3
1.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 4
2. Standards Language . . . . . . . . . . . . . . . . . . . . . 4
3. MPEG-2 TS PSI-Independent Decodability Statistics Metrics
Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1. SDP rtcp-xr Attribute Extension . . . . . . . . . . . . . 8
4.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . 8
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
5.1. New RTCP XR Block Type Value . . . . . . . . . . . . . . 8
5.2. New RTCP XR SDP Parameter . . . . . . . . . . . . . . . . 9
5.3. Contact Information for Registrations . . . . . . . . . . 9
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
8.1. Normative References . . . . . . . . . . . . . . . . . . 9
8.2. Informative References . . . . . . . . . . . . . . . . . 10
1. Introduction β¨
1.1. MPEG-2 Transport Stream Decodability Metrics π
The European Telecommunications Standards Institute (ETSI) defined a set of syntax and information consistency tests, plus corresponding indicators [ETSI], that are recommended for monitoring MPEG-2 Transport Streams [ISO-IEC.13818-1.2013] πΊ. The tests and indicators are grouped by priority π :
- First priority: necessary for decodability (basic monitoring) π₯
- Second priority: recommended for continuous or periodic monitoring πΈ
- Third priority: recommended for application-dependent monitoring π
This memo builds on the information consistency tests and resulting indicators that ETSI defined [ETSI] π§ . It adds a new block type, on top of the ones in [RFC3611], for use with MPEG-2 Transport Stream (TS) [ISO-IEC.13818-1.2013] π¦. The new block type reports how many times each PSI-independent indicator occurred, for the first and second priorities π. Third priority indicators aren't supported π.
1.2. RTCP and RTCP Extended Reports π
RTCP reporting is defined in [RFC3550] π‘. [RFC3611] set up an extensible structure for reporting with an RTCP Extended Report (XR) π§. This document adds a new Extended Report block to use with [RFC3550] and [RFC3611] β¨.
1.3. Performance Metrics Framework π
"Guidelines for Considering New Performance Metric Development" [RFC6390] gives guidance on defining and specifying performance metrics π. "Guidelines for Use of the RTP Monitoring Framework" [RFC6792] gives guidance on the reporting block format using RTCP XR π. The new report block in this memo complies with the monitoring architecture in [RFC6792] and the performance metrics framework in [RFC6390] π.
1.4. Applicability π
This block type lets an endpoint report a count of MPEG-2 Transport Stream quality metrics that are measured according to ETSI TR 101290 [ETSI] π₯. These metrics help identify bitstream packetization and transport stream encoding problems that might affect the user's perception of a video service delivered over RTP π.
2. Standards Language π«Ά
okay so the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be read as described in RFC 2119 [RFC2119] πβ¨
3. MPEG-2 TS PSI-Independent Decodability Statistics Metrics Block β¨
Okay so, ETSI TR 101290 [ETSI] is the big reference for error-event metrics, and this document is basically a fan club for counting those metrics π It defines a block that reports MPEG-2 TS PSI-independent decodability statistics, measured at the receiving end of the RTP stream, on top of what the standard RTCP packet format already carries π§ That's eight metrics from ETSI TR 101290 [ETSI], split into two groups. The first group is the basic stuff you need so the TS can be decoded at all:
- Transport Stream Synchronization Losses
- Sync byte errors
- Continuity count errors
The second group is the continuous stuff you need to keep decoding smoothly:
- Transport errors
- Program Clock Reference (PCR) errors
- PCR repetition errors
- PCR discontinuity indicator errors
- PCR accuracy errors
- Presentation Time Stamp (PTS) errors
The other parameters get left out because they don't apply to every MPEG-2 implementation π If you want the full tea on these, go read [ETSI]. One lowkey important thing: when one report covers more than one measurement interval [RFC6776], a count like Sync byte errors or the PCR errors (defined in [ETSI]) might be reflecting a problem from the current interval or the previous one. Plan your debugging accordingly, bestie π
The MPEG-2 TS PSI-Independent Decodability Statistics Metrics Block looks like this:
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=22 | Reserved | Block Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of Source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| begin_seq | end_seq |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS_sync_loss_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sync_byte_error_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Continuity_count_error_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Transport_error_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PCR_error_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PCR_repetition_error_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PCR_discontinuity_indicator_error_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PCR_accuracy_error_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PTS_error_count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Block Type (BT): 8 bits
This block is identified by the constant 22, so you'll always know it's this one π¦
Reserved: 8 bits
These bits are reserved. They MUST be set to zero by senders and ignored by receivers (see [RFC6709] Section 4.2).
Block Length: 16 bits
It's the constant 11, matching how RFC 3611 defines this field in Section 3 of RFC 3611. The block MUST be discarded if the block length is set to a different value. No exceptions, no vibes-based parsing π ββοΈ
Synchronization source (SSRC) of Source: 32 bits
This is defined in Section 4.1 of RFC 3611 πΈ
begin_seq: 16 bits
This is the RTP sequence number at the start of the measurement period, as defined in Section 4.1 of RFC 3611 β¨
end_seq: 16 bits
This is the RTP sequence number at the end of the measurement period, as defined in Section 4.1 of RFC 3611 β¨
TS_sync_loss_count: 32 bits
This counts the TS_sync_loss errors that happened within the sequence number interval above. A TS_sync_loss error happens when there are two or more consecutive incorrect sync bytes within the MPEG-2 TS, as defined in Section 5.2.1 of [ETSI] π
Sync_byte_error_count: 32 bits
This counts the Sync_byte_errors that happened within the sequence number interval above. A sync byte error happens when the sync byte isn't equal to 0x47 in any TS packet inside the MPEG-2 TS, as defined in Section 5.2.1 of [ETSI] π
Continuity_count_error_count: 32 bits
This counts the Continuity_count_errors that happened within the sequence number interval above. A Continuity_count_error happens when any of these faults show up within the MPEG-2 TS: incorrect packet order, a packet showing up more than twice, or a packet getting lost, as defined in Section 5.2.1 of [ETSI] π«Ά
Transport_error_count: 32 bits
This counts the Transport_errors that happened within the sequence number interval above. A Transport_error happens when an erroneous TS packet can't be corrected within the MPEG-2 TS, as defined in Section 5.2.2 of [ETSI] π₯
PCR_error_count: 32 bits
This counts the PCR_errors that happened within the sequence number interval above. A PCR_error happens if the primary clock reference (PCR) isn't seen for more than 100 ms within the MPEG-2 TS, as defined in Section 5.2.2 of [ETSI]. Also, the time interval between two consecutive PCR values should be no more than 40 ms π°οΈ
PCR_repetition_error_count: 32 bits
This counts the PCR_repetition_errors that happened within the sequence number interval above. A PCR_repetition_error happens when the time interval between two consecutive PCR values is more than 40 ms within the MPEG-2 TS, as defined in Section 5.2.2 of [ETSI] π
PCR_discontinuity_indicator_error_count: 32 bits
This counts the PCR_discontinuity_indicator_errors that happened within the sequence number interval above. A PCR_discontinuity_indicator_error happens if the time interval between two consecutive PCR values is more than 100 ms within the MPEG-2 TS, as defined in Section 5.2.2 of [ETSI] π
PCR_accuracy_error_count: 32 bits
This counts the PCR_accuracy_errors that happened within the sequence number interval above. A PCR_accuracy_error happens when the PCR accuracy of the selected program is outside the range of +/-500 ns within the MPEG-2 TS, as defined in Section 5.2.2 of [ETSI] β
PTS_error_count: 32 bits
This counts the PTS_errors that happened within the sequence number interval above. A PTS_error happens when the PTS repetition is more than 700 ms within the MPEG-2 TS, as defined in Section 5.2.2 of [ETSI]. Quick reminder: the PTS lives in the MPEG-2 TS and helps the decoder present the program on time, at the correct speed, and in sync π
4. SDP Signaling
RFC 3611 defines how to use the Session Description Protocol (SDP) [RFC4566] to signal RTCP XR blocks. Still, XR blocks MAY be used without prior signaling (see Section 5 of RFC 3611) π§
4.1. SDP rtcp-xr Attribute Extension
This session extends the SDP attribute "rtcp-xr" (defined in Section 5.1 of RFC 3611) with an extra "xr-format" value, so you can signal the use of the report block defined here π The ABNF [RFC5234] syntax looks like this:
xr-format =/ xr-tpid-block
xr-tpid-block = "ts-psi-indep-decodability"
4.2. Offer/Answer Usage
When SDP is used in an Offer/Answer context, the SDP Offer/Answer usage defined in [RFC3611] for unilateral "rtcp-xr" attribute parameters applies. For the detailed rules on Offer/Answer for unilateral parameters, check Section 5.2 of [RFC3611] π¨
5. IANA Considerations
New report block types for RTCP XR need IANA registration. For the general guidelines on IANA allocations for RTCP XR, look at Section 6.2 of RFC 3611 π
5.1. New RTCP XR Block Type Value
This document assigns block type value 22 in the IANA "RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry" to the "MPEG-2 Transport Stream PSI-Independent Decodability Statistics Metrics Block" π
5.2. New RTCP XR SDP Parameter
This document also registers the new parameter "ts-psi-indep-decodability" in the "RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry" π¦
5.3. Contact Information for Registrations
The contact information for registrations is:
Qin Wu (sunseawq@huawei.com)
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012
China
6. Security Considerations
β οΈ This section is serious business, bestie, so read it all π³
There might be a relationship between the reported error counters and contractual Service Level Agreements (SLAs). That means an attack could deliberately corrupt these counters, for example by RTP endpoints reporting false data, or by an attacker in the path modifying the data being reported. The fallout could be financial for the network operator, either from unneeded performance metrics or from penalty charges for SLA failure πΈ
One way to stop this kind of attack is to apply an authentication and integrity protection framework to the RTCP XR block. You can do that with the RTP profile that combines Secure RTP [RFC3711] and the Audio-Visual Profile with Feedback (AVPF) into Secure AVPF (SAVPF) [RFC5124] π
Besides that, the RTCP XR block in this document adds no new security considerations beyond the ones described in [RFC3611] π«Ά
7. Acknowledgements
Huge thanks to Ray van Brandenburg, Claire Bi, Colin Perkins, Roni Even, Dan Romascanu, Ali Begen, Alexey Melnikov, Bert Wijnen, Gonzalo Camarillo, Benoit Claise, and Alan Clark for the useful reviews and suggestions π
8. References
8.1. Normative References
[ETSI] ETSI, "Digital Video Broadcasting (DVB); Measurement
guidelines for DVB systems", Technical Report TR 101 290,
2001.
[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., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611, November
2003.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for
Real-time Transport Control Protocol (RTCP)-Based Feedback
(RTP/SAVPF)", RFC 5124, February 2008.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
8.2. Informative References β¨
okay so these are the informative ones, bestie, which means they're good background reading but not required to implement anything π«Άπ
[ISO-IEC.13818-1.2013] International Organization for Standardization, "Information technology - Generic coding of moving pictures and associated audio information: Systems", ISO International Standard 13818-1, May 2013. π¬
[RFC6390] Clark, A. and B. Claise, "Guidelines for Considering New Performance Metric Development", BCP 170, RFC 6390, October 2011. π
[RFC6709] Carpenter, B., Aboba, B., and S. Cheshire, "Design Considerations for Protocol Extensions", RFC 6709, September 2012. π§©
[RFC6776] Clark, A. and Q. Wu, "Measurement Identity and Information Reporting Using a Source Description (SDES) Item and an RTCP Extended Report (XR) Block", RFC 6776, October 2012. πͺͺβ¨
[RFC6792] Wu, Q., Hunt, G., and P. Arden, "Guidelines for Use of the RTP Monitoring Framework", RFC 6792, November 2012. π¦
Authors' Addresses π
Meet the squad who wrote this! Here are their addresses, copied exactly π«Ά
Rachel Huang
Huawei
101 Software Avenue, Yuhua District
Nanjing 210012
China
EMail: rachel.huang@huawei.com
Qin Wu
Huawei
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012
China
EMail: bill.wu@huawei.com
Hitoshi Asaeda
National Institute of Information and Communications Technology
4-2-1 Nukui-Kitamachi
Koganei, Tokyo 184-8795
Japan
EMail: asaeda@nict.go.jp
Glen Zorn
Network Zen
227/358 Thanon Sanphawut
Bang Na, Bangkok 10260
Thailand
Phone: +66 (0) 8-1000-4155
EMail: glenzorn@gmail.com
That's the whole RFC, bestie! ππ You made it through the entire spec, and honestly that's giving main character energy π π₯
π¦ where this page comes from
- ietf: rfc6990 2013-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms