rfc-7002

RTP Control Protocol (RTCP) Extended Report (XR) Block for Discard Count Metric Reporting

A. Clark, G. Zorn, Q. Wu
date2013-09 streamIETF areaart wgxrblock statusPROPOSED STANDARD pages12 canonicalhttps://www.rfc-editor.org/rfc/rfc7002 doi10.17487/RFC7002
This document defines an RTP Control Protocol (RTCP) Extended Report (XR) block that allows the reporting of a simple discard count metric for use in a range of RTP applications.

Extracted elements (19)

design-rationale §2

A packet is classified as 'discarded' only if it arrives within the implementation-specific time window but is too early, too late, or a duplicate. Packets dropped during decoding by a higher layer (e.g., decoding error) are NOT counted as discarded, keeping the metric focused on transport-layer problems.

rtp, realtime

design-rationale §6

The block does not provide per-packet statistics, which means the confidentiality risk described in RFC 3611 Section 7 paragraph 3 does not apply here — aggregate counts expose less information than per-packet data.

rtp, security, realtime

interoperability-note §3.2

Sending duplicate RTP packets for robustness is NOT RECOMMENDED because it breaks RTCP packet statistics. If duplication is desired for error resilience, the mechanism in [RTPDUP] should be used instead.

rtp, realtime

interoperability-note §1.1

The Discard Count Metrics Block may be used together with the Burst/Gap Discard Metrics Block (RFC 7003) to enable calculation of burst/gap summary statistics such as gap discard rate, but either block may be used independently.

rtp, realtime

normative-requirement §3.2 MAY

An endpoint MAY report any combination of discard types in each reporting interval by including several Discard Count Metrics Blocks in a single RTCP XR packet.

rtp, realtime

normative-requirement §3.2 MUST

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

rtp, realtime

normative-requirement §3.2 MUST

The Block Length field MUST be set to 2. The block MUST be discarded if the block length is set to a different value.

rtp, realtime

normative-requirement §3 MUST

The Discard Count 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, this metrics block MUST be discarded.

rtp, realtime

normative-requirement §3.2 MUST NOT

The reserved DT=11 value MUST NOT be sent and MUST be discarded when received.

rtp, realtime

normative-requirement §3.2 MUST NOT

The sampled value I=01 MUST NOT be sent and MUST be discarded when received, because discard count can only be measured over definite intervals. The reserved value I=00 MUST NOT be sent and MUST be discarded when received.

rtp, realtime

protocol-element §4.1

SDP signaling uses the 'rtcp-xr' attribute with the parameter value 'pkt-discard-count' (ABNF token 'xr-pdc-block') to signal use of the Discard Count Metrics Block. XR blocks MAY also be used without prior SDP signaling.

rtp, realtime

protocol-element §3.2

The Discard Count field is a 32-bit unsigned value. If the measured value exceeds 0xFFFFFFFD, the value 0xFFFFFFFE MUST be reported to indicate over-range. If measurement is unavailable, 0xFFFFFFFF MUST be reported.

rtp, realtime

protocol-element §3

The Discard Count Metrics Block (BT=24) is a 3-word (96-bit) RTCP XR block reporting the number of RTP packets received but discarded (due to duplication, early arrival, or late arrival) over a measurement interval. It references the Measurement Information Block via SSRC for the measurement period.

rtp, realtime

protocol-element §3.2

The Discard Type (DT, 2 bits) identifies the category of discard: DT=00 (duplicate packet discard), DT=01 (too early to play out), DT=10 (too late to play out). DT=11 is reserved.

rtp, realtime

protocol-element §3.2

The Interval Metric flag (I, 2 bits) indicates whether the reported discard count is an Interval Duration (I=10), Cumulative Duration (I=11), or Sampled Value (I=01). The value I=00 is reserved.

rtp, realtime

registry §5.1

Block type value 24 is assigned in the IANA 'RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry' for the 'Discard Count Metrics Block'.

rtp, registry, realtime

registry §5.2

The parameter 'pkt-discard-count' is registered in the 'RTP Control Protocol Extended Reports (RTCP XR) Session Description Protocol (SDP) Parameters Registry'.

rtp, registry, realtime

security-consideration §6

Returning detailed error information (e.g., over-range measurement or measurement unavailable values) can provide an attacker with insight into security processing. Implementations should apply encryption and authentication (e.g., using SAVPF combining AVPF and SRTP as per RFC 5124) when this is a concern.

rtp, security, realtime

wire-format §3.1

The block structure is: BT (8 bits, value=24), I flag (2 bits), DT field (2 bits), resv (4 bits), Block Length (16 bits, fixed value=2), SSRC of Source (32 bits), Discard Count (32 bits unsigned). Total block length is 3 32-bit words.

rtp, realtime