rfc-6958

RTP Control Protocol (RTCP) Extended Report (XR) Block for Burst/Gap Loss Metric Reporting

A. Clark, S. Zhang, J. Zhao, Q. Wu (Editor)
date2013-05 streamIETF areaart wgxrblock statusPROPOSED STANDARD pages16 canonicalhttps://www.rfc-editor.org/rfc/rfc6958 doi10.17487/RFC6958 errataview
This document defines an RTP Control Protocol (RTCP) Extended Report (XR) Block that allows the reporting of burst and gap loss metrics for use in a range of RTP applications.

Extracted elements (24)

design-rationale §7

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.

rtp, security, realtime

design-rationale §3.3

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.

rtp, realtime, measurement

interoperability-note §4

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.

rtp, voip, realtime

interoperability-note §5.1

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.

rtp, realtime

interoperability-note §1.1

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.

rtp, realtime

normative-requirement §3.2 MUST

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.

rtp, realtime

normative-requirement §3.2 MUST

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.

rtp, realtime

normative-requirement §3.2 MUST

Reserved bits (resv., 5 bits) MUST be set to zero by senders and ignored by receivers.

rtp, realtime

normative-requirement §3.2 MUST NOT

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.

rtp, realtime

normative-requirement §3 MUST

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.

rtp, realtime

normative-requirement §3.2 MUST

The block MUST be discarded if the Block Length field is set to a value other than 5.

rtp, realtime

protocol-element §3.3

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.

rtp, realtime, measurement

protocol-element §3

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.

rtp, realtime

protocol-element §3.2

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.

rtp, realtime

protocol-element §3.2

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.

rtp, realtime

registry §6.1

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

registry, rtp, realtime

registry §6.2

This document registers the SDP parameter 'burst-gap-loss' in the 'RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry'.

registry, rtp, realtime

security-consideration §7

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.

security, rtp, realtime

wire-format §3.2

Number of Bursts field: 16 bits unsigned. Over-range (>0xFFFD) is reported as 0xFFFE; unavailable is 0xFFFF.

rtp, realtime

wire-format §3.2

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.

rtp, realtime

wire-format §3.2

Sum of Burst Durations field: 24 bits unsigned, in milliseconds. Over-range (>0xFFFFFD) is reported as 0xFFFFFE; unavailable measurement is reported as 0xFFFFFF.

rtp, realtime

wire-format §3.2

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.

rtp, realtime

wire-format §3.1

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.

rtp, realtime

wire-format §3.2

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.

rtp, realtime