RFC 7380

RTP Control Protocol (RTCP) Extended Report (XR) Block for MPEG2 Transport Stream (TS) Program Specific Information (PSI) Decodability Statistics Metrics Reporting

πŸ“… published November 2014, from ietf

RFC 7380 πŸ’– Title Block Tea β˜•

RTP Control Protocol (RTCP) Extended Report (XR) Block for MPEG2 Transport Stream (TS) Program Specific Information (PSI) Decodability Statistics Metrics Reporting

Request for Comments: 7380 πŸŽ€ Category: Standards Track πŸ¦‹ ISSN: 2070-1721 🌈 Date: November 2014 πŸ“…

Authors: J. Tong (China Telecom), C. Bi, Ed. (China Telecom), R. Even (Huawei), Q. Wu, Ed. (Huawei), R. Huang (Huawei) πŸ‘‘

Obsoletes and updates: the title block doesn't list any RFCs this one obsoletes or updates, so there's nothing to add here ✨


Abstract πŸ¦‹

Okay so, an MPEG2 Transport Stream (TS) is a standard container format for moving and storing multimedia data, and it's literally everywhere. Unicast and multicast MPEG2 TS over RTP is widely deployed in IPTV systems, so this stuff is a big deal πŸ’…. This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that lets you report MPEG2 TS decodability statistics metrics for transmissions of MPEG2 TS over RTP. The metrics in this block are all about Program Specific Information (PSI) carried in MPEG TS. Iconic, honestly πŸ”₯.


Status of This Memo πŸ’…

This one is an Internet Standards Track document, bestie ✨.

It's a product of the Internet Engineering Task Force (IETF), which means 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 out Section 2 of RFC 5741 🌸.

Info about the current status of this document, any errata, and how to send feedback lives at http://www.rfc-editor.org/info/rfc7380 πŸ”—.


Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. The vibes are protected πŸ’œ.

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, because they spell out your rights and restrictions with respect to this document, and you don't want to be surprised 😭.

Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions. They're provided without warranty, as described in the Simplified BSD License. So yes, the code comes with a little disclaimer, no cap 🧚.


Table of Contents 🌸

   1. Introduction ....................................................3
      1.1. MPEG2 Transport Stream Decodability Metrics ................3
      1.2. RTCP and RTCP XR Reports ...................................3
      1.3. Performance Metrics Framework ..............................3
      1.4. Applicability ..............................................3
   2. Terminology .....................................................4
      2.1. Standards Language .........................................4
   3. MPEG2 TS PSI Decodability Statistics Metrics Block ..............4
   4. SDP Signaling ...................................................8
      4.1. SDP rtcp-xr-attrib Attribute Extension .....................8
      4.2. Offer/Answer Usage .........................................8
      4.3. Usage Outside of Offer/Answer ..............................8
   5. IANA Considerations .............................................9
      5.1. New RTCP XR Block Type Value ...............................9
      5.2. New RTCP XR SDP Parameter ..................................9
      5.3. Contact Information for Registrations ......................9
   6. Security Considerations .........................................9
   7. References ......................................................9
      7.1. Normative References .......................................9
      7.2. Informative References ....................................10
  Authors' Addresses .................................................11

1. Introduction ✨

1.1. MPEG2 Transport Stream Decodability Metrics

So, the European Telecommunications Standards Institute (ETSI) put together a set of syntax and information consistency tests, plus matching indicators [ETSI], that are recommended for monitoring MPEG2 Transport Streams [ISO-IEC.13818-1.2007]. Those tests and indicators are sorted into priorities:

  • First priority: Necessary for decodability (basic monitoring) πŸ’–
  • Second priority: Recommended for continuous or periodic monitoring 🌈
  • Third priority: Recommended for application-dependent monitoring πŸ“

This memo defines a brand new block type for MPEG2 Transport Streams [ISO-IEC.13818-1.2007], and it's designed to level up the blocks already defined in [RFC3611] πŸ¦‹. The new block type reports how many times each Program Specific Information (PSI) indicator shows up in the first and second priorities, which are listed in Sections 5.2.1 and 5.2.2, respectively, of [ETSI]. The third priority indicators are not supported, sorry not sorry πŸ™ˆ. The metrics here also supplement information from the PSI-Independent Decodability Statistics Metrics Block [RFC6990], so they work as a team 🫢.

1.2. RTCP and RTCP XR Reports

RTCP reporting is defined in [RFC3550]. [RFC3611] then gives us an extensible structure for reporting with an RTCP Extended Report (XR). This document adds a new Extended Report block for use with [RFC3550] and [RFC3611], so it slots right in πŸ’….

1.3. Performance Metrics Framework

The Performance Metrics Framework [RFC6390] gives guidance on defining and specifying performance metrics, which is very important, bestie πŸ“š. The RTP Monitoring Architectures [RFC6792] gives guidelines for RTCP XR block formats. The new report block in this memo follows the monitoring architecture in [RFC6792] and the Performance Metrics Framework [RFC6390], so it's totally on brand πŸ‘‘.

1.4. Applicability

These metrics apply to any type of RTP application that uses the MPEG2 TS standard format for multimedia data. For example, that could be MPEG4 over MPEG2 TS over RTP 🎬. This new block type can be really useful for measuring content stream or TS quality by checking TS header information [ETSI]. It also helps identify the existence (and characterize the severity) of bitstream packetization problems, and those problems can affect how users perceive a service delivered over RTP. Honestly, it's giving main character energy πŸ’€βœ¨. It may also be useful for verifying that an existing system management tool keeps operating correctly 🧚.


2. Terminology πŸŽ€

2.1. Standards Language

Here's the vibe check on the key words. 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]. Important stuff, so don't skip it 🫢.

3. MPEG2 TS PSI Decodability Statistics Metrics Block ✨

okay so ETSI TR 101 290 [ETSI] defines the indicators for error events, and the XR block in this document is where we count how often those [ETSI] indicators actually happen πŸ”₯. This block reports MPEG2 TS PSI decodability stats on top of what the standard RTCP packet format and the PSI-Independent Decodability Statistics Metrics Block [RFC6990] already carry, all measured at the receiving end of the RTP stream πŸ¦‹. It holds counts of seven metrics from ETSI TR 101 290 [ETSI]. The basic monitoring stuff you need so the TS can be decoded gets reported:

  • Program Association Table (PAT) errors
  • PAT2 errors
  • Program Map Table (PMT) errors
  • PMT2 errors
  • Packet Identifier (PID) errors

Then there's the continuous monitoring stuff, which keeps the decoding going:

  • Cyclic Redundancy Check (CRC) errors
  • Conditional Access Table (CAT) errors

Quick tea β˜•: PAT2 errors and PMT2 errors are literally replacements for and upgrades on PAT errors and PMT errors, so they're the ones to prefer in future implementations πŸ’…. Also, the numbers for some of these (like PAT or PMT errors) can change depending on whether scrambling is in use πŸ™ˆ. The other parameters in Section 5 of [ETSI] get ignored, since they don't apply to every MPEG2 implementation. For the full details, go check [ETSI] πŸ’œ.

The MPEG2 TS PSI Decodability Metrics Block has this layout:

    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=32    |    Reserved   |         block length          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     SSRC of source                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          begin_seq            |             end_seq           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        PAT_error_count        |      PAT_error_2_count        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        PMT_error_count        |      PMT_error_2_count        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       PID_error_count         |      CRC_error_count          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        CAT_error_count        |        Reserved               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

block type (BT): 8 bits

The MPEG2 TS PSI Decodability Metrics Block is identified by the constant 32;.

Reserved: 8 bits

These bits are reserved. They MUST be set to zero by senders ignored by receivers (see Section 4.2 of [RFC6709]).

block length: 16 bits

The constant 6, in line with how this field is defined in Section 3 of [RFC3611]. The block MUST be discarded if the block length is set to a different value.

Synchronization Source (SSRC) of source: 32 bits

As defined in Section 4.1 of [RFC3611].

begin_seq: 16 bits

As defined in Section 4.1 of [RFC3611].

end_seq: 16 bits

As defined in Section 4.1 of [RFC3611].

PAT_error_count: 16 bits

A count of the number of PAT errors that happened in the above sequence number interval. The Program Association Table (PAT) is the only packet with Packet Identifier (PID) 0x0000. A PAT error happens when (1) a packet with PID 0x0000 doesn't show up at least every 0.5 seconds, (2) a packet with PID 0x0000 doesn't contain table_id 0x00 (i.e., a PAT), or (3) the Scrambling_control_field in the TS packet header isn't 00 for a packet with PID 0x0000. See Section 5.2.1 of [ETSI]. Every program in the MPEG TS stream is listed in the PAT, so if it's missing, no programs can be decoded 😭.

The measured value is an unsigned value. If the measurement is unavailable, then the value 0xFFFF MUST be reported. NOTE 1 of the table in Section 5.2.1 of [ETSI] recommends using PAT_error_2_count. Upon reception, if PAT_error_2_count is available (that is, other than 0xFFFF), then receivers MUST ignore PAT_error_count.

PAT_error_2_count: 16 bits

A count of the number of PAT2 errors that happened in the above sequence number interval. A PAT2 error happens when (1) a packet with PID 0x0000 containing table_id 0x00 doesn't show up at least every 0.5 seconds, (2) a packet with PID 0x0000 contains a table with a table_id other than 0x00, or (3) the Scrambling_control_field in the TS packet header isn't 00 for a packet with PID 0x0000. See Section 5.2.1 of [ETSI].

The measured value is an unsigned value. If the measurement is unavailable, then the value 0xFFFF MUST be reported.

PMT_error_count: 16 bits

A count of the number of PMT errors that happened in the above sequence number interval. A PMT_error happens when (1) a packet containing a table with table_id 0x02 (i.e., a PMT) doesn't show up at least every 0.5 seconds on the PID that's referred to in the PAT, or (2) the Scrambling_control_field in the TS packet header isn't 00 for all packets with PID containing a table with table_id 0x02 (i.e., a PMT). See Section 5.2.1 of [ETSI].

The measured value is an unsigned value. If the measurement is unavailable, the value 0xFFFF MUST be reported. NOTE 2 of the table in Section 5.2.1 of [ETSI] recommends using PMT_error_2_count. Upon reception, if PMT_error_2_count is available (that is, other than 0xFFFF), then receivers MUST ignore PMT_error_count.

PMT_error_2_count: 16 bits

A count of the number of PMT2 errors that happened in the above sequence number interval. A PMT2_error happens when (1) a packet containing table_id 0x02 (i.e., a PMT) doesn't show up at least every 0.5 seconds on each program_map_PID that's referred to in the PAT, or (2) the Scrambling_control_field in the TS packet header isn't 00 for all packets containing a table with table_id 0x02 (i.e., a PMT) on each program_map_PID that's referred to in the PAT. See Section 5.2.1 of [ETSI].

The measured value is an unsigned value. If the measurement is unavailable, then the value 0xFFFF MUST be reported.

PID_error_count: 16 bits

A count of the number of PID errors that happened in the above sequence number interval. A PID error happens when no data stream is present for a given PID. This can be caused by multiplexing or demultiplexing, then remultiplexing. See Section 5.2.1 of [ETSI].

The measured value is an unsigned value. If the measurement is unavailable, then the value 0xFFFF MUST be reported.

CRC_error_count: 16 bits

A count of the number of CRC errors that happened in the above sequence number interval. A CRC_error happens if data corruption shows up in any of these tables: CAT, PAT, PMT, Network Information Table (NIT), Event Information Table (EIT), Bouquet Association Table (BAT), Service Description Table (SDT), or Time Offset Table (TOT), as defined in Section 5.2.2 of [ETSI].

The measured value is an unsigned value. If the measurement is unavailable, then the value 0xFFFF MUST be reported.

CAT_error_count: 16 bits

A count of the number of CAT errors that happened in the above sequence number interval. A CAT_error happens when (1) a packet with PID 0x0001 contains a table with a table_id other than 0x01 (i.e., not a CAT), or (2) a packet doesn't contain a table with table_id = 0x01 (i.e., a CAT) when scrambling is in use (i.e., the Scrambling_control_field is set to a value other than 00). See Section 5.2.2 of [ETSI].

The measured value is an unsigned value. If the measurement is unavailable, then the value 0xFFFF MUST be reported.

Reserved: 16 bits

These bits are reserved. They MUST be set to zero by senders ignored by receivers (see Section 4.2 of [RFC6709]).


4. SDP Signaling πŸŽ€

[RFC3611] defines how to use the Session Description Protocol (SDP) [RFC4566] to signal the use of RTCP XR blocks. However, XR blocks MAY be used without prior signaling (see Section 5 of [RFC3611]) 🌸.

4.1. SDP rtcp-xr-attrib Attribute Extension

This session augments the SDP attribute "rtcp-xr" defined in Section 5.1 of [RFC3611] by adding a new value of "xr-format" to signal the use of the report block defined in this document. The ABNF [RFC5234] syntax is as follows:

xr-format =/  xr-tpd-block

xr-tpd-block = "ts-psi-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 detailed usage of Offer/Answer for unilateral parameters, refer to Section 5.2 of [RFC3611] 🧚.

4.3. Usage Outside of Offer/Answer

For usage outside of Offer/Answer, refer to Section 5.3 of [RFC3611] πŸ’œ.


5. IANA Considerations πŸ“‹

New report block types for RTCP XR are subject to IANA registration. For general guidelines on IANA allocations for RTCP XR, refer to Section 6.2 of [RFC3611] πŸ¦‹.

5.1. New RTCP XR Block Type Value

This document assigns the block type value 32 "MPEG2 Transport Stream PSI Decodability Statistics Metrics Block" in the "RTCP XR Block Type" subregistry of the IANA "RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry".

5.2. New RTCP XR SDP Parameter

This document also registers a new parameter "ts-psi-decodability" in the "RTCP XR SDP Parameters" subregistry of the "RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry".

5.3. Contact Information for Registrations

The contact information for the registrations is:

RAI Area Directors <rai-ads@tools.ietf.org>


6. Security Considerations πŸ”

This proposed RTCP XR block introduces no new security considerations beyond those described in [RFC3611] and [RFC6990]. Still, keep your eyes open, bestie πŸ‘€πŸ’€.


7. References πŸ“š

7.1. Normative References

7.2. Informative References ✨

Okay bestie, this is the "good to know but not required to build it" list πŸ“š These are the background reads that help you understand the bigger picture, and they're all listed below, complete πŸ’…

[ISO-IEC.13818-1.2007]
           ISO/IEC, "Information technology - Generic coding of
           moving pictures and associated audio information - Part 1:
           Systems", ISO International Standard 13818-1, 2013.

[RFC6390]  Clark, A. and B. Claise, "Guidelines for Considering New
           Performance Metric Development", BCP 170, RFC 6390,
           October 2011, <http://www.rfc-editor.org/info/rfc6390>.

[RFC6709]  Carpenter, B., Aboba, B., and S. Cheshire, "Design
           Considerations for Protocol Extensions", RFC 6709,
           September 2012, <http://www.rfc-editor.org/info/rfc6709>.

[RFC6792]  Wu, Q., Hunt, G., and P. Arden, "Guidelines for Use of the
           RTP Monitoring Framework", RFC 6792, November 2012,
           <http://www.rfc-editor.org/info/rfc6792>.

[RFC6990]  Wu, Q., "RTP Control Protocol (RTCP) Extended Report (XR)
           Block for MPEG2 Transport Stream (TS) Program Specific
           Information (PSI) Independent Decodability Statistics
           Metrics reporting", RFC 6990, May 2013,
           <http://www.rfc-editor.org/info/rfc6990>.

Authors' Addresses πŸŽ€

Meet the squad who made this happen 🫢 Here's how to reach each of them, exactly as listed πŸ’Œ

Jiangang Tong
Shanghai Research Institute of China Telecom Corporation Limited
No. 1835, South Pudong Road
Shanghai  200122
China

EMail: tongjg@sttri.com.cn


Claire Bi (editor)
Shanghai Research Institure of China Telecom Corporation Limited
No. 1835, South Pudong Road
Shanghai  200122
China

EMail: bijy@sttri.com.cn


Roni Even
Huawei
14 David Hamelech
Tel Aviv  64953
Israel

EMail: roni.even@mail01.huawei.com


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

EMail: bill.wu@huawei.com


Rachel Huang
Huawei
101 Software Avenue, Yuhua District
Nanjing, Jiangsu  210012
China

EMail: rachel.huang@huawei.com

That's the whole thing, periodt πŸ’–βœ¨

πŸ“¦ where this page comes from