draft-ietf-xrblock-independent-burst-gap-discard-03.txt   rfc8015.txt 
Audio/Video Transport Working Group V. Singh Internet Engineering Task Force (IETF) V. Singh
Internet-Draft callstats.io Request for Comments: 8015 callstats.io
Intended status: Standards Track C. Perkins Category: Standards Track C. Perkins
Expires: February 5, 2017 University of Glasgow ISSN: 2070-1721 University of Glasgow
A. Clark A. Clark
Telchemy Telchemy
R. Huang R. Huang
Huawei Huawei
August 4, 2016 November 2016
RTP Control Protocol (RTCP) Extended Report (XR) Block for Independent RTP Control Protocol (RTCP) Extended Report (XR) Block
Reporting of Burst/Gap Discard Metric for Independent Reporting of Burst/Gap Discard Metrics
draft-ietf-xrblock-independent-burst-gap-discard-03
Abstract Abstract
This document defines an RTP Control Protocol (RTCP) Extended Report This document defines an RTP Control Protocol (RTCP) Extended Report
(XR) block that allows the reporting of burst and gap discard metrics (XR) block that allows the reporting of burst/gap discard metrics
independently of the burst and gap loss metrics for use in a range of independently of the burst/gap loss metrics for use in a range of RTP
RTP applications. applications.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on February 5, 2017. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc8015.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Burst-Gap Discard Metrics Block . . . . . . . . . . . . . 2 1.1. Independent Burst/Gap Discard Metrics Block . . . . . . . 3
1.2. RTCP and RTCP Extended Reports . . . . . . . . . . . . . 3 1.2. RTCP and RTCP Extended Reports . . . . . . . . . . . . . 4
1.3. Performance Metrics Framework . . . . . . . . . . . . . . 3 1.3. Performance Metrics Framework . . . . . . . . . . . . . . 4
1.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 4 1.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Burst/Gap Discard Metrics Block . . . . . . . . . . . . . . . 5 3. Independent Burst/Gap Discard Metrics Block . . . . . . . . . 5
3.1. Report Block Structure . . . . . . . . . . . . . . . . . 5 3.1. Report Block Structure . . . . . . . . . . . . . . . . . 6
3.2. Definition of Fields in Burst/Gap Discard Metrics Block . 5 3.2. Definition of Fields in the Independent Burst/Gap Discard
3.3. Derived Metrics Based on the Reported Metrics . . . . . . 7 Metrics Block . . . . . . . . . . . . . . . . . . . . . . 6
4. Considerations for Voice-over-IP Applications . . . . . . . . 8 3.3. Derived Metrics Based on the Reported Metrics . . . . . . 8
5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 8 4. Considerations for Voice-over-IP Applications . . . . . . . . 9
5.1. SDP rtcp-xr Attribute Extension . . . . . . . . . . . . . 8 5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 9
5.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . 8 5.1. SDP rtcp-xr Attribute Extension . . . . . . . . . . . . . 9
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 5.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . 9
6.1. New RTCP XR Block Type Value . . . . . . . . . . . . . . 9 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
6.2. New RTCP XR SDP Parameter . . . . . . . . . . . . . . . . 9 6.1. New RTCP XR Block Type Value . . . . . . . . . . . . . . 10
6.3. Contact Information for Registrations . . . . . . . . . . 9 6.2. New RTCP XR SDP Parameter . . . . . . . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 6.3. Contact Information for Registrations . . . . . . . . . . 10
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 8.1. Normative References . . . . . . . . . . . . . . . . . . 11
10.1. Normative References . . . . . . . . . . . . . . . . . . 10 8.2. Informative References . . . . . . . . . . . . . . . . . 12
10.2. Informative References . . . . . . . . . . . . . . . . . 11
Appendix A. Metrics Represented Using the Template from RFC 6390 13 Appendix A. Metrics Represented Using the Template from RFC 6390 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 14
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
1.1. Burst-Gap Discard Metrics Block 1.1. Independent Burst/Gap Discard Metrics Block
This document defines a new block type that extends the metrics This document defines a new block type that extends the metrics
defined in [RFC7003]. The new block type reports the proportion of defined in [RFC7003]. The new block type reports the proportion of
packets discarded in a burst by the de-jitter buffer at the receiver. packets discarded in a burst by the de-jitter buffer at the receiver.
The number of packets discarded depends on the de-jitter buffer The number of packets discarded depends on the de-jitter buffer
algorithm implemented by the endpoint. algorithm implemented by the endpoint.
The new report block defined in this document is different from the The new report block defined in this document is different from the
one defined in [RFC7003]. The metrics in [RFC7003] depends on the one defined in [RFC7003]. The metrics in [RFC7003] depend on the
metrics in the burst-gap loss metric defined in [RFC6958]. metrics in the burst/gap loss metric defined in [RFC6958].
Consequently, an endpoint that sends a Burst/Gap Discard Metrics Consequently, an endpoint that sends a Burst/Gap Discard Metrics
Block [RFC7003] also needs to send a Burst/Gap Loss Metrics Block Block [RFC7003] also needs to send a Burst/Gap Loss Metrics Block
[RFC6958]. The combined usage is useful when an endpoint observes [RFC6958]. The combined usage is useful when an endpoint observes
correlated packet losses and discard. However, when the burst of correlated packet losses and discard. However, when the burst of
packet losses and discards do not occur simultaneously, the packet losses and discards do not occur simultaneously, the
application could prefer to send a concise report block that just application could prefer to send a concise report block that just
reports the burst-gap of discarded packets. The report block in this reports the burst/gap of discarded packets. The report block in this
document provides the complete information and does not require document provides the complete information and does not require
additional report blocks. That is, this block reports: the total additional report blocks. That is, this block reports the total
number of packets discarded, the total burst duration, and the total number of packets discarded, the total burst duration, and the total
number of bursts, all of these metrics are missing in [RFC7003]. number of bursts. All of these metrics are missing in [RFC7003].
This block provides information on transient network issues. Burst/ This block provides information on transient network issues. Burst/
gap metrics are typically used in cumulative reports; however, they gap metrics are typically used in cumulative reports; however, they
can also be used in interval reports (see the Interval Metric flag in can also be used in interval reports (see the Interval Metric flag in
Section 3.2). The variation in the number of packet discards in a Section 3.2). The variation in the number of packet discards in a
burst affects the user experience. Based on the metrics reported in burst affects the user experience. Based on the metrics reported in
the block, the sending endpoint can change the packetization the block, the sending endpoint can change the packetization
interval, vary the bitrate, etc. The report can additionally be used interval, vary the bitrate, etc. The report can additionally be used
for diagnostics [RFC6792]. The metric belongs to the class of for diagnostics [RFC6792]. The metric belongs to the class of
transport-related end-system metrics defined in [RFC6792]. transport-related end-system metrics defined in [RFC6792].
The definitions of "burst", "gap", "loss", and "discard" are The definitions of "burst", "gap", "loss", and "discard" are
consistent with the definitions in [RFC3611]. To accommodate a range consistent with the definitions in [RFC3611]. To accommodate a range
of de-jitter buffer algorithms and packet discard logic that can be of de-jitter buffer algorithms and packet discard logic that can be
used by implementers, the method used to distinguish between bursts used by implementers, the method used to distinguish between bursts
and gaps use an equivalent method to that defined in Section 4.7.2 of and gaps uses an equivalent method to that defined in Section 4.7.2
[RFC3611]. Note that reporting the specific de-jitter buffer of [RFC3611]. Note that reporting the specific de-jitter buffer
algorithm and/or the packet discard logic is out of the scope of this algorithm and/or the packet discard logic is out of the scope of this
document. document.
1.2. RTCP and RTCP Extended Reports 1.2. RTCP and RTCP Extended Reports
The use of RTCP for reporting is defined in [RFC3550]. [RFC3611] The use of RTCP for reporting is defined in [RFC3550]. [RFC3611]
defined an extensible structure for reporting using an RTCP Extended defined an extensible structure for reporting using an RTCP Extended
Report (XR). This document defines a new Extended Report block for Report (XR). This document defines a new Extended Report block for
use with [RFC3550] and [RFC3611]. use with [RFC3550] and [RFC3611].
1.3. Performance Metrics Framework 1.3. Performance Metrics Framework
The Performance Metrics Framework [RFC6390] provides guidance on the The Performance Metrics Framework [RFC6390] provides guidance on the
definition and specification of performance metrics. The RTP definition and specification of performance metrics. The RTP
Monitoring Framework [RFC6792] provides guidelines for reporting Monitoring Framework [RFC6792] provides guidelines for reporting the
block format using RTCP XR. The metrics block described in this block format using RTCP XR. The metrics block described in this
document is in accordance with the guidelines in [RFC6390] and document is in accordance with the guidelines in [RFC6390] and
[RFC6792]. [RFC6792].
1.4. Applicability 1.4. Applicability
These metrics are applicable to a range of RTP applications that These metrics are applicable to a range of RTP applications that
contain de-jitter buffers at the receiver to smooth variation in contain de-jitter buffers at the receiver to smooth variation in
packet-arrival time and don't use stream repair means, e.g., Forward packet-arrival time and don't use stream repair means, e.g., Forward
Error Correction (FEC) [I-D.ietf-payload-flexible-fec-scheme] and/or Error Correction (FEC) [FLEX_FEC] and/or retransmission [RFC4588].
retransmission [RFC4588].
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
In addition, the following terms are defined: In addition, the following terms are defined:
Received, Lost, and Discarded Received, Lost, and Discarded
A packet is regarded as "lost" if it fails to arrive within an A packet is regarded as "lost" if it fails to arrive within an
implementation-specific time window. A packet that arrives within implementation-specific time window. A packet that arrives within
this time window but is too early to be played out, too late to be this time window but is too early to be played out, too late to be
played out, or thrown away before play-out due to packet played out, or thrown away before playout due to packet
duplication or redundancy is be recorded as discarded. A packet duplication or redundancy is be recorded as "discarded". A packet
SHALL NOT be regarded as discarded if it arrives within this time SHALL NOT be regarded as "discarded" if it arrives within this
window but is dropped during decoding by some higher-layer time window but is dropped during decoding by some higher-layer
decoder, e.g., due to a decoding error. Each packet is classified decoder, e.g., due to a decoding error. Each packet is classified
as one of received (or OK), discarded, or lost. The metric as one of "received" (or "OK"), "discarded", or "lost". The
"cumulative number of packets lost" defined in [RFC3550] reports a metric "cumulative number of packets lost" defined in [RFC3550]
count of packets lost from the media stream (single reports a count of packets lost from the media stream (single
synchronization source (SSRC) within a single RTP session). synchronization source (SSRC) within a single RTP session).
Similarly, the metric "number of packets discarded" defined in Similarly, the metric "number of packets discarded" defined in
[RFC7002] reports a count of packets discarded from the media [RFC7002] reports a count of packets discarded from the media
stream (single SSRC within a single RTP session) arriving at the stream (single SSRC within a single RTP session) arriving at the
receiver. Another metric, defined in [RFC5725], is available to receiver. Another metric, defined in [RFC5725], is available to
report on packets that are not recovered by any repair techniques report on packets that are not recovered by any repair techniques
that are in use. Note that the term "discard" defined here builds that are in use. Note that the term "discard" defined here builds
on the "discard" definition in [RFC3611] but extends the concept on the "discard" definition in [RFC3611] but extends the concept
to take into account packet duplication and reports different to take into account packet duplication and reports different
types of discard counts [RFC7002]. types of discard counts [RFC7002].
Bursts and Gaps Bursts and Gaps
The terms "burst" and "gap" are used in a manner consistent with The terms "burst" and "gap" are used in a manner consistent with
that of RTCP XR [RFC3611]. RTCP XR views an RTP stream as being that of RTCP XR [RFC3611]. RTCP XR views an RTP stream as being
divided into bursts, which are periods during which the discard divided into bursts, which are periods during which the discard
rate is high enough to cause noticeable quality degradation rate is high enough to cause noticeable quality degradation
(generally over 5 percent discard rate), and gaps, which are (generally a discard rate over 5 percent), and gaps, which are
periods during which discarded packets are infrequent and hence periods during which discarded packets are infrequent, and hence
quality is generally acceptable. quality is generally acceptable.
3. Burst/Gap Discard Metrics Block 3. Independent Burst/Gap Discard Metrics Block
Metrics in this block report on burst/gap discard in the stream Metrics in this block report on burst/gap discard in the stream
arriving at the RTP system. Measurements of these metrics are made arriving at the RTP system. Measurements of these metrics are made
at the receiving end of the RTP stream. Instances of this metrics at the receiving end of the RTP stream. Instances of this metrics
block use the synchronization source (SSRC) to refer to the separate block use the synchronization source (SSRC) to refer to the separate
auxiliary Measurement Information Block [RFC6776], which describes auxiliary Measurement Information Block [RFC6776], which describes
measurement periods in use (see [RFC6776], Section 4.2). measurement periods in use (see [RFC6776], Section 4.2).
This metrics block relies on the measurement period in the This metrics block relies on the measurement period in the
Measurement Information Block indicating the span of the report. Measurement Information Block indicating the span of the report.
Senders MUST send this block in the same compound RTCP packet as the Senders MUST send this block in the same compound RTCP packet as the
Measurement Information Block. Receivers MUST verify that the Measurement Information Block. Receivers MUST verify that the
measurement period is received in the same compound RTCP packet as measurement period is received in the same compound RTCP packet as
this metrics block. If not, this metrics block MUST be discarded. this metrics block. If not, this metrics block MUST be discarded.
3.1. Report Block Structure 3.1. Report Block Structure
The structure of the Burst/Gap Discard Metrics Block is as follows. The structure of the Independent Burst/Gap Discard Metrics Block is
as follows.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=IBGD | I | resv | Block Length = 5 | | BT=35 | I | resv | Block Length = 5 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of Source | | SSRC of Source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Threshold | Sum of Burst Durations (ms) | | Threshold | Sum of Burst Durations (ms) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Packets Discarded in Bursts | Number of | | Packets Discarded in Bursts | Number of |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bursts | Total Packets Expected in Bursts | | Bursts | Total Packets Expected in Bursts |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Discard Count | | Discard Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Report Block Structure Figure 1: Report Block Structure
3.2. Definition of Fields in Burst/Gap Discard Metrics Block 3.2. Definition of Fields in the Independent Burst/Gap Discard Metrics
Block
Block Type (BT): 8 bits Block Type (BT): 8 bits
A Burst/Gap Discard Metrics Block is identified by the constant An Independent Burst/Gap Discard Metrics Block is identified by
IBGD. the constant 35.
[Note to RFC Editor: Please replace IBGD with the IANA provided
RTCP XR block type for this block.]
Interval Metric flag (I): 2 bits Interval Metric flag (I): 2 bits
This field is used to indicate whether the burst/gap discard This field is used to indicate whether the burst/gap discard
metrics are Sampled, Interval, or Cumulative metrics [RFC6792]: metrics are Sampled, Interval, or Cumulative metrics [RFC6792]:
I=10: Interval Duration - the reported value applies to the I=10: Interval Duration - the reported value applies to the
most recent measurement interval duration between successive most recent measurement interval duration between successive
metrics reports. metrics reports.
skipping to change at page 6, line 31 skipping to change at page 7, line 10
over definite intervals and cannot be sampled. Also, the value over definite intervals and cannot be sampled. Also, the value
I=00 is reserved for future use. Senders MUST NOT use the values I=00 is reserved for future use. Senders MUST NOT use the values
I=00 or I=01. If a block is received with I=00 or I=01, the I=00 or I=01. If a block is received with I=00 or I=01, the
receiver MUST discard the block. receiver MUST discard the block.
Reserved (resv): 6 bits Reserved (resv): 6 bits
These bits are reserved. They MUST be set to zero by senders and These bits are reserved. They MUST be set to zero by senders and
ignored by receivers (see [RFC6709], Section 4.2). ignored by receivers (see [RFC6709], Section 4.2).
block length: 16 bits Block Length: 16 bits
The length of this report block in 32-bit words, minus one. For The length of this report block in 32-bit words, minus one. For
the Burst/Gap Discard Metrics Block, the block length is equal to the Independent Burst/Gap Discard Metrics Block, the block length
5. The block MUST be discarded if the block length is set to a is equal to 5. The block MUST be discarded if the block length is
different value. set to a different value.
SSRC of Source: 32 bits SSRC of Source: 32 bits
As defined in Section 4.1 of [RFC3611]. As defined in Section 4 of [RFC3611].
Threshold: 8 bits Threshold: 8 bits
The Threshold is equivalent to Gmin in [RFC3611], i.e., the number The Threshold is equivalent to Gmin in [RFC3611], i.e., the number
of successive packets that have to be received prior to, and of successive packets that have to be received prior to, and
following, a discarded packet in order for that discarded packet following, a discarded packet in order for that discarded packet
to be regarded as part of a gap. Note that the Threshold is set to be regarded as part of a gap. Note that the Threshold is set
in accordance with the Gmin calculation defined in Section 4.7.2 in accordance with the Gmin calculation defined in Section 4.7.2
of [RFC3611]. of [RFC3611].
Sum of Burst Durations (ms): 24 bits Sum of Burst Durations (ms): 24 bits
The total duration of bursts of discarded packets in the period of The total duration of bursts of discarded packets in the period of
the report (Interval or Cumulative). the report (Interval or Cumulative).
The measured value is an unsigned value. If the measured value The measured value is an unsigned value. If the measured value
exceeds 0xFFFFFD, the value 0xFFFFFE MUST be reported to indicate exceeds 0xFFFFFD, the value 0xFFFFFE MUST be reported to indicate
an over-range measurement. If the measurement is unavailable, the an over-range measurement. If the measurement is unavailable, the
value 0xFFFFFF MUST be reported. value 0xFFFFFF MUST be reported.
Packets Discarded in Bursts: 24 bits Packets Discarded in Bursts: 24 bits
skipping to change at page 8, line 7 skipping to change at page 8, line 42
These metrics provide the following information relevant to These metrics provide the following information relevant to
statistical parameters (depending on cumulative of interval statistical parameters (depending on cumulative of interval
measures), for example: measures), for example:
o The average discarded burst size, which can be calculated by o The average discarded burst size, which can be calculated by
dividing the metric "Packets Discarded in Bursts" by the "Number dividing the metric "Packets Discarded in Bursts" by the "Number
of Bursts". of Bursts".
o The average burst duration, which can be calculated by dividing o The average burst duration, which can be calculated by dividing
the metric "Sum of Burst Durations (ms)" by the "Number of the metric "Sum of Burst Durations (ms)" by the "Number of
bursts". Bursts".
4. Considerations for Voice-over-IP Applications 4. Considerations for Voice-over-IP Applications
This metrics block is applicable to a broad range of RTP This metrics block is applicable to a broad range of RTP
applications. Where the metric is used with a Voice-over-IP (VoIP) applications. Where the metric is used with a Voice-over-IP (VoIP)
application and the stream repair means is not available, the application and the stream repair means is not available, the
following considerations apply. following considerations apply.
RTCP XR views a call as being divided into bursts, which are periods RTCP XR views a call as being divided into bursts, which are periods
during which the discard rate is high enough to cause noticeable call during which the discard rate is high enough to cause noticeable call
quality degradation (generally over 5 percent discard rate) and gaps, quality degradation (generally a discard rate over 5 percent) and
which are periods during which discarded packets are infrequent and gaps, which are periods during which discarded packets are
hence call quality is generally acceptable. infrequent, and hence call quality is generally acceptable.
If voice activity detection is used, the burst and gap duration is If voice activity detection is used, the burst/gap duration is
determined as if silence packets had been sent, i.e., a period of determined as if silence packets had been sent, i.e., a period of
silence in excess of Gmin packets will terminate a burst condition. silence in excess of Gmin packets will terminate a burst condition.
The RECOMMENDED value for the threshold Gmin in [RFC3611] results in The RECOMMENDED value for the threshold Gmin in [RFC3611] results in
a burst being a period of time during which the call quality is a burst being a period of time during which the call quality is
degraded to a similar extent to a typical pulse code modulation (PCM) degraded to a similar extent to a typical pulse code modulation (PCM)
severely errored second. severely errored second.
5. SDP Signaling 5. SDP Signaling
skipping to change at page 9, line 15 skipping to change at page 10, line 13
parameters, refer to Section 5.2 of [RFC3611]. parameters, refer to Section 5.2 of [RFC3611].
6. IANA Considerations 6. IANA Considerations
New block types for RTCP XR are subject to IANA registration. For New block types for RTCP XR are subject to IANA registration. For
general guidelines on IANA considerations for RTCP XR, refer to general guidelines on IANA considerations for RTCP XR, refer to
[RFC3611]. [RFC3611].
6.1. New RTCP XR Block Type Value 6.1. New RTCP XR Block Type Value
This document assigns the block type value IBGD in the IANA "RTP This document assigns the block type value 35 in the IANA "RTP
Control Protocol Extended Reports (RTCP XR) Block Type Registry" to Control Protocol Extended Reports (RTCP XR) Block Type Registry" to
the "Burst/Gap Discard Metrics Block". the "Independent Burst/Gap Discard Metrics Block".
[Note to RFC Editor: Please replace IBGD with the IANA provided RTCP
XR block type for this block.]
6.2. New RTCP XR SDP Parameter 6.2. New RTCP XR SDP Parameter
This document also registers a new parameter "ind-burst-gap-discard" This document also registers a new parameter "ind-burst-gap-discard"
in the "RTP Control Protocol Extended Reports (RTCP XR) Session in the "RTP Control Protocol Extended Reports (RTCP XR) Session
Description Protocol (SDP) Parameters Registry". Description Protocol (SDP) Parameters Registry".
6.3. Contact Information for Registrations 6.3. Contact Information for Registrations
The contact information for the registrations is: The contact information for the registrations is:
ART Area Directors <art-ads@ietf.org> ART Area Directors <art-ads@ietf.org>
7. Security Considerations 7. Security Considerations
This block does not provide per-packet statistics, so the risk to This block does not provide per-packet statistics, so the risk to
confidentiality documented in Section 7, paragraph 3 of [RFC3611] confidentiality documented in Section 7, paragraph 3 of [RFC3611]
does not apply. However the gap indicated within this block could be does not apply. However, the gap indicated within this block could
used to detect the timing of other events on the path between the be used to detect the timing of other events on the path between the
sender and receiver. For example, a competing multimedia stream sender and receiver. For example, a competing multimedia stream
might cause a discard burst for the duration of the stream, allowing might cause a discard burst for the duration of the stream, allowing
the receiver of this block to know when the competing stream was the receiver of this block to know when the competing stream was
active. This risk is not a significant threat since the only active. This risk is not a significant threat since the only
information leaked is the timing of the discard, not the cause. information leaked is the timing of the discard, not the cause.
Where this is a concern, the implementation SHOULD apply encryption Where this is a concern, the implementation SHOULD apply encryption
and authentication to this report block. For example, this can be and authentication to this report block. For example, this can be
achieved by using the Audio-Visual Profile with Feedback (AVPF) achieved by using the Audio-Visual Profile with Feedback (AVPF)
profile together with the Secure RTP profile, as defined in profile together with the Secure RTP profile, as defined in
[RFC3711]; an appropriate combination of those two profiles ("SAVPF") [RFC3711]; an appropriate combination of those two profiles ("SAVPF")
is specified in [RFC5124]. Besides this, it is believed that this is specified in [RFC5124]. Besides this, it is believed that this
RTCP XR block introduces no new security considerations beyond those RTCP XR block introduces no new security considerations beyond those
described in [RFC3611]. described in [RFC3611].
8. Contributors 8. References
Qin Wu, Rachel Huang, and Alan Clark wrote RFC7003, which this
document extends.
9. Acknowledgments
The authors would like to thank Ben Campbell, Stephen Farrell, Paul
Kyzivat, Shucheng LIU, Jan Novak, and Dan Romascanu for providing
valuable feedback on earlier versions of this draft.
10. References
10.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
July 2003, <http://www.rfc-editor.org/info/rfc3550>. July 2003, <http://www.rfc-editor.org/info/rfc3550>.
skipping to change at page 11, line 26 skipping to change at page 12, line 10
Reporting Using a Source Description (SDES) Item and an Reporting Using a Source Description (SDES) Item and an
RTCP Extended Report (XR) Block", RFC 6776, RTCP Extended Report (XR) Block", RFC 6776,
DOI 10.17487/RFC6776, October 2012, DOI 10.17487/RFC6776, October 2012,
<http://www.rfc-editor.org/info/rfc6776>. <http://www.rfc-editor.org/info/rfc6776>.
[RFC7003] Clark, A., Huang, R., and Q. Wu, Ed., "RTP Control [RFC7003] Clark, A., Huang, R., and Q. Wu, Ed., "RTP Control
Protocol (RTCP) Extended Report (XR) Block for Burst/Gap Protocol (RTCP) Extended Report (XR) Block for Burst/Gap
Discard Metric Reporting", RFC 7003, DOI 10.17487/RFC7003, Discard Metric Reporting", RFC 7003, DOI 10.17487/RFC7003,
September 2013, <http://www.rfc-editor.org/info/rfc7003>. September 2013, <http://www.rfc-editor.org/info/rfc7003>.
10.2. Informative References 8.2. Informative References
[I-D.ietf-payload-flexible-fec-scheme] [FLEX_FEC]
Singh, V., Begen, A., Zanaty, M., and G. Mandyam, "RTP Singh, V., Begen, A., Zanaty, M., and G. Mandyam, "RTP
Payload Format for Flexible Forward Error Correction Payload Format for Flexible Forward Error Correction
(FEC)", draft-ietf-payload-flexible-fec-scheme-02 (work in (FEC)", Work in Progress, draft-ietf-payload-flexible-fec-
progress), March 2016. scheme-03, October 2016.
[RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R. [RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R.
Hakenberg, "RTP Retransmission Payload Format", RFC 4588, Hakenberg, "RTP Retransmission Payload Format", RFC 4588,
DOI 10.17487/RFC4588, July 2006, DOI 10.17487/RFC4588, July 2006,
<http://www.rfc-editor.org/info/rfc4588>. <http://www.rfc-editor.org/info/rfc4588>.
[RFC6390] Clark, A. and B. Claise, "Guidelines for Considering New [RFC6390] Clark, A. and B. Claise, "Guidelines for Considering New
Performance Metric Development", BCP 170, RFC 6390, Performance Metric Development", BCP 170, RFC 6390,
DOI 10.17487/RFC6390, October 2011, DOI 10.17487/RFC6390, October 2011,
<http://www.rfc-editor.org/info/rfc6390>. <http://www.rfc-editor.org/info/rfc6390>.
skipping to change at page 13, line 9 skipping to change at page 13, line 9
[RFC7002] Clark, A., Zorn, G., and Q. Wu, "RTP Control Protocol [RFC7002] Clark, A., Zorn, G., and Q. Wu, "RTP Control Protocol
(RTCP) Extended Report (XR) Block for Discard Count Metric (RTCP) Extended Report (XR) Block for Discard Count Metric
Reporting", RFC 7002, DOI 10.17487/RFC7002, September Reporting", RFC 7002, DOI 10.17487/RFC7002, September
2013, <http://www.rfc-editor.org/info/rfc7002>. 2013, <http://www.rfc-editor.org/info/rfc7002>.
Appendix A. Metrics Represented Using the Template from RFC 6390 Appendix A. Metrics Represented Using the Template from RFC 6390
a. Threshold Metric a. Threshold Metric
* Defined in Appendix A.a of [RFC7003]. * Defined in item a of Appendix A of [RFC7003].
b. Sum of burst durations (ms) b. Sum of Burst Durations (ms)
* Metric Name: Sum of Burst Durations with Discarded RTP * Metric Name: Sum of Burst Durations with Discarded RTP
Packets. Packets.
* Metric Description: The total duration of bursts of discarded * Metric Description: The total duration of bursts of discarded
RTP packets in the period of the report. RTP packets in the period of the report.
* Method of Measurement or Calculation: See Section 3.1, Sum of * Method of Measurement or Calculation: See Section 3.2, Sum of
Burst Durations definition. Burst Durations definition.
* Units of Measurement: See Section 3.1, Sum of Burst Durations * Units of Measurement: See Section 3.2, Sum of Burst Durations
definition. definition.
* Measurement Point(s) with Potential Measurement Domain: See * Measurement Point(s) with Potential Measurement Domain: See
Section 3, 1st paragraph. Section 3, first paragraph.
* Measurement Timing: See Section 3, 2nd paragraph for * Measurement Timing: See Section 3, second paragraph for
measurement timing and Section 3.1 for Interval Metric flag. measurement timing and Section 3.2 for Interval Metric flag.
* Use and Applications: See Section 1.4. * Use and Applications: See Section 1.4.
* Reporting Model: See RFC 3611. * Reporting Model: See [RFC3611].
c. Packets Discarded in Bursts Metric c. Packets Discarded in Bursts Metric
* Defined in Appendix A.b of [RFC7003]. * Defined in item b of Appendix A of [RFC7003].
d. Number of bursts d. Number of Bursts
* Metric Name: Number of discard bursts in RTP. * Metric Name: Number of discard bursts in RTP.
* Metric Description: The total number of bursts with discarded * Metric Description: The total number of bursts with discarded
RTP packets in the period of the report. RTP packets in the period of the report.
* Method of Measurement or Calculation: See Section 3.1, Number * Method of Measurement or Calculation: See Section 3.2, Number
of discard bursts definition. of Bursts definition.
* Units of Measurement: See Section 3.1 for the Number of bursts * Units of Measurement: See Section 3.2 for the Number of Bursts
definition. definition.
* Measurement Point(s) with Potential Measurement Domain: See * Measurement Point(s) with Potential Measurement Domain: See
Section 3, 1st paragraph. Section 3, first paragraph.
* Measurement Timing: See Section 3, 2nd paragraph for * Measurement Timing: See Section 3, second paragraph for
measurement timing and Section 3.1 for Interval Metric flag. measurement timing and Section 3.2 for Interval Metric flag.
* Use and Applications: See Section 1.4. * Use and Applications: See Section 1.4.
* Reporting Model: See RFC 3611. * Reporting Model: See [RFC3611].
e. Total Packets Expected in Bursts Metric e. Total Packets Expected in Bursts Metric
* Defined in Appendix A.c of [RFC7003]. * Defined in item c of Appendix A of [RFC7003].
f. Discard Count f. Discard Count
* Defined in Appendix A.a of [RFC7002]. * Defined in Appendix A of [RFC7002].
Acknowledgments
The authors would like to thank Ben Campbell, Stephen Farrell, Paul
Kyzivat, Shucheng LIU, Jan Novak, and Dan Romascanu for providing
valuable feedback on this document.
Contributors
Qin Wu, Rachel Huang, and Alan Clark wrote RFC 7003, which this
document extends.
Authors' Addresses Authors' Addresses
Varun Singh Varun Singh
Nemu Dialogue Systems Oy CALLSTATS I/O Oy
Runeberginkatu 4c A 4 Runeberginkatu 4c A 4
Helsinki 00100 Helsinki 00100
Finland Finland
EMail: varun.singh@iki.fi Email: varun@callstats.io
URI: http://www.callstats.io/ URI: https://www.callstats.io/about
Colin Perkins Colin Perkins
University of Glasgow University of Glasgow
School of Computing Science School of Computing Science
Glasgow G12 8QQ Glasgow G12 8QQ
United Kingdom United Kingdom
EMail: csp@csperkins.org Email: csp@csperkins.org
Alan Clark Alan Clark
Telchemy Incorporated Telchemy Incorporated
2905 Premiere Parkway, Suite 280 2905 Premiere Parkway, Suite 280
Duluth, GA 30097 Duluth, GA 30097
USA United States of America
Email: alan.d.clark@telchemy.com
EMail: alan.d.clark@telchemy.com
Rachel Huang Rachel Huang
Huawei Technologies Co., Ltd. Huawei Technologies Co., Ltd.
101 Software Avenue, Yuhua District 101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012 Nanjing, Jiangsu 210012
China China
EMail: Rachel@huawei.com Email: Rachel@huawei.com
 End of changes. 63 change blocks. 
136 lines changed or deleted 129 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/