RTP Control Protocol (RTCP) Extended Report (XR) Block for De-Jitter Buffer Metric Reporting
Extracted elements (20)
De-jitter buffer metrics are restricted to sampled-only reporting (I=01) because they represent instantaneous buffer state rather than quantities that accumulate meaningfully over an interval. Interval (I=10) and cumulative (I=11) modes are explicitly prohibited.
For fixed de-jitter buffers, both the high-water mark and low-water mark are defined to equal DJB maximum (not DJB nominal), because a fixed buffer's delay does not vary over the reporting interval — reporting the buffer size is the most informative stationary value.
XR blocks MAY be used without prior SDP signaling, per RFC 3611 Section 5. Implementations must therefore be prepared to receive DJB Metrics Blocks even when no SDP negotiation has taken place.
For all four delay fields (nominal, maximum, high-water mark, low-water mark): if the measured value exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate over-range; if the measurement is unavailable, 0xFFFF MUST be reported.
Senders MUST NOT use I=00, I=10, or I=11 in the Interval Metric flag. If a block is received with I=00, I=10, or I=11, the receiver MUST discard the block.
The Block Length field MUST be set to 3, matching the fixed 4-word length of the report block as defined in RFC 3611.
The DJB Metrics Block MUST be sent in the same compound RTCP packet as the Measurement Information Block. If the measurement interval is not received in the same compound RTCP packet, the DJB Metrics Block MUST be discarded.
The Reserved (resv) 5-bit field MUST be set to zero by senders and ignored by receivers, per RFC 6709 Section 4.2.
DJB high-water mark (16 bits, unsigned, milliseconds) is the highest value of the nominal delay that occurred during the reporting interval. It MUST be provided for adaptive buffers; for fixed buffers its value MUST be set equal to DJB maximum.
DJB low-water mark (16 bits, unsigned, milliseconds) is the lowest value of the nominal delay that occurred during the reporting interval. It MUST be provided for adaptive buffers; for fixed buffers its value MUST be set equal to DJB maximum.
DJB maximum delay (16 bits, unsigned, milliseconds) is the current maximum de-jitter buffer delay corresponding to the earliest arriving packet not discarded. It MUST be provided for both fixed and adaptive implementations.
DJB nominal delay (16 bits, unsigned, milliseconds) is the current nominal de-jitter buffer delay for packets arriving exactly on time. It MUST be provided for both fixed and adaptive implementations.
SDP signaling uses the 'rtcp-xr' attribute extended with the value 'de-jitter-buffer' (xr-djb-block) to negotiate use of this XR block, following the unilateral offer/answer model of RFC 3611 Section 5.2.
The De-Jitter Buffer (DJB) Metrics Block (BT=23) is an RTCP XR block that reports de-jitter buffer configuration and performance at the RTP receiver or mixer. It references the SSRC of the measured stream and uses the Measurement Information Block (RFC 6776) for measurement period context.
The Interval Metric flag (I) is a 2-bit field indicating whether metrics are Sampled (I=01), Interval Duration (I=10), or Cumulative Duration (I=11). The value I=00 is reserved. For de-jitter buffer metrics, only I=01 (Sampled) is valid.
The Jitter Buffer Configuration bit (C) identifies the de-jitter buffer method: C=0 indicates a fixed de-jitter buffer and C=1 indicates an adaptive de-jitter buffer.
This document assigns block type value 23 in the IANA 'RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry' for the 'De-Jitter Buffer Metrics Block'.
This document registers the SDP parameter 'de-jitter-buffer' in the IANA 'RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry'.
This RTCP XR block introduces no new security considerations beyond those in RFC 3611. Because the block does not provide per-packet statistics, the confidentiality risk identified in RFC 3611 Section 7 paragraph 3 does not apply.
The DJB Metrics Block is 4 32-bit words (Block Length=3): first word contains BT=23 (8 bits), Interval Metric flag I (2 bits), Configuration flag C (1 bit), reserved (5 bits), and Block Length (16 bits); second word is SSRC of Source (32 bits); third word is DJB nominal (16 bits) and DJB maximum (16 bits); fourth word is DJB high-water mark (16 bits) and DJB low-water mark (16 bits).