rfc-7266

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

A. Clark, Q. Wu, R. Schott, G. Zorn
date2014-06 streamIETF areaart wgxrblock statusPROPOSED STANDARD pages23 canonicalhttps://www.rfc-editor.org/rfc/rfc7266 doi10.17487/RFC7266
This document defines an RTP Control Protocol (RTCP) Extended Report (XR) Block including two new segment types and associated Session Description Protocol (SDP) parameters that allow the reporting of mean opinion score (MOS) Metrics for use in a range of RTP applications.

Extracted elements (27)

design-rationale §4.1

The CAID is a session-local identifier (not a globally registered value) mapped to a named algorithm via SDP, so that multiple MOS algorithms can be in use simultaneously within a session without requiring a globally unique numeric space for algorithms. This allows flexible per-session algorithm negotiation.

rtp, realtime

design-rationale §4.2

The negotiation identifier range 4096-4351 is deliberately restricted to allow future expansion of the valid identifier range (1-255). Identifiers in this range are only usable for SDP offer/answer negotiation of mutually exclusive alternatives and must be remapped to the valid range before use.

rtp, realtime

design-rationale §3.2

Two distinct segment types (single-channel per SSRC and multi-channel per SSRC) are defined to handle two deployment models: separate RTP streams per media channel (identified by SSRC) versus multi-channel audio multiplexed into one RTP stream. The segment type bit (S) allows both to coexist in the same block structure, though they cannot be mixed within a single block.

rtp, realtime

interoperability-note §4.2

An answerer that has no desire to receive a segment extension or does not understand it SHOULD NOT include it in the SDP answer. Similarly, an answerer unable to send a 'recvonly' extension SHOULD NOT include it in the answer.

rtp, realtime

interoperability-note §3.2.1

Use of the MOS Metrics Report Block with MPEG Transport streams carried over RTP is explicitly undefined, because each MPEG Transport stream may use distinct audio or video codecs encoded within the transport stream rather than signaled via RTP payload types.

rtp, realtime

normative-requirement §4.1 MUST

A usable CAID mapping MUST use IDs in the valid range (1-255), each ID MUST be unique and used only once per stream or channel. The mapping MUST be provided per media stream in the media-level section of SDP.

rtp, realtime

normative-requirement §4.2 MUST NOT

Identifier values in the valid CAID range MUST NOT be altered (remapped) during a session update. A session update MAY change direction qualifiers or add/remove segment extensions.

rtp, realtime

normative-requirement §4.2 MUST

If a party wishes to reject a 'mosref' attribute offered by the offerer, it MUST set identifiers associated with segment extensions in the answer to values in the range 4096-4351, and the rejected answer MUST contain a 'mosref' attribute whose value is the value of the SDP offer.

rtp, realtime

normative-requirement §4.2 MUST

If a segment extension in an SDP offer is marked 'sendonly' and the answerer desires to receive it, the extension MUST be marked 'recvonly' in the SDP answer. Extension direction MUST be compatible with the stream direction.

rtp, realtime

normative-requirement §3.2.1 SHOULD

If the RTP payload type changes during an RTP session, separate MOS reports SHOULD be sent for each RTP payload type, with corresponding measurement information blocks indicating the time period to which they relate.

rtp, realtime

normative-requirement §3.2.1 MUST NOT

MOS Value fields MUST NOT send values outside the range defined by the Calculation Algorithm (other than the two reserved flag values), and receiving systems MUST ignore such out-of-range values.

rtp, realtime

normative-requirement §4.1 SHOULD

MOS values for narrowband, wideband, and super-wideband codecs occupy the same numerical range but SHOULD be reported separately using the 'mosref' attribute (l/m/h resolution). Similarly, SD and HD video MOS scores SHOULD be reported in different values.

rtp, realtime

normative-requirement §3 MUST

Senders MUST send the MOS Metrics Block in the same compound RTCP packet as the Measurement Information block (RFC 6776). Receivers MUST verify that the measurement period is received in the same compound RTCP packet; if not, the MOS Metrics Block MUST be discarded.

rtp, realtime

normative-requirement §3.2 MUST NOT

The Interval Metric flag value I=01 (sampled value) MUST NOT be sent and MUST be discarded when received. Only interval (I=10) and cumulative (I=11) values are valid for MOS metrics.

rtp, realtime

normative-requirement §3.2 MUST

The Reserved 6-bit field in the block header MUST be set to zero by senders and ignored by receivers, per RFC 6709 Section 4.2.

rtp, realtime

protocol-element §3.2.1

The Calculation Algorithm ID (CAID) is an 8-bit field serving as a session-specific local identifier mapped via SDP 'calgextmap' to a named MOS calculation algorithm (e.g., G107, P1201_1). The CAID range 1-255 is valid for use; 0 indicates algorithm rejection; 4096-4351 is reserved for SDP negotiation of mutually exclusive alternatives.

rtp, realtime

protocol-element §3.2.2

The Channel Identifier (CHID) is a 3-bit field in the multi-channel audio segment used to identify each audio channel carried in the same RTP stream. Default channel mapping follows RFC 3551 Section 4.1, but payload-format-specific mappings (e.g., AC-3, E-AC-3) may apply.

rtp, realtime

protocol-element §3.1

The MOS Metrics Block (BT=29) is an RTCP XR block with a variable-length structure containing a block header (BT, Interval Metric flag I, Reserved, Block Length), SSRC of source, and one or more 32-bit segments. The leftmost bit of each segment determines its type: 0 for single-channel audio/video per SSRC, 1 for multi-channel audio per SSRC.

rtp, realtime

protocol-element §4.1

The 'mosref' SDP attribute signals media resolution relative reference with three values: 'l' (lower resolution, e.g., narrowband speech or SD video), 'm' (wideband speech or SD-to-HD video), and 'h' (super-wideband speech or HD+ video). It is used to disambiguate MOS scores that occupy the same numeric range across different resolutions.

rtp, realtime

registry §5.3

The SDP 'calgextmap' attribute is registered with IANA per RFC 4566 requirements. It defines the mapping from local CAID identifiers in segment extensions to named calculation algorithms, applicable at both session and media levels.

registry, rtp

registry §5.1

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

registry, rtp

registry §5.4

This document creates a new registry 'RTCP XR MOS Metric block - multimedia application Calculation Algorithm' under the RTCP XR Block Type Registry, with 'Specification Required' review policy. Initial entries include P564, G107, TS101_329, JJ201_1, G107_1, P862, P862_2, P863, P1201_1, P1201_2, P1202_1, P1202_2.

registry, rtp

registry §5.2

This document registers a new SDP parameter 'mos-metric' in the 'RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry'.

registry, rtp

security-consideration §6

The new RTCP XR blocks defined in this document introduce no new security considerations beyond those described in RFC 3611 for RTCP Extended Reports generally.

security, rtp

wire-format §3.2

The MOS Metrics Block header encodes: BT (8 bits, value 29), Interval Metric flag I (2 bits), Reserved (6 bits, MUST be zero), and Block Length (16 bits, length in 32-bit words minus one), followed by SSRC of source (32 bits).

rtp, realtime

wire-format §3.2.2

The Multi-Channel Audio per SSRC Segment is 32 bits: S=1 (1 bit), CAID (8 bits), PT (7 bits), CHID (3 bits), and MOS Value (13 bits) encoded as unsigned fixed-point 7:6. Reserved values 0x1FFE (out of range) and 0x1FFF (unavailable) are defined.

rtp, realtime

wire-format §3.2.1

The Single-Channel Audio/Video per SSRC Segment is 32 bits: S=0 (1 bit), CAID (8 bits), PT (7 bits), and MOS Value (16 bits) encoded as unsigned fixed-point 7:9. Reserved values 0xFFFE (out of range) and 0xFFFF (unavailable) are defined.

rtp, realtime