RTP Control Protocol (RTCP) Extended Report (XR) Block for Burst/Gap Loss Metric Reporting
Extracted elements (24)
The block does not provide per-packet statistics, deliberately omitting the per-packet confidentiality risk identified in RFC 3611 Section 7. The coarser burst/gap granularity reduces information leakage while still enabling quality analysis.
The Sum of Squares of Burst Durations field is included to enable calculation of burst duration variance (second moment), allowing statistical characterization of burst length distribution beyond just the mean.
For VoIP applications using Voice Activity Detection, burst and gap durations shall be calculated as if silence packets had been sent; a silence period exceeding Gmin packets terminates a burst condition.
SDP signaling uses the 'rtcp-xr' attribute extended with 'xr-format =/ xr-bgl-block' where 'xr-bgl-block = "burst-gap-loss"'. XR blocks MAY be used without prior SDP signaling.
The method used to distinguish between bursts and gaps MAY be equivalent to but not identical to the method in RFC 3611. The method should produce the same result as RFC 3611 for burst packet loss conditions but may differ for time-varying jitter conditions.
For measured values that exceed the maximum representable value, 0xFFFFFE (24-bit fields) or 0xFFFE (16-bit) or 0xFFFFFFFFE (36-bit) MUST be reported to indicate over-range. If measurement is unavailable, the all-ones sentinel MUST be reported.
If the C flag is set to 1 but the burst/gap discard block was not sent in the same compound RTCP packet, the receiver MUST discard the burst/gap loss block.
Reserved bits (resv., 5 bits) MUST be set to zero by senders and ignored by receivers.
Senders MUST NOT use the values I=00 or I=01 in the Interval Metric flag. If a block is received with I=00 or I=01, the receiver MUST discard the block.
Senders MUST send the Burst/Gap Loss Metrics 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; if not, the Metrics Block MUST be discarded.
The block MUST be discarded if the Block Length field is set to a value other than 5.
Derived metrics calculable from the block include: Burst Loss Rate, Gap Loss Rate, burst duration mean, and burst duration variance. These are computed using Packets Lost in Bursts, Total Packets Expected in Bursts, Sum of Burst Durations, Sum of Squares of Burst Durations, and Number of Bursts.
The Burst/Gap Loss Metrics Block (BT=20) is an RTCP XR block that reports burst and gap loss metrics for an RTP stream, measured at the receiver. It carries Threshold, Sum of Burst Durations, Packets Lost in Bursts, Total Packets Expected in Bursts, Number of Bursts, and Sum of Squares of Burst Durations.
The Interval Metric flag (I, 2 bits) encodes whether the reported values are Interval Duration (I=10), Cumulative Duration (I=11), or Sampled Value (I=01). The value I=00 is reserved. Burst/gap loss metrics can only be measured over definite intervals, not sampled.
The Loss and Discard Combination flag (C, 1 bit) indicates whether the burst/gap loss report is combined with a loss/discard report in the same compound RTCP packet. Set to 1 if combined, 0 otherwise.
This document assigns block type value 20 in the IANA 'RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry' to the 'Burst/Gap Loss Metrics Block'.
This document registers the SDP parameter 'burst-gap-loss' in the 'RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry'.
Gap timing information in the block can be used to infer when competing traffic was active on the path (e.g., a competing multimedia stream causing a loss burst). However, only the timing of loss — not its cause — is leaked, and this is considered a low risk.
Number of Bursts field: 16 bits unsigned. Over-range (>0xFFFD) is reported as 0xFFFE; unavailable is 0xFFFF.
Packets Lost in Bursts field: 24 bits unsigned. Over-range value is 0xFFFFFE; unavailable is 0xFFFFFF. Total Packets Expected in Bursts field: 24 bits unsigned with the same sentinel values.
Sum of Burst Durations field: 24 bits unsigned, in milliseconds. Over-range (>0xFFFFFD) is reported as 0xFFFFFE; unavailable measurement is reported as 0xFFFFFF.
Sum of Squares of Burst Durations field: 36 bits unsigned, in milliseconds-squared, spanning the last 36 bits of the block. Over-range (>0xFFFFFFFFD) is 0xFFFFFFFFE; unavailable is 0xFFFFFFFFF.
The report block is 6 32-bit words (Block Length=5). The first word contains BT=20 (8 bits), Interval Metric flag I (2 bits), Loss/Discard Combination flag C (1 bit), reserved (5 bits), and Block Length (16 bits). The second word is the 32-bit SSRC of Source.
Threshold field: 8 bits, equivalent to Gmin in RFC 3611 — the number of successive packets that must be received before and after a lost packet for it to be considered part of a gap rather than a burst.