RTP Control Protocol (RTCP) Extended Report (XR) Block for Packet Delay Variation Metric Reporting
Extracted elements (24)
MAPDV2 is suited for RTP endpoints using adaptive de-jitter buffers that track average delay variation, because it measures the envelope of instantaneous delay relative to a short-term moving average. 2-point PDV is better for networks with fixed de-jitter buffers or distributed synchronization, as it reports absolute delay variation relative to a reference packet.
The 2-point PDV Mean PDV field reports the mean of per-packet 2-point PDV values, capturing arrival time of the first media packet relative to the session mean; a single session value may not be useful alone, but averages across sessions can diagnose startup delay caused by head-of-line blocking behind signaling packets.
When PDV type is 2-point PDV and both Positive and Negative PDV Percentiles are set to 100.0, the Threshold/Peak fields carry peak values for the interval; the difference between positive and negative peak values then defines the total 2-point PDV range, allowing peak-range reporting without a separate field.
Implementations may either fix the reported percentile and calculate the associated PDV threshold, or fix a threshold and calculate the corresponding percentile. Fixing the threshold is simpler to implement except at the 100th percentile extreme.
The 2-point PDV metric includes the effect of clock frequency offsets between sender and receiver, making it primarily applicable to synchronized networks (e.g., those carrying ISDN over RTP per RFC 4040) rather than networks relying on independent clocks.
The 2-point PDV value for packet j is identical to the quantity D(i,j) defined in RFC 3550 Section 6.4.1, where packet i is the reference packet (typically the minimum-delay packet). Implementors should set packet index i to the reference packet index per RFC 5481 Section 1 and 5.1.
In SDP offer/answer, the system receiving the SDP SHOULD send the PDV metrics type requested; if the metric is unavailable, the receiver MUST send the metric block with the appropriate unavailability flag value.
Over-range positive measurements SHOULD be reported as 0x7FFE and over-range negative measurements SHOULD be reported as 0x8000 in the S11:4 Threshold/Peak and Mean PDV fields.
Reserved bits in the Rsv (2-bit) and Reserved (16-bit) fields MUST be set to zero by the sender and ignored by the receiver.
The Interval Metric flag value I=00 is reserved and MUST NOT be used by a sender. A receiver that receives I=00 MUST ignore the XR block entirely.
The PDV Metrics Block MUST be sent in the same compound RTCP packet as the Measurement Information Block, which provides the measurement interval. If the measurement interval is not received for this metric block, the block MUST be discarded.
When a measurement is unavailable, the value 0x7FFF MUST be reported in the Threshold/Peak fields and 0xFFFF MUST be reported in the Percentile fields to signal unavailability to the receiver.
SDP signaling uses the 'pkt-dly-var' parameter appended to the 'rtcp-xr' attribute, with optional sub-parameters pdvtype (pdv=0 or pdv=1), nspec for negative PDV threshold or percentile, and pspec for positive PDV threshold or percentile. XR blocks MAY be used without prior SDP signaling.
The Packet Delay Variation (PDV) Metrics Block is a new RTCP XR block type (BT=15) that reports PDV metrics measured at the receiving end of an RTP stream, identified by SSRC and referenced to the Measurement Information Block for interval data.
A new sub-registry 'RTCP XR PDV block - PDV type' is created under the RTCP XR Block Type Registry. It uses 4-bit unsigned integers (0–15), requires 'Specification Required' review, and initially registers 0=MAPDV2 (G.1020) and 1=2-point PDV (Y.1540), with 2–15 reserved.
Block type value 15 is assigned in the IANA 'RTCP XR Block Type' registry to the 'Packet Delay Variation Metrics Block' defined by this document.
The parameter 'pkt-dly-var' is registered in the IANA 'RTCP XR SDP Parameters' registry to signal use of the PDV Metrics Block in SDP.
This RTCP XR block introduces no new security considerations beyond those in RFC 3611. Because the block reports aggregate statistics rather than per-packet data, it does not raise the confidentiality risks identified in RFC 3611 Section 7 paragraph 3.
Mean PDV is a 16-bit signed field in S11:4 format (milliseconds). For MAPDV2, it is generated per ITU-T G.1020 Clause 6.2.3.2; for 2-point PDV, it is the mean of per-packet 2-point PDV values. Unavailable MUST be coded 0x7FFF.
Positive PDV Percentile and Negative PDV Percentile are each 16-bit fields in 8:8 unsigned format representing percentages from 0 to 100. If unavailable, the value 0xFFFF MUST be reported.
Positive PDV Threshold/Peak and Negative PDV Threshold/Peak are each 16-bit signed fields in S11:4 format (milliseconds). Over-range negative is coded 0x8000, over-range positive is 0x7FFE, and unavailable MUST be coded 0x7FFF.
The Interval Metric flag (I) is a 2-bit field: I=01 for Sampled Value, I=10 for Interval Duration, I=11 for Cumulative Duration. The value I=00 is reserved and MUST NOT be used.
The Packet Delay Variation Metric Type (pdvtyp) is a 4-bit unsigned integer identifying the PDV algorithm: 0 = MAPDV2 (ITU-T G.1020 Clause 6.2.3.2), 1 = 2-point PDV (ITU-T Y.1540 Clause 6.2.4). Values 2–15 are reserved.
The PDV Metrics Block has a fixed 5-word (160-bit) structure: BT=15 (8 bits), Interval flag I (2 bits), pdvtyp (4 bits), Rsv (2 bits), block length=4 (16 bits), SSRC of source (32 bits), Pos PDV Threshold/Peak (16 bits), Pos PDV Percentile (16 bits), Neg PDV Threshold/Peak (16 bits), Neg PDV Percentile (16 bits), Mean PDV (16 bits), Reserved (16 bits).