RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Mean Opinion Score (MOS) Metric Reporting
Extracted elements (27)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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'.
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.
This document registers a new SDP parameter 'mos-metric' in the 'RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry'.
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.
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).
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.
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.