rfc-7004

RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Summary Statistics Metrics Reporting

G. Zorn, R. Schott, Q. Wu (Editor), R. Huang
date2013-09 streamIETF areaart wgxrblock statusPROPOSED STANDARD pages21 canonicalhttps://www.rfc-editor.org/rfc/rfc7004 doi10.17487/RFC7004
This document defines three RTP Control Protocol (RTCP) Extended Report (XR) blocks that allow the reporting of loss, duplication, and discard summary statistics metrics in a range of RTP applications.

Extracted elements (25)

design-rationale §1.1

The Burst/Gap Loss and Discard Summary Statistics blocks depend on and are intended to be used in conjunction with the Burst/Gap Loss Metrics Block [RFC6958] and Burst/Gap Discard Metrics Block [RFC7003], which provide the underlying raw burst/gap counters from which the summary statistics are derived.

rtp, realtime

interoperability-note §3.1.2

To compute Gap Loss Rate on an interval basis, an implementation must take the difference between current and preceding cumulative values of "number of packets lost" from standard RTCP [RFC3550] to obtain the per-interval loss count.

rtp, realtime

normative-requirement §3.2.2 MUST

For the Gap Discard Rate to be meaningful, 2 instances of the Discard Count Block [RFC7002] with DT=1 and DT=2 MUST be included in the same RTCP XR packet as the Burst/Gap Discard Summary Statistics Block.

rtp, realtime

normative-requirement §3.1.2 MUST

If any of Burst Loss Rate, Gap Loss Rate, Burst Duration Mean, or Burst Duration Variance measurements are unavailable, the value 0xFFFF MUST be reported in the respective 16-bit field.

rtp, realtime

normative-requirement §3.2.2 MUST

If Burst Discard Rate or Gap Discard Rate measurements are unavailable, the value 0xFFFF MUST be reported in the respective 16-bit field.

rtp, realtime

normative-requirement §3.2 MUST

If the Measurement Information Block is not received in the same compound RTCP packet as the Burst/Gap Discard Summary Statistics Block, this metrics block MUST be discarded.

rtp, realtime

normative-requirement §3.1 MUST

If the Measurement Information Block [RFC6776] is not received in the same compound RTCP packet as the Burst/Gap Loss Summary Statistics Block, this metrics block MUST be discarded.

rtp, realtime

normative-requirement §3.1.2 MUST

Reserved bits in the block header MUST be set to zero and ignored by the receiver, per RFC 6709 Section 4.2.

rtp, realtime

normative-requirement §3.1 SHOULD

The Burst/Gap Loss Summary Statistics Block SHOULD be sent in the same compound RTCP packet as the Measurement Information Block to ensure the measurement period span is available.

rtp, realtime

normative-requirement §3.1.2 MUST NOT

The Interval Metric flag value I=00 is reserved and MUST NOT be used in either the Burst/Gap Loss or Burst/Gap Discard Summary Statistics blocks.

rtp, realtime

normative-requirement §5 MAY

XR blocks MAY be used without prior SDP signaling, per Section 5 of RFC 3611.

rtp, realtime

protocol-element §4.1.2

A partial_lost_frame is defined as a frame split across multiple RTP packets where some but not all packets are lost. A full_lost_frame is one where the entire frame or all its packets are lost.

rtp, realtime

protocol-element §5.1

SDP signaling uses the rtcp-xr attribute with three new xr-format values: "burst-gap-loss-stat", "burst-gap-discard-stat", and "frame-impairment-stat", extending RFC 3611's SDP attribute definition.

rtp, realtime

protocol-element §3.2

The Burst/Gap Discard Summary Statistics Block (BT=18) reports burst discard rate and gap discard rate as 16-bit fixed-point values. It is a 3-word (12-octet) block identified by block type constant 18.

rtp, realtime

protocol-element §3.1

The Burst/Gap Loss Summary Statistics Block (BT=17) reports burst loss rate, gap loss rate, burst duration mean, and burst duration variance. It is a 4-word (16-octet) block identified by block type constant 17.

rtp, realtime

protocol-element §4.1

The Frame Impairment Statistics Summary Block (BT=19) reports per-frame-type counts of discarded frames, duplicate frames, full lost frames, and partial lost frames over a sequence number interval. It is a 7-word (28-octet) block identified by block type constant 19.

rtp, realtime

protocol-element §4.1.2

The Frame Type indicator (T) field is a 1-bit flag: T=0 indicates Key frame counts; T=1 indicates Derived frame counts. If both frame types are reported, two separate Frame Impairment Statistics Summary Blocks should be sent in the same RTCP compound packet.

rtp, realtime

protocol-element §3.1.2

The Interval Metric flag (I) is a 2-bit field indicating whether metrics are Interval Duration (I=10), Cumulative Duration (I=11), or Sampled Value (I=01); the value I=00 is reserved.

rtp, realtime

registry §6.1

Three new block type values are registered in the RTCP XR Block Type Registry: BGLSS (value 17), BGDSS (value 18), and FISS (value 19), with references to Sections 3.1, 3.2, and 4.1 respectively.

rtp, realtime, registry

registry §6.2

Three new SDP parameters are registered in the RTCP XR SDP Parameters Registry: "burst-gap-loss-stat", "burst-gap-discard-stat", and "frame-impairment-stat".

rtp, realtime, registry

security-consideration §7

The new RTCP XR blocks defined in this document do not introduce any new security considerations beyond those described in RFC 3611.

rtp, realtime, security

wire-format §3.2.1

Burst/Gap Discard Summary Statistics Block wire format: 8-bit BT=18, 2-bit Interval Metric flag (I), 6-bit Reserved, 16-bit Block Length (constant 2), 32-bit SSRC of Source, 16-bit Burst Discard Rate, 16-bit Gap Discard Rate.

rtp, realtime

wire-format §3.1.1

Burst/Gap Loss Summary Statistics Block wire format: 8-bit BT=17, 2-bit Interval Metric flag (I), 6-bit Reserved, 16-bit Block Length (constant 3), 32-bit SSRC of Source, 16-bit Burst Loss Rate, 16-bit Gap Loss Rate, 16-bit Burst Duration Mean, 16-bit Burst Duration Variance.

rtp, realtime

wire-format §3.1.2

Burst Loss Rate and Gap Loss Rate are 16-bit fixed-point numbers with the binary point immediately after the left-most bit, calculated as integer-part((count/total) * 0x8000); maximum value is 0x8000.

rtp, realtime

wire-format §4.1.1

Frame Impairment Statistics Summary Block wire format: 8-bit BT=19, 1-bit frame type indicator (T), 7-bit Reserved, 16-bit Block Length (constant 6), 32-bit SSRC of Source, 16-bit begin_seq, 16-bit end_seq, 32-bit discarded_frames, 32-bit dup_frames, 32-bit full_lost_frames, 32-bit partial_lost_frames.

rtp, realtime