RFC 7266

RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Mean Opinion Score (MOS) Metric Reporting

๐Ÿ“… published June 2014, from ietf

RFC 7266: RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Mean Opinion Score (MOS) Metric Reporting ๐ŸŽ€

Okay so this is RFC 7266 ๐Ÿฆ‹, a Standards Track doc from June 2014, which means it's a real Internet standard and not just a suggestion ๐Ÿ’…. It has ISSN 2070-1721 and was published by the IETF. The authors are A. Clark (Telchemy), Q. Wu (Huawei), R. Schott (Deutsche Telekom), and G. Zorn (Network Zen). The header doesn't list anything it obsoletes or updates, so it's a brand new one ๐ŸŒธ.


Table of Contents ๐Ÿ“š

   1. Introduction ....................................................3
      1.1. MOS Metrics Report Block ...................................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. MOS Metrics Block ...............................................5
      3.1. Report Block Structure .....................................6
      3.2. Definition of Fields in MOS Metrics Block ..................6
           3.2.1. Single-Channel Audio/Video per SSRC Segment .........7
           3.2.2. Multi-Channel Audio per SSRC Segment ................9
   4. SDP Signaling ..................................................10
      4.1. SDP "rtcp-xr-attrib" Attribute Extension ..................10
      4.2. Offer/Answer Usage ........................................12
   5. IANA Considerations ............................................14
      5.1. New RTCP XR Block Type Value ..............................14
      5.2. New RTCP XR SDP Parameter .................................14
      5.3. The SDP "calgextmap" Attribute ............................14
      5.4. New Registry of Calculation Algorithms ....................15
   6. Security Considerations ........................................16
   7. Contributors ...................................................16
   8. Acknowledgements ...............................................17
   9. References .....................................................17
      9.1. Normative References ......................................17
      9.2. Informative References ....................................18
   Appendix A. Metrics Represented Using the RFC 6390 Template .......20

Abstract โœจ

Okay so this doc defines an RTP Control Protocol (RTCP) Extended Report (XR) Block ๐Ÿฆ‹. The block has two new segment types, plus some Session Description Protocol (SDP) parameters that go with them. Together they let you report mean opinion score (MOS) metrics for a whole range of RTP applications ๐ŸŽง.

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 give feedback on it can be found at http://www.rfc-editor.org/info/rfc7266 โœจ.

Copyright (c) 2014 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) as in effect on the date of publication of this document. Please read these documents carefully, because they explain your rights and restrictions for this document. Code Components pulled out of this document have to 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 ๐Ÿซถ.

1. Introduction โœจ

1.1. MOS Metrics Report Block ๐ŸŽ€

This document adds a brand new block type that sits alongside the ones defined in [RFC3611], and it's built for a bunch of different RTP applications ๐Ÿ’….

The new block type tells you about media quality using one of several standard metrics, like mean opinion score (MOS) ๐ŸŽง.

These metrics belong to the class of application-level metrics defined in [RFC6792] ๐Ÿฆ‹.

1.2. RTCP and RTCP XR Reports ๐ŸŒˆ

RTCP reporting is defined in [RFC3550]. RFC 3611 gave us an extensible structure for reporting with an RTCP Extended Report (XR). This document defines a new Extended Report block that works with [RFC3550] and [RFC3611] ๐Ÿซถ.

1.3. Performance Metrics Framework ๐Ÿงš

The Performance Metrics Framework [RFC6390] gives guidance on how to define and specify performance metrics. The RTP Monitoring Architectures document [RFC6792] gives guidelines for the report block format when you use RTCP XR. The XR block type described in this document follows the guidelines in [RFC6390] and [RFC6792] ๐Ÿ’œ.

1.4. Applicability ๐Ÿ“

The MOS Metrics Report Block can be used in any RTP application where QoE (Quality-of-Experience) measurement algorithms are defined โœจ.

Honestly, the stuff that affects real-time audio and video quality falls into two buckets ๐Ÿ™ˆ.

  • The first bucket is transport-specific factors, like packet loss, delay, and jitter (which also turns into losses in the playback buffer).
  • The second bucket is content- and codec-related factors, like codec type and loss recovery technique, coding bit rate, packetization scheme, and content characteristics.

Transport-specific factors alone may not be enough to figure out real-time media quality, because codec-related parameters and the way transport problems interact with application-layer protocols can have a big effect on what people actually experience ๐Ÿ˜ญ. Media quality can be measured with algorithms that directly compare the input and output media streams, or it can be estimated with algorithms that model how media quality, protocol, and encoded content interact. Media quality is usually expressed as a MOS, but it's also represented by a range of other indexes and scores ๐Ÿ’….

Measuring media quality is useful for a bunch of things ๐Ÿ’–.

  • Detecting problems with media delivery or encoding that hurt user-perceived quality.
  • Tuning the content encoder algorithm so it meets real-time data quality requirements.
  • Deciding which system techniques to use in a given situation, and when to switch from one technique to another as system parameters change (for example, as discussed in [G.1082]).
  • Prequalifying a network to see whether it can deliver an acceptable end-user-perceived quality level.

2. Terminology ๐ŸŒธ

2.1. Standards Language ๐Ÿ’…

Okay so the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this doc are to be read as described in RFC 2119 [RFC2119] ๐Ÿซถ.

Here's some notable terminology you'll see ๐ŸŽ€.

Numeric formats X:Y

X is the number of bits before the decimal place, and Y is the number of bits after it ๐Ÿ”ข.

So 8:8 is an unsigned number from 0.0 to 255.996, with a granularity of 0.0039. 0:16 is a proper binary fraction with a range of 0.0 to 1 - 1/65536 = 0.9999847. Heads up though, using flag values at the top of the numeric range knocks that upper limit down a little ๐Ÿ™ˆ. For example, if the 16-bit values 0XFFFE and 0XFFFF are used as flags for "over-range" and "unavailable" conditions, then a 0:16 quantity has a range of 0.0 to 1 - 3/65536 = 0.9999542 ๐Ÿ’€.

Calculation Algorithm

In this document, "Calculation Algorithm" just means the MOS or QoE estimation algorithm ๐Ÿงš.

3. MOS Metrics Block ๐Ÿฆ‹

A multimedia application MOS Metric is usually expressed as a MOS ๐Ÿ’–. The MOS is typically on a scale from 1 to 5, where 5 means excellent and 1 means unacceptable. It can use other ranges too, like 0 to 10 โœจ. The term "MOS" comes from subjective testing, and it refers to the mean of a bunch of individual opinion scores ๐ŸŽง. That's why there's a well-understood link between MOS and user experience, and why the industry commonly uses MOS as the scale for objective test results ๐Ÿ’…. Subjective tests can be used to measure live network traffic, but objective or algorithmic measurement techniques let you do much larger-scale measurements ๐ŸŒˆ. In this document, mean opinion scores come from objective or estimation algorithms ๐Ÿซถ. ITU-T or ITU-R recommendations (e.g., [BS.1387-1], [G.107], [G.107.1], [P.862], [P.862.1], [P.862.2], [P.863], [P.564], [G.1082], [P.1201.1], [P.1201.2], [P.1202.1], [P.1202.2]) define methodologies for assessing the performance of audio and video streams ๐Ÿ“š. Other international and national standards organizations, like EBU, ETSI, IEC, and IEEE, also define QoE algorithms and methodologies. This document doesn't want to restrict things to ITU recommendations, though. It just suggests that ITU recommendations be used wherever they're defined ๐Ÿ’œ.

This block reports media quality as a MOS range (e.g., 1-5, 0-10, or 0-100, as specified by the calculation algorithm) ๐Ÿ“. It does not report a MOS that includes parameters outside the scope of the RTP stream, like signaling performance, mean time to repair (MTTR), or other factors that might affect the overall user experience ๐Ÿ™ˆ.

The MOS Metric in this block gives a numerical indication of how the received media stream is perceived. This is usually measured at the receiving end of the RTP stream ๐ŸŽง. Instances of this Metrics Block point, by synchronization source (SSRC), to the separate auxiliary Measurement Information block [RFC6776], which describes the measurement periods in use (see RFC 6776, Section 4.2) โœจ.

This Metrics Block depends on the measurement period in the Measurement Information block to show the span of the report ๐ŸŒธ. Senders MUST send this block in the same compound RTCP packet as the Measurement Information block ๐Ÿซถ. Receivers MUST verify that the measurement period is received in the same compound RTCP packet as this Metrics Block. If it isn't, this Metrics Block MUST be discarded ๐Ÿ˜ญ.

3.1. Report Block Structure โœจ

okay so here's the layout of the MOS Metrics Block ๐ŸŽ€ it's giving very organized, bestie ๐Ÿ’…

    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=29     | I |  Reserved |       Block Length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        SSRC of source                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Segment  1                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Segment 2                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ..................
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Segment n                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.2. Definition of Fields in MOS Metrics Block ๐Ÿ’–

Block type (BT): 8 bits

The MOS Metrics Block is identified by the constant 29. ๐Ÿฆ‹

Interval Metric flag (I): 2 bits

This field tells you whether the MOS Metrics are Sampled, Interval, or Cumulative [RFC6792]:

  • I=10: Interval Duration ๐Ÿ• the reported value applies to the most recent measurement interval duration between successive metrics reports.
  • I=11: Cumulative Duration โณ the reported value applies to the accumulation period characteristic of cumulative measurements.
  • I=01: Sampled Value ๐Ÿ“ธ the reported value is a sampled instantaneous value.
  • I=00: Reserved

In this document, MOS Metrics MAY be reported for intervals or for the duration of the media stream (cumulative). The value I=01, indicating a sampled value, MUST NOT be sent and MUST be discarded when received. not me being strict about this one ๐Ÿ™ˆ

Reserved: 6 bits

This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and ignored by the receiver (see RFC 6709, Section 4.2). ๐ŸŒธ

Block Length: 16 bits

The length of this report block in 32-bit words, minus one. For the MOS Metrics Block, the block length is variable length. โœจ

SSRC of source: 32 bits

As defined in Section 4.1 of [RFC3611]. ๐Ÿซถ

Segment i: 32 bits

There are two segment types defined in this document: single-channel audio/video per SSRC segment and multi-channel audio per SSRC segment. Multi-channel audio per SSRC segment is used to deal with the case where multi-channel audio streams are carried in one RTP stream, while a single-channel audio/video per SSRC segment is used to deal with the case where each media stream is identified by SSRC and sent in separate RTP streams. The leftmost bit of the segment determines its type. If the leftmost bit of the segment is zero, then it is a single-channel segment. If the leftmost bit is one, then it is a multi-channel audio segment. Note that two segment types cannot be present in the same metric block. ๐Ÿ‘‘

3.2.1. Single-Channel Audio/Video per SSRC Segment ๐ŸŽง

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |S|     CAID      |    PT       |           MOS Value           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Segment Type (S): 1 bit

This field identifies the segment type used in this report block. A zero identifies this as a single-channel audio/video per SSRC segment. Single channel means there is only one media stream carried in one RTP stream. The single-channel audio/video per SSRC segment can be used to report the MOS value associated with the media stream identified by SSRC. If there are multiple media streams and they want to use the single-channel audio/video per SSRC segment to report the MOS value, they should be carried in the separate RTP streams with each identified by different SSRC. In this case, multiple MOS Metrics Blocks are required to report the MOS value corresponding to each media stream using single-channel audio/video per SSRC segment in the same RTCP XR packet. ๐Ÿฆ„

Calculation Algorithm ID (CAID) : 8 bits

The 8-bit CAID is the session specific reference to the calculation algorithm and associated qualifiers indicated in SDP (see Section 4.1) and used to compute the MOS score for this segment. ๐Ÿงฎ

Payload Type (PT): 7 bits

MOS Metrics reporting depends on the payload format in use. This field identifies the RTP payload type in use during the reporting interval. The binding between RTP payload types and RTP payload formats is configured via a signaling protocol, for example, an SDP offer/answer exchange. If the RTP payload type used is changed during an RTP session, separate reports SHOULD be sent for each RTP payload type, with corresponding measurement information blocks indicating the time period to which they relate. ๐ŸŽถ

Note that the use of this Report Block with MPEG Transport streams carried over RTP is undefined, as each MPEG Transport stream may use distinct audio or video codecs and the indication of the encoding of these is within the MPEG Transport stream and does not use RTP payloads. ๐Ÿ™ƒ

MOS Value: 16 bits

The estimated mean opinion score (MOS) for multimedia application performance is estimated using an algorithm that includes the impact of delay, loss, jitter and other impairments that affect media quality. This is an unsigned fixed-point 7:9 value representing the MOS, allowing the MOS score up to 127 in the integer part. MOS ranges are defined as part of the specification of the MOS estimation algorithm (Calculation Algorithm in this document), and are normally ranges like 1-5, 0-10, or 0-100. Two values are reserved: a value of 0xFFFE indicates that the measurement is out of range and a value of 0xFFFF indicates that the measurement is unavailable. Values outside of the range defined by the Calculation Algorithm, other than the two reserved values, MUST NOT be sent and MUST be ignored by the receiving system. ๐Ÿ“Š

3.2.2. Multi-Channel Audio per SSRC Segment ๐ŸŽผ

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |S|     CAID      |    PT       |CHID |        MOS Value        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Segment Type (S): 1 bit

This field identifies the segment type used in this report block. A one identifies this as a multi-channel audio segment. ๐ŸŽ™๏ธ

Calculation Algorithm ID (CAID) : 8 bits

The 8-bit CAID is the session specific reference to the calculation algorithm and associated qualifiers indicated in SDP (see Section 4.1) and used to compute the MOS score for this segment. ๐Ÿงฎ

Payload Type (PT): 7 bits

As defined in Section 3.2.1 of this document. ๐Ÿ”

Channel Identifier (CHID): 3 bits

If multiple channels of audio are carried in one RTP stream, each channel of audio will be viewed as an independent channel (e.g., left channel audio, right channel audio). This field identifies each channel carried in the same media stream. The default channel mapping follows the static ordering rule described in Section 4.1 of [RFC3551]. However, there are some payload formats that use different channel mappings, e.g., AC-3 audio over RTP [RFC4184] only follows the AC-3 channel order scheme defined in [ATSC]. Enhanced AC-3 audio over RTP [RFC4598] uses a dynamic channel transform mechanism. In order for the appropriate channel mapping to be determined, MOS metrics reports need to be tied to an RTP payload format. The reports should include the payload type of the reported media according to [RFC6792], so that it can be used to determine the appropriate channel mapping. ๐ŸŽš๏ธ

MOS Value: 13 bits

The estimated MOS for multimedia application performance is defined as including the effects of delay, loss, discard, jitter and other effects that would affect media quality. This is an unsigned fixed-point 7:6 value representing the MOS, allowing the MOS score up to 127 in the integer part. MOS ranges are defined as part of the specification of the MOS estimation algorithm (Calculation Algorithm in this document), and are normally ranges like 1-5, 0-10, or 0-100. Two values are reserved: a value of 0x1FFE indicates out of range and a value of 0x1FFF indicates that the measurement is unavailable. Values outside of the range defined by the Calculation Algorithm, other than the two reserved values, MUST NOT be sent and MUST be ignored by the receiving system. ๐Ÿ’œ

4. SDP Signaling ๐ŸŒˆ

[RFC3611] defines the use of SDP [RFC4566] for signaling the use of XR blocks. However, XR blocks MAY be used without prior signaling (see Section 5 of RFC 3611). ๐Ÿงš

4.1. SDP "rtcp-xr-attrib" Attribute Extension โœจ

okay so this section gives the SDP attribute "rtcp-xr" from [RFC3611] a glow-up ๐Ÿ’– by adding a brand new "xr-format" value, so you can signal that you want the report block from this document. Inside "xr-format", the syntax element "calgextmap" is an attribute as defined in [RFC4566]. It maps the local identifier (CAID) in the segment extension from Section 3.2 to the calculation algorithm. Specific extension attributes get defined by whatever spec defines a specific extension name, and there might be several of them ๐ŸŽ€. The ABNF [RFC5234] syntax looks like this:

xr-format =/ xr-mos-block
xr-mos-block = "mos-metric" ["=" calgextmap *("," calgextmap)]
calgextmap =  mapentry "=" extensionname [SP extentionattributes]
direction = "sendonly" / "recvonly" / "sendrecv" / "inactive"
mapentry = "calg:" 1*3DIGIT [ "/" direction ]
                       ; Values in the range 1-255 are valid
                       ; if needed, 0 can be used to indicate that
                       ; an algorithm is rejected
extensionname = "P564";ITU-T P.564 Compliant Algorithm [P.564]
              / "G107";ITU-T G.107 [G.107]
              / "G107_1";ITU-T G.107.1 [G.107.1]
              / "TS101_329";ETSI TS 101 329-5 Annex E [ ETSI]
              /"JJ201_1 ";TTC JJ201.1 [TTC]
              /"P1201_1";ITU-T P.1201.2 [P.1201.1]
              /"P1201_2";ITU-T P.1201.2 [P.1201.2]
              /"P1202_1";ITU-T P.1202.1 [P.1202.1]
              /"P1202_2";ITU-T P.1202.2 [P.1202.2]
              /"P.862.2";ITU-T P.862.2 [P.862.2]
              /"P.863"; ITU-T P.863 [P.863]
              / non-ws-string
extensionattributes = mosref
                    /attributes-ext
mosref =  "mosref=" ("l"; lower resolution
                     /"m"; middle resolution
                     / "h";higher resolution
                    / non-ws-string)
attributes-ext = non-ws-string
SP = <Defined in RFC 5234>
non-ws-string  = 1*(%x21-FF)

Each local identifier (CAID) of a calculation algorithm used in the segment defined in Section 3.2 gets mapped to a string using an attribute of this form:

a=calg:<value> [ "/"<direction> ] <name> [<extensionattributes>]

where <name> is a calculation algorithm name from the list above, and <value> is the local identifier (CAID) of the calculation algorithm associated with the segment defined in this document. It's an integer in the valid range, inclusive.

Example:

a=rtcp-xr:mos-metric=calg:1=G107,calg:2=P1202_1

A usable mapping MUST use IDs in the valid range, and each ID in this range MUST be unique and used only once for each stream or each channel in the stream. ๐Ÿ”ฅ

The mapping MUST be provided per media stream, in the media-level section(s) of SDP, so after an m= line ๐Ÿงš

The syntax element "mosref" refers to the media resolution relative reference, and it has three values: 'l', 'm', and 'h'. Think of it like this: narrowband (3.4 kHz) speech and Standard Definition (SD) or lower resolution video get 'l'. Super-wideband (>14 kHz) speech or higher, and High Definition (HD) or higher resolution video, get 'h'. Wideband speech (7 kHz) and video with a resolution between SD and HD get 'm' ๐Ÿ’…. The MOS reported in the MOS metrics block might vary with the MOS reference. For example, MOS values for narrowband, wideband, and super-wideband codecs occupy the same range, but they SHOULD be reported in different values. Same tea for video: MOS scores for SD resolution and HD resolution video also occupy the same ranges, and they SHOULD be reported in different values ๐Ÿซถ


4.2. Offer/Answer Usage ๐Ÿ“

When SDP is used in an offer/answer context, the SDP Offer/Answer usage defined in [RFC3611] applies. In that context, the signaling described above might be used in three ways:

  • asymmetric behavior (segment extensions sent in only one direction),
  • the offer of mutually exclusive alternatives, or
  • the offer of more segments than can be sent in a single session.

A direction attribute MAY be included in a "calgextmap". Without it, the direction implicitly inherits, of course, from the RTCP stream direction.

Segment extensions, with their directions, MAY be signaled for an "inactive" stream. An extension direction MUST be compatible with the stream direction. If a segment extension in the SDP offer is marked as "sendonly" and the answerer desires to receive it, the extension MUST be marked as "recvonly" in the SDP answer. An answerer that has no desire to receive the extension, or that does not understand the extension, SHOULD NOT include it in the SDP answer. ๐Ÿ™ˆ

If a segment extension is marked as "recvonly" in the SDP offer and the answerer desires to send it, the extension MUST be marked as "sendonly" in the SDP answer. An answerer that has no desire to send the extension, or is unable to, SHOULD NOT include it in the SDP answer.

If a segment extension is offered as "sendrecv", explicitly or implicitly, and asymmetric behavior is desired, the SDP MAY be modified to modify or add direction qualifiers for that segment extension. โœจ

A "mosref" attribute and "MOS Type" attribute MAY be included in a calgextmap. If they're not present, the "mosref" and "MOS Type" MUST be as defined in the QoE estimation algorithm referenced by the name attribute. For example, P.1201.1 [P.1201.1] indicates lower resolution is used, while P.1201.2 [P.1201.2] indicates higher resolution is used. They can also come from the payload type carried in the segment extension, for example EVRC-WB [RFC5188] indicates using Wideband Codec. Heads up though: not all payload types or MOS algorithm names indicate which resolution or MOS type to use ๐Ÿ‘‘. If an answerer receives an offer with a "mosref" attribute value it doesn't support (for example, the answerer only supports "l" and receives "h" from the offerer), the answer SHOULD reject the mosref attribute value offered by the offerer.

If the answerer wishes to reject a "mosref" attribute offered by the offerer, it sets identifiers associated with segment extensions in the answer to a value in the range 4096-4351. The rejected answer MUST contain a "mosref" attribute whose value is the value of the SDP offer.

Local identifiers in the valid range (inclusive) in an offer or answer must not be used more than once per media section. A session update MAY change the direction qualifiers of segment extensions under use. A session update MAY add or remove segment extension(s). Identifier values in the valid range MUST NOT be altered (remapped). ๐Ÿ’œ

If a party wishes to offer mutually exclusive alternatives, then multiple segment extensions with the same identifier in the (unusable) range 4096-4351 MAY be offered. The answerer SHOULD select at most one of the offered extensions with the same identifier, and remap it to a free identifier in the valid range for that extension so it becomes usable. Note that the two segment types defined in Section 3 are also exclusive alternatives ๐Ÿฆ‹

If more segment extensions are offered in the valid range, the answerer SHOULD choose those that are desired, and place the offered identifier value "as is" in the SDP answer.

Similarly, if more segment extensions are offered than can fit in the valid range, identifiers in the range 4096-4351 MAY be offered. The answerer SHOULD choose those that are desired and remap them to a free identifier in the valid range.

Note that the range 4096-4351 for these negotiation identifiers is deliberately restricted, so the range of valid identifiers can expand in the future. Segment extensions with an identifier outside the valid range cannot, of course, be used.

Example:

Note - port numbers, RTP profiles, payload IDs and rtpmaps, etc., have all been omitted for brevity.

The offer:

a=rtcp-xr:mos-metric=calg:4906=P1201_l,calg:4906=P1202_l, calg:
4907=G107

The answerer is interested in transmission P.1202.1 on a lower resolution application, but it doesn't support P.1201.1 on a lower resolution application at all. It is interested in transmission G.107. So it adjusts the declarations to:

a=rtcp-xr:mos-metric=calg:1=P1202_l,calg:2=G107

5. IANA Considerations ๐ŸŒธ

New block types for RTCP XR are subject to IANA registration. For general guidelines on IANA considerations for RTCP XR, refer to [RFC3611].

5.1. New RTCP XR Block Type Value

This document assigns the block type value 29 in the IANA "RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry" to the "MOS Metrics Block". ๐ŸŽ€

5.2. New RTCP XR SDP Parameter

This document also registers a new parameter "mos-metric" in the "RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry". ๐Ÿงš

5.3. The SDP "calgextmap" Attribute

This section contains the information required by [RFC4566] for an SDP attribute.

  • contact name, email address: RAI Area Directors <rai-ads@tools.ietf.org>
  • attribute name (as it will appear in SDP): calgextmap
  • long-form attribute name in English: calculation algorithm map definition
  • type of attribute (session level, media level, or both): both
  • whether the attribute value is subject to the charset attribute: not subject to the charset attribute
  • a one-paragraph explanation of the purpose of the attribute: This attribute defines the mapping from the local identifier (CAID) in the segment extension defined in Section 3.2 into the calculation algorithm name as documented in specifications and appropriately registered.
  • a specification of appropriate attribute values for this attribute: see RFC 7266.

5.4. New Registry of Calculation Algorithms ๐Ÿงฎโœจ

okay bestie, this section creates a brand new registry called "RTCP XR MOS Metric block - multimedia application Calculation Algorithm" ๐Ÿ’–. It's a subregistry of the "RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry" ๐ŸŽ€. It covers the multimedia session where each type of medium gets its own RTP stream, AND the session where multi-channel audio rides in one RTP stream ๐ŸŒˆ. The rules for this registry are below, so read up ๐Ÿซถ

  • The information required to support this assignment is an unambiguous definition of the new metric, covering the base measurements and how they are processed to generate the reported metric ๐Ÿ“
  • The review process for the registry is "Specification Required" as described in Section 4.1 of [RFC5226] ๐Ÿ”
  • Entries in the registry are identified by entry name and mapped to the local identifier (CAID) in the segment extension defined in Section 3.2 ๐Ÿฆ‹

Registration Template ๐Ÿ“

The following information must be provided with each registration:

  • Name: A string uniquely and unambiguously identifying the calculation algorithm for use in protocols ๐Ÿท๏ธ
  • Name Description: A valid Description of the calculation algorithm Name ๐Ÿ’…
  • Reference: The reference that defines the calculation algorithm corresponding to the Name and Name Description ๐Ÿ“š
  • Type: The media type to which the calculation algorithm is applied ๐ŸŽฌ

Initial Assignments ๐ŸŒธ

Initial assignments are as follows, and yes the table is giving everything ๐Ÿ˜ญ

Name       Name Description                  Reference     Type
=========  ================================  ==========    ====
P564       ITU-T P.564 Compliant Algorithm   [P.564]       voice
G107       ITU-T G.107                       [G.107]       voice
TS101_329  ETSI TS 101 329-5 Annex E         [ETSI]        voice
JJ201_1    TTC JJ201.1                       [TTC]         voice
G107_1     ITU-T G.107.1                     [G.107.1]     voice
P862       ITU-T P.862                       [P.862]       voice
P862_2     ITU-T P.862.2                     [P.862.2]     voice
P863       ITU-T P.863                       [P.863]       voice
P1201_1    ITU-T P.1201.1                    [P.1201.1]    multimedia
P1201_2    ITU-T P.1201.2                    [P.1201.2]    multimedia
P1202_1    ITU-T P.1202.1                    [P.1202.1]    video
P1202_2    ITU-T P.1202.2                    [P.1202.2]    video

6. Security Considerations ๐Ÿ”

okay this one is short and sweet ๐Ÿฅฐ The new RTCP XR blocks proposed in this document don't add any new security considerations beyond the ones already covered in [RFC3611] ๐Ÿ›ก๏ธโœจ


7. Contributors ๐Ÿ‘ฏโ€โ™€๏ธ

this document merges ideas from two documents that were both tackling the MOS Metric Reporting issue ๐Ÿ’œ the authors of those documents are listed below, in alphabetical order, and they're the real MVPs ๐Ÿ‘‘

Alan Clark <alan.d.clark@telchemy.com>
Geoff Hunt <r.geoff.hunt@gmail.com>
Martin Kastner <martin.kastner@telchemy.com>
Kai Lee <leekai@ctbri.com.cn>
Roland Schott <roland.schott@telekom.de>
Qin Wu <sunseawq@huawei.com>
Glen Zorn <gwz@net-zen.net>

8. Acknowledgements ๐Ÿ™๐ŸŒท

the authors gratefully acknowledge the comments and contributions made by Bruce Adams, Philip Arden, Amit Arora, Bob Biskner, Kevin Connor, Claus Dahm, Randy Ethier, Roni Even, Jim Frauenthal, Albert Higashi, Tom Hock, Shane Holthaus, Paul Jones, Rajesh Kumar, Keith Lantz, Mohamed Mostafa, Amy Pendleton, Colin Perkins, Mike Ramalho, Ravi Raviraj, Albrecht Schwarz, Tom Taylor, Bill Ver Steeg, David R. Oran, Ted Lemon, Benoit Claise, Pete Resnick, Ali Begen, and Hideaki Yamada ๐Ÿซถ๐Ÿ’– a whole squad of people who made this better, iconic behaviour โœจ


9. References ๐Ÿ“–

9.1. Normative References ๐Ÿ’Ž

[ATSC] Advanced Television Systems Committee, Inc., "Digital Audio Compression Standard (AC-3, E-AC-3) Revision B", ATSC Document A/52B, June 2005.

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

[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and Video Conferences with Minimal Control", STD 65, RFC 3551, July 2003.

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

[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006.

[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.

[RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.

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

9.2. Informative References ๐ŸŒŸ

[BS.1387-1] ITU-R, "Method for objective measurements of perceived audio quality", ITU-R Recommendation BS.1387-1, 1998-2001.

[ETSI] ETSI, "TIPHON Release 3; Technology Compliance Specification; Part 5: Quality of Service (QoS) measurement methodologies", ETSI TS 101 329-5 V1.1.1, November 2000.

[G.107] ITU-T, "The E Model, a computational model for use in transmission planning", ITU-T Recommendation G.107, February 2014.

[G.107.1] ITU-T, "Wideband E-model", ITU-T Recommendation G.107.1, December 2011.

[G.1082] ITU-T, "Measurement-based methods for improving the robustness of IPTV performance", ITU-T Recommendation G.1082, April 2009.

[P.1201.1] ITU-T, "Parametric non-intrusive assessment of audiovisual media streaming quality - Lower resolution application area", ITU-T Recommendation P.1201.1, October 2012.

[P.1201.2] ITU-T, "Parametric non-intrusive assessment of audiovisual media streaming quality - Higher resolution application area", ITU-T Recommendation P.1201.2, October 2012.

[P.1202.1] ITU-T, "Parametric non-intrusive bitstream assessment of video media streaming quality - Lower resolution application area", ITU-T Recommendation P.1202.1, October 2012.

[P.1202.2] ITU-T, "Parametric non-intrusive bitstream assessment of video media streaming quality - Higher resolution application area", ITU-T Recommendation P.1202.2, May 2013.

[P.564] ITU-T, "Conformance testing for narrowband Voice over IP transmission quality assessment models", ITU-T Recommendation P.564, November 2007.

[P.862] ITU-T, "Perceptual evaluation of speech quality (PESQ): An objective method for end-to-end speech quality assessment of narrow-band telephone networks and speech codecs", ITU-T Recommendation P.862, February 2001.

[P.862.1] ITU-T, "Mapping function for transforming P.862 raw result scores to MOS-LQO", ITU-T Recommendation P.862.1, November 2003.

[P.862.2] ITU-T, "Wideband extension to Recommendation P.862 for the assessment of wideband telephone networks and speech codecs", ITU-T Recommendation P.862.2, November 2007.

[P.863] ITU-T, "Perceptual objective listening quality assessment", ITU-T Recommendation P.863, January 2011.

[RFC4184] Link, B., Hager, T., and J. Flaks, "RTP Payload Format for AC-3 Audio", RFC 4184, October 2005.

[RFC4598] Link, B., "Real-time Transport Protocol (RTP) Payload Format for Enhanced AC-3 (E-AC-3) Audio", RFC 4598, July 2006.

[RFC5188] Desineni, H. and Q. Xie, "RTP Payload Format for the Enhanced Variable Rate Wideband Codec (EVRC-WB) and the Media Subtype Updates for EVRC-B Codec", RFC 5188, February 2008.

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

[RFC6792] Wu, Q., Ed., Hunt, G., and P. Arden, "Guidelines for Use of the RTP Monitoring Framework", RFC 6792, November 2012.

[TTC] Telecommunication Technology Committee, "A Method for Speech Quality Assessment for IP Telephony", TTC JJ-201.01 (Japan), November 2013, <http://www.ttc.or.jp/jp/document_list/pdf/j/STD/JJ-201.01v7.pdf>.

Appendix A. Metrics Represented Using the Template from RFC 6390 ๐Ÿฆ‹

okay so this appendix is basically a metrics cheat sheet, and each one is laid out using the RFC 6390 template ๐ŸŽ€ Every entry has the same fields, so you can compare them easily. The Method, Units, Measurement Point, Timing, Use, and Reporting fields mostly just point back to the main sections, so you can look up the details there. ๐Ÿ’…

a. MOS Value Metric

  • Metric Name: MOS in RTP
  • Metric Description: The estimated mean opinion score for multimedia application performance of the RTP stream is defined as including the effects of delay, loss, discard, jitter, and others on audio or video quality. ๐ŸŽงโœจ
  • Method of Measurement or Calculation: See Section 3.2.1, MOS value definition.
  • Units of Measurement: See Section 3.2.1, MOS value definition.
  • Measurement Point(s) with Potential Measurement Domain: See Section 3, second paragraph.
  • Measurement Timing: See Section 3, third paragraph for measurement timing and Section 3.1 for Interval Metric flag.
  • Use and applications: See Section 1.4.
  • Reporting model: See RFC 3611.

b. Segment Type Metric

  • Metric Name: Segment Type in RTP
  • Metric Description: It is used to identify the segment type of RTP stream used in this report block. For more details, see Section 3.2.1, Segment type definition. ๐Ÿงฉ
  • Method of Measurement or Calculation: See Section 3.2.1, Segment Type definition.
  • Units of Measurement: See Section 3.2.1, Segment Type definition.
  • Measurement Point(s) with Potential Measurement Domain: See Section 3, second paragraph.
  • Measurement Timing: See Section 3, third paragraph for measurement timing and Section 3.1 for Interval Metric flag.
  • Use and applications: See Section 1.4.
  • Reporting model: See RFC 3611.

c. Calculation Algorithm Identifier Metric

  • Metric Name: RTP Stream Calculation Algorithm Identifier
  • Metric Description: It is the local identifier of RTP Stream calculation Algorithm associated with this segment in the range 1-255 (inclusive). ๐Ÿ”ข๐ŸŒธ
  • Method of Measurement or Calculation: See Section 3.2.1, Calculation Algorithm ID definition.
  • Units of Measurement: See Section 3.2.1, Calg Algorithm ID definition.
  • Measurement Point(s) with Potential Measurement Domain: See Section 3, second paragraph.
  • Measurement Timing: See Section 3, third paragraph for measurement timing and Section 3.1 for Interval Metric flag.
  • Use and applications: See Section 1.4.
  • Reporting model: See RFC 3611.

d. Payload Type Metric

  • Metric Name: RTP Payload Type
  • Metric Description: It is used to identify the format of the RTP payload. For more details, see Section 3.2.1, payload type definition. ๐Ÿ“ฆ
  • Method of Measurement or Calculation: See Section 3.2.1, Payload type definition.
  • Units of Measurement: See Section 3.2.1, Payload type definition.
  • Measurement Point(s) with Potential Measurement Domain: See Section 3, second paragraph.
  • Measurement Timing: See Section 3, third paragraph for measurement timing and Section 3.1 for Interval Metric flag.
  • Use and applications: See Section 1.4.
  • Reporting model: See RFC 3611.

e. Channel Identifier Metric

  • Metric Name: Audio Channel Identifier in RTP
  • Metric Description: It is used to identify each audio channel carried in the same RTP stream. For more details, see Section 3.2.2, channel identifier definition. ๐ŸŽถ
  • Method of Measurement or Calculation: See Section 3.2.2, Channel Identifier definition.
  • Units of Measurement: See Section 3.2.2, Channel Identifier definition.
  • Measurement Point(s) with Potential Measurement Domain: See Section 3, second paragraph.
  • Measurement Timing: See Section 3, third paragraph for measurement timing and Section 3.1 for Interval Metric flag.
  • Use and applications: See Section 1.4.
  • Reporting model: See RFC 3611.

Authors' Addresses ๐Ÿซถ

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

EMail: alan.d.clark@telchemy.com


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

EMail: sunseawq@huawei.com


Roland Schott
Deutsche Telekom
Heinrich-Hertz-Strasse 3-7
Darmstadt  64295
Germany

EMail: Roland.Schott@telekom.de


Glen Zorn
Network Zen
77/440 Soi Phoomjit, Rama IV Road
Phra Khanong, Khlong Toie
Bangkok  10110
Thailand

Phone: +66 (0) 87 502 4274
EMail: gwz@net-zen.net

That's the whole RFC, bestie! ๐ŸŒˆ๐Ÿ‘‘ The authors really did the most with this one. โœจ

๐Ÿ“ฆ where this page comes from