RTP Control Protocol (RTCP) Extended Report (XR) for RLE of Discarded Packets
Extracted elements (18)
Existing discard metrics (RFC 7002 count, RFC 7003 gap/burst) cannot precisely identify which individual packets were discarded. High-frequency count reporting would require excessive RTCP bandwidth with non-deterministic scheduling, and gap/burst reporting incurs complexity without sufficient accuracy—motivating a per-packet RLE approach.
The Discard RLE report block format is deliberately identical to the RFC 3611 loss and duplicate RLE block formats (same field layout and chunk encoding), differing only in the added E flag and the semantics of chunks representing discarded rather than lost packets.
When SDP is used in an Offer/Answer context, the unilateral 'rtcp-xr' attribute parameter mechanism from RFC 3611 Section 5.2 applies to the 'discard-rle' parameter.
Discard RLE report blocks SHOULD be sent in conjunction with an RTCP RR as a compound RTCP packet.
For SDP signaling, the RTCP XR attribute as defined in RFC 3611 MUST be used. The SDP xr-format is extended with the token 'discard-rle' to indicate support for this report block.
If the media sender receives RTCP XR reports with no Discard RLE blocks and is aware the receiver supports them, the sender MAY assume no packets were discarded at the receiver.
It is RECOMMENDED that the media receiver signal all discarded packets using the Discard RLE method. If all packets over a reporting period are discarded, the receiver MAY use the Discard Report Block (RFC 7002) instead.
The media receiver MAY send Discard RLE report blocks as part of regularly scheduled RTCP packets per RFC 3550, or in immediate or early feedback packets per RFC 4585.
The media sender MUST be prepared to operate without receiving any Discard RLE report blocks. It cannot rely on all reports being received nor on a regular generation pattern from the media receiver.
The reserved (rsvd) field of 3 bits MUST be set to zero by the sender and MUST be ignored by the receiver.
When both early and late discarded packets must be reported, two Discard RLE report blocks MUST be included. Individual packets MUST only be reported as either early or late and MUST NOT appear marked in both blocks; conflicting packets are ignored.
A participant MAY use SDP to signal support for the Discard RLE report block using the 'discard-rle' xr-format token, or MAY use the report block without prior signaling, consistent with RFC 3611 Section 5.
The Discard RLE report block reuses the same chunk encoding as RFC 3611's loss and duplicate RLE report blocks, but encodes discarded packets. Packets not reported in any block are considered properly received and not discarded.
The E bit distinguishes between packets discarded due to early arrival (E=1) and those discarded due to late arrival (E=0). This single flag enables the receiver to categorize the discard reason at the per-report-block level.
This document assigns Block Type value 25 to DRLE (Discard RLE Report) in the IANA 'RTP Control Protocol Extended Reports (RTCP XR) Block Type Registry'.
This document registers the SDP parameter token 'discard-rle' in the IANA 'RTCP XR SDP Parameters' registry to signal support for the Discard RLE report block.
The Discard RLE report block exposes per-packet statistics, creating a confidentiality risk as documented in RFC 3611 Section 7. Detailed error information in the report can provide attackers insight into security processing; implementations should apply encryption and authentication (e.g., SAVPF combining AVPF and SRTP) where security is a concern.
The Discard RLE report block begins with an 8-bit Block Type (BT=25), a 3-bit reserved field, a 1-bit E flag, a T field, and a 16-bit block length, followed by the 32-bit SSRC of source, 16-bit begin_seq, 16-bit end_seq, and variable-length 16-bit chunks encoding run-length data.