rfc-8015

RTP Control Protocol (RTCP) Extended Report (XR) Block for Independent Reporting of Burst/Gap Discard Metrics

V. Singh, C. Perkins, A. Clark, R. Huang
date2016-11 streamIETF areaart wgxrblock statusPROPOSED STANDARD pages15 canonicalhttps://www.rfc-editor.org/rfc/rfc8015 doi10.17487/RFC8015
This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of burst/gap discard metrics independently of the burst/gap loss metrics for use in a range of RTP applications.

Extracted elements (20)

design-rationale §3.2

Burst/gap discard metrics can only be meaningfully measured over definite intervals (not sampled), which is why the I=01 (sampled) and I=00 values are explicitly prohibited for this block type.

rtp, realtime

design-rationale §1.1

This block was created because the existing RFC 7003 Burst/Gap Discard Metrics Block depends on the RFC 6958 Burst/Gap Loss Metrics Block, requiring both to be sent together. When burst discards and burst losses do not occur simultaneously, a standalone block reporting total packets discarded, total burst duration, and total number of bursts is more concise and sufficient.

rtp, realtime

interoperability-note §2

A packet is classified as 'discarded' only if it arrives within the implementation-specific time window but is too early, too late, or thrown away before playout due to duplication or redundancy. Packets dropped during decoding by a higher-layer decoder are NOT counted as discarded.

rtp, realtime

interoperability-note §4

For VoIP applications using voice activity detection, the burst/gap duration MUST be determined as if silence packets had been sent; a silence period exceeding Gmin packets terminates a burst condition.

rtp, realtime, voip

interoperability-note §5

XR blocks, including this one, can be used without prior SDP signaling per RFC 3611. When SDP signaling is used, the new xr-format value 'ind-burst-gap-discard' signals use of this block via the 'rtcp-xr' attribute.

rtp, realtime

normative-requirement §3.2 MUST

For the Number of Bursts field (16 bits), 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.

rtp, realtime

normative-requirement §3.2 MUST

For the Sum of Burst Durations field (24 bits), if the measured value exceeds 0xFFFFFD, the value 0xFFFFFE MUST be reported to indicate over-range. If the measurement is unavailable, 0xFFFFFF MUST be reported.

rtp, realtime

normative-requirement §3 MUST

Senders MUST send the Independent Burst/Gap Discard Metrics Block in the same compound RTCP packet as the Measurement Information Block. Receivers MUST verify 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 Length field MUST be set to 5; the block MUST be discarded if set to a different value.

rtp, realtime

normative-requirement §3.2 MUST NOT

The Interval Metric flag (I) MUST NOT use values I=00 or I=01. Senders MUST NOT use these values, and if a block is received with I=00 or I=01, the receiver MUST discard the block. Only I=10 (Interval Duration) and I=11 (Cumulative Duration) are valid.

rtp, realtime

normative-requirement §3.2 MUST

The reserved bits (resv, 6 bits) MUST be set to zero by senders and ignored by receivers.

rtp, realtime

protocol-element §3.2

The Discard Count field (32 bits) reports the total number of packets discarded over the period covered by the report (Interval or Cumulative), as defined in RFC 7002 Section 3.2.

rtp, realtime

protocol-element §3

The Independent Burst/Gap Discard Metrics Block is an RTCP XR block (BT=35) that reports burst/gap discard metrics independently of burst/gap loss metrics. It contains fields for SSRC, Threshold, Sum of Burst Durations, Packets Discarded in Bursts, Number of Bursts, Total Packets Expected in Bursts, and Discard Count. Block Length is fixed at 5 (32-bit words minus one).

rtp, realtime

protocol-element §3.2

The Interval Metric flag (I, 2 bits) indicates whether metrics are Interval Duration (I=10) — applying to the most recent measurement interval — or Cumulative Duration (I=11) — applying to the full accumulation period. Sampled metrics (I=01) and I=00 are not permitted for this block.

rtp, realtime

protocol-element §3.2

The Threshold field (8 bits) is equivalent to Gmin in RFC 3611: the number of successive packets that must be received prior to and following a discarded packet for that discard to be counted as part of a gap rather than a burst. It is set per the Gmin calculation in RFC 3611 Section 4.7.2.

rtp, realtime

protocol-element §3.2

The Total Packets Expected in Bursts field (24 bits) reports the total number of packets expected during discard bursts (the sum of received packets and lost packets), as defined in RFC 7003.

rtp, realtime

registry §6

IANA assigned block type value 35 in the 'RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry' to the 'Independent Burst/Gap Discard Metrics Block'. A new SDP parameter 'ind-burst-gap-discard' was also registered in the 'RTCP XR SDP Parameters Registry'.

registry, rtp, realtime

security-consideration §7

The block does not provide per-packet statistics, so the per-packet confidentiality risk in RFC 3611 Section 7 paragraph 3 does not apply. However, the gap timing information could reveal when competing multimedia streams were active on the path, allowing inference of when a competing stream was present.

security, rtp, realtime

security-consideration §7 SHOULD

Where timing-based inference is a concern, implementations SHOULD apply encryption and authentication to this report block, for example using SRTP with the SAVPF profile (RFC 5124).

security, rtp, realtime

wire-format §3.1

The report block structure is 6 rows of 32 bits: BT (8 bits) = 35, Interval Metric flag I (2 bits), reserved resv (6 bits), Block Length (16 bits) = 5; SSRC of Source (32 bits); Threshold (8 bits) + Sum of Burst Durations in ms (24 bits); Packets Discarded in Bursts (24 bits) + Number of Bursts (16 bits, split across words); Total Packets Expected in Bursts (24 bits); Discard Count (32 bits).

rtp, realtime