draft-ietf-xrblock-rtcp-xr-jb-12.txt   draft-ietf-xrblock-rtcp-xr-jb-13.txt 
Audio/Video Transport Working Group A. Clark Audio/Video Transport Working Group A. Clark
Internet-Draft Telchemy Internet-Draft Telchemy
Intended status: Standards Track V. Singh Intended status: Standards Track V. Singh
Expires: December 19, 2013 Aalto University Expires: December 30, 2013 Aalto University
Q. Wu Q. Wu
Huawei Huawei
June 17, 2013 June 28, 2013
RTP Control Protocol (RTCP) Extended Report (XR) Block for Jitter Buffer RTP Control Protocol (RTCP) Extended Report (XR) Block for De-Jitter
Metric Reporting Buffer Metric Reporting
draft-ietf-xrblock-rtcp-xr-jb-12.txt draft-ietf-xrblock-rtcp-xr-jb-13.txt
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 Jitter Buffer metrics for a (XR) Block that allows the reporting of De-Jitter Buffer metrics for
range of RTP applications. a range of RTP applications.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 19, 2013. This Internet-Draft will expire on December 30, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Jitter Buffer Metrics Block . . . . . . . . . . . . . . . 3 1.1. De-Jitter Buffer Metrics Block . . . . . . . . . . . . . . 3
1.2. RTCP and RTCP XR Reports . . . . . . . . . . . . . . . . . 3 1.2. RTCP and RTCP XR Reports . . . . . . . . . . . . . . . . . 3
1.3. Performance Metrics Framework . . . . . . . . . . . . . . 3 1.3. Performance Metrics Framework . . . . . . . . . . . . . . 3
1.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 3 1.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Standards Language . . . . . . . . . . . . . . . . . . . . 4 2.1. Standards Language . . . . . . . . . . . . . . . . . . . . 4
3. Jitter Buffer Operation . . . . . . . . . . . . . . . . . . . 5 3. De-Jitter Buffer Operation . . . . . . . . . . . . . . . . . . 5
3.1. Idealized Jitter Buffer . . . . . . . . . . . . . . . . . 5 3.1. Idealized De-Jitter Buffer . . . . . . . . . . . . . . . . 5
3.2. Fixed Jitter Buffer . . . . . . . . . . . . . . . . . . . 6 3.2. Fixed De-Jitter Buffer . . . . . . . . . . . . . . . . . . 6
3.3. Adaptive Jitter Buffer . . . . . . . . . . . . . . . . . . 6 3.3. Adaptive De-Jitter Buffer . . . . . . . . . . . . . . . . 6
4. Jitter Buffer Metrics Block . . . . . . . . . . . . . . . . . 7 4. De-Jitter Buffer Metrics Block . . . . . . . . . . . . . . . . 7
4.1. Report Block Structure . . . . . . . . . . . . . . . . . . 7 4.1. Report Block Structure . . . . . . . . . . . . . . . . . . 7
4.2. Definition of Fields in Jitter Buffer Metrics Block . . . 7 4.2. Definition of Fields in De-Jitter Buffer Metrics Block . . 7
5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 11 5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 11
5.1. SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . . 11 5.1. SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . . 11
5.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . . 11 5.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . . 11
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
6.1. New RTCP XR Block Type value . . . . . . . . . . . . . . . 12 6.1. New RTCP XR Block Type value . . . . . . . . . . . . . . . 12
6.2. New RTCP XR SDP Parameter . . . . . . . . . . . . . . . . 12 6.2. New RTCP XR SDP Parameter . . . . . . . . . . . . . . . . 12
6.3. Contact information for registrations . . . . . . . . . . 12 6.3. Contact information for registrations . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 14 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 14
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15
skipping to change at page 3, line 7 skipping to change at page 3, line 7
B.6. draft-ietf-xrblock-rtcp-xr-jb-07 . . . . . . . . . . . . . 20 B.6. draft-ietf-xrblock-rtcp-xr-jb-07 . . . . . . . . . . . . . 20
B.7. draft-ietf-xrblock-rtcp-xr-jb-05 . . . . . . . . . . . . . 21 B.7. draft-ietf-xrblock-rtcp-xr-jb-05 . . . . . . . . . . . . . 21
B.8. draft-ietf-xrblock-rtcp-xr-jb-03 . . . . . . . . . . . . . 21 B.8. draft-ietf-xrblock-rtcp-xr-jb-03 . . . . . . . . . . . . . 21
B.9. draft-ietf-xrblock-rtcp-xr-jb-02 . . . . . . . . . . . . . 21 B.9. draft-ietf-xrblock-rtcp-xr-jb-02 . . . . . . . . . . . . . 21
B.10. draft-ietf-xrblock-rtcp-xr-jb-01 . . . . . . . . . . . . . 21 B.10. draft-ietf-xrblock-rtcp-xr-jb-01 . . . . . . . . . . . . . 21
B.11. draft-ietf-xrblock-rtcp-xr-jb-00 . . . . . . . . . . . . . 21 B.11. draft-ietf-xrblock-rtcp-xr-jb-00 . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23
1. Introduction 1. Introduction
1.1. Jitter Buffer Metrics Block 1.1. De-Jitter Buffer Metrics Block
This document defines a new block type to augment those defined in This document defines a new block type to augment those defined in
[RFC3611], for use in a range of RTP applications. [RFC3611], for use in a range of RTP applications.
The new block type provides information on jitter buffer The new block type provides information on jitter buffer
configuration and performance. configuration and performance.
The metric belongs to the class of transport-related end system The metric belongs to the class of transport-related end system
metrics defined in [RFC6792]. metrics defined in [RFC6792].
skipping to change at page 3, line 41 skipping to change at page 3, line 41
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 Architectures [RFC6792] provides guideline for reporting Monitoring Architectures [RFC6792] provides guideline for reporting
block format using RTCP XR. Metrics described in this draft are in block format using RTCP XR. Metrics described in this draft are in
accordance with the guidelines in [RFC6390]and [RFC6792]. accordance with the guidelines in [RFC6390]and [RFC6792].
1.4. Applicability 1.4. Applicability
Real-time applications employ a de-jitter buffer [RFC5481] to absorb Real-time applications employ a de-de-jitter buffer [RFC5481] to
jitter introduced on the path from source to destination. These absorb jitter introduced on the path from source to destination.
metrics are used to report how the jitter buffer at the receiving end These metrics are used to report how the de-jitter buffer at the
of RTP stream behaves as a result of jitter in the network; and they receiving end of RTP stream behaves as a result of jitter in the
are applicable to a range of RTP applications. network; and they are applicable to a range of RTP applications.
These metrics are corresponding to terminal related factors that These metrics are corresponding to terminal related factors that
affect real-time application quality and are useful to provide better affect real-time application quality and are useful to provide better
end-user quality of experience (QoE) when these terminal-related end-user quality of experience (QoE) when these terminal-related
factors are used as inputs to calculate QoE metrics [QMB]. factors are used as inputs to calculate QoE metrics [QMB].
2. Terminology 2. Terminology
2.1. Standards Language 2.1. Standards Language
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].
3. Jitter Buffer Operation 3. De-Jitter Buffer Operation
A jitter buffer is required to absorb delay variation in network A de-jitter buffer is required to absorb delay variation in network
delivery of media packets. A jitter buffer works by holding media delivery of media packets. A de-jitter buffer works by holding media
data for a period of time after it is received and before it is data for a period of time after it is received and before it is
played out. Packets that arrive early are held in the jitter buffer played out. Packets that arrive early are held in the de-jitter
longer. If packets arrive too early they may be discarded if there buffer longer. If packets arrive too early they may be discarded if
is no available jitter buffer space. If packets are delayed there is no available de-jitter buffer space. If packets are delayed
excessively by the network they may be discarded if they miss their excessively by the network they may be discarded if they miss their
playout time. playout time.
Overall user perceived delay = network round trip delay + local The de-jitter buffer can be considered as a time window with early
(jitter buffer (nominal) delay + encoder serialization delay) + edge aligned with the delay corresponding to the earliest arriving
remote (jitter buffer (nominal) delay + encoder serialization delay) packet and late edge representing the maximum permissible delay
before a late arriving packet would be discarded. The delay applied
The jitter buffer can be considered as a time window with early edge to packets that arrive on time or at their expected arrival time is
aligned with the delay corresponding to the earliest arriving packet
and late edge representing the maximum permissible delay before a
late arriving packet would be discarded. The delay applied to
packets that arrive on time or at their expected arrival time is
known as the Nominal Delay and this is equivalent to the time known as the Nominal Delay and this is equivalent to the time
difference/ buffer size difference between the on-time packets difference/ buffer size difference between the on-time packets
insertion point and the point at which packets are read out. insertion point and the point at which packets are read out.
The reference for the expected arrival time may, for example, be the The reference for the expected arrival time may, for example, be the
first packet in the session or the running average delay. If all first packet in the session or the running average delay. If all
packets arrived at their expected arrival time, then every packet packets arrived at their expected arrival time, then every packet
would be held in the jitter buffer exactly the Nominal Delay. would be held in the de-jitter buffer exactly the Nominal Delay.
The jitter buffer maximum delay is the delay that is applied to an The de-jitter buffer maximum delay is the delay that is applied to an
earliest arriving packet that is not discarded and corresponds to the earliest arriving packet that is not discarded and corresponds to the
early edge of the jitter buffer time window. early edge of the de-jitter buffer time window.
3.1. Idealized Jitter Buffer 3.1. Idealized De-Jitter Buffer
In practice jitter buffer implementations vary considerably however In practice de-jitter buffer implementations vary considerably
they should behave in a manner conceptually consistent with an however they should behave in a manner conceptually consistent with
idealized jitter buffer described as follows: an idealized de-jitter buffer described as follows:
(i). Receive the first packet and delay playout by D ms. Keep (i). Receive the first packet and delay playout by D ms. Keep
the RTP timestamp and receive time as a reference. the RTP timestamp and receive time as a reference.
RTP TS[1] RTP Timestamp(TS)[1]
receive time[1] receive time[1]
Assume that both are normalized in ticks (there are 10 000 ticks Assume that both are normalized in ticks (there are 10 000 ticks
in a millisecond). in a millisecond).
(ii). Receive the next packet (ii). Receive the next packet
(iii). Calculate r = RTP TS[n] - RTP TS[1] and t = receive (iii). Calculate r = RTP TS[n] - RTP TS[1] and t = receive
time[n] - receive time[1]. If r == t then the packet arrived on time[n] - receive time[1]. If r == t then the packet arrived on
time. If r < t then the packet arrived late and if r > t then the time. If r < t then the packet arrived late and if r > t then the
packet arrived early. packet arrived early.
(iv). Delay playout of packet by D + (r-t) (iv). Delay playout of packet by D + (r-t)
(v). Go back to (ii) (v). Go back to (ii)
Note that this idealized implementation assumes that the sender's RTP Note that this idealized implementation assumes that the sender's RTP
skipping to change at page 6, line 19 skipping to change at page 6, line 16
time. If r < t then the packet arrived late and if r > t then the time. If r < t then the packet arrived late and if r > t then the
packet arrived early. packet arrived early.
(iv). Delay playout of packet by D + (r-t) (iv). Delay playout of packet by D + (r-t)
(v). Go back to (ii) (v). Go back to (ii)
Note that this idealized implementation assumes that the sender's RTP Note that this idealized implementation assumes that the sender's RTP
clock is synchronized to the clock in the receiver which is used to clock is synchronized to the clock in the receiver which is used to
timestamp packet arrivals. If there is no such inherent timestamp packet arrivals. If there is no such inherent
synchronization, the system may need to use an adaptive jitter buffer synchronization, the system may need to use an adaptive de-jitter
or other techniques to ensure reliable reception. buffer or other techniques to ensure reliable reception.
3.2. Fixed Jitter Buffer 3.2. Fixed De-Jitter Buffer
A fixed jitter buffer lacks provision to track network condition and A fixed de-jitter buffer lacks provision to track network condition
has a fixed size and packets leaving the jitter buffer have a and has a fixed size and packets leaving the de-jitter buffer have a
constant delay. For fixed jitter buffer implementation, the nominal constant delay. For fixed de-jitter buffer implementation, the
delay is set to a constant value corresponding to the packets that nominal delay is set to a constant value corresponding to the packets
arrive at their expected arrival time while the maximum delay is set that arrive at their expected arrival time while the maximum delay is
to a constant value corresponding to the fixed size of the jitter set to a constant value corresponding to the fixed size of the de-
buffer. jitter buffer.
3.3. Adaptive Jitter Buffer 3.3. Adaptive De-Jitter Buffer
An adaptive jitter buffer can adapt to the change in the network's An adaptive de-jitter buffer can adapt to the change in the network's
delay and has variable size or variable delay. It allows the nominal delay and has variable size or variable delay. It allows the nominal
delay to be set to a low value initially, to minimize user perceived delay to be set to a low value initially, to minimize user perceived
delay, however can automatically extend the late edge (and possibly delay, however can automatically extend the late edge (and possibly
also retract the early edge) of buffer window if a significant also retract the early edge) of buffer window if a significant
proportion of packets are arriving late (and hence being discarded). proportion of packets are arriving late (and hence being discarded).
4. Jitter Buffer Metrics Block 4. De-Jitter Buffer Metrics Block
This block describes the configuration and operating parameters of This block describes the configuration and operating parameters of
the jitter buffer in the receiver of the RTP end system or RTP mixer the de-jitter buffer in the receiver of the RTP end system or RTP
which sends the report. Instances of this metrics block refer by mixer which sends the report. Instances of this metrics block refer
SSRC to the separate auxiliary Measurement Information Block by SSRC to the separate auxiliary Measurement Information Block
[RFC6776] which describes the measurement interval in use. This [RFC6776] which describes the measurement interval in use. This
metrics block relies on the measurement interval in the Measurement metrics block relies on the measurement interval in the Measurement
Information Block indicating the span of the report and MUST be sent Information Block indicating the span of the report and MUST be sent
in the same compound RTCP packet as the Measurement Information in the same compound RTCP packet as the Measurement Information
Block. If the measurement interval is not received in the same Block. If the measurement interval is not received in the same
compound RTCP packet as this metrics block, this metrics block MUST compound RTCP packet as this metrics block, this metrics block MUST
be discarded. be discarded.
4.1. Report Block Structure 4.1. Report Block Structure
Jitter Buffer (JB) Metrics Block De-Jitter Buffer (DJB) Metrics Block
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=NJB | I |C| Rsvd. | block length=3 | | BT=DJB | I |C| Rsvd. | block length=3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of Source | | SSRC of Source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| JB nominal | JB maximum | | DJB nominal | DJB maximum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| JB high water mark | JB low water mark | | DJB high water mark | DJB low water mark |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Report Block Structure Figure 1: Report Block Structure
4.2. Definition of Fields in Jitter Buffer Metrics Block 4.2. Definition of Fields in De-Jitter Buffer Metrics Block
Block type (BT): 8 bits Block type (BT): 8 bits
A Jitter Buffer Metrics Report Block is identified by the constant A de-jitter buffer Metrics Report Block is identified by the
NJB. constant DJB.
[Note to RFC Editor: please replace NJB with the IANA provided [Note to RFC Editor: please replace DJB with the IANA provided
RTCP XR block type for this block.] 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 Jitter Buffer metrics This field is used to indicate whether the de-jitter buffer
are Sampled, Interval or Cumulative metrics: metrics are Sampled, Interval or Cumulative metrics:
I=01: Sampled Value - the reported value is a sampled I=01: Sampled Value - the reported value is a sampled
instantaneous value. instantaneous value.
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.
I=11: Cumulative Duration - the reported value applies to the I=11: Cumulative Duration - the reported value applies to the
accumulation period characteristic of cumulative measurements. accumulation period characteristic of cumulative measurements.
In this document, Jitter Buffer Metrics can only be sampled , and In this document, de-jitter buffer Metrics can only be sampled ,
cannot be measured over definite intervals. Also, the value I=00 and cannot be measured over definite intervals. Also, the value
is reserved for future use. Senders MUST NOT use the values I=00 I=00 is reserved for future use. Senders MUST NOT use the values
or I=10 or I=11. If a block is received with I=00 or I=10 or I=00 or I=10 or I=11. If a block is received with I=00 or I=10 or
I=11, the receiver MUST discard the block. I=11, the receiver MUST discard the block.
Jitter Buffer Configuration (C): 1 bit Jitter Buffer Configuration (C): 1 bit
This field is used to identify the jitter buffer method in use at This field is used to identify the de-jitter buffer method in use
the receiver, according to the following code: at the receiver, according to the following code:
0 = Fixed jitter buffer 0 = Fixed de-jitter buffer
1 = Adaptive jitter buffer 1 = Adaptive de-jitter buffer
Reserved (Rsvd.): 5 bits Reserved (Rsvd.): 5 bits
These bits are reserved. They MUST be set to zero by senders These bits are reserved. They MUST be set to zero by senders
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, in The length of this report block in 32-bit words, minus one, in
accordance with the definition in [RFC3611]. This field MUST be accordance with the definition in [RFC3611]. This field MUST be
set to 3 to match the fixed length of the report block. set to 3 to match the fixed length of the report block.
jitter buffer nominal delay (JB nominal): 16 bits de-jitter buffer nominal delay (DJB nominal): 16 bits
This is the current nominal jitter buffer delay in milliseconds, This is the current nominal de-jitter buffer delay in
which corresponds to the nominal jitter buffer delay for packets milliseconds, which corresponds to the nominal de-jitter buffer
that arrive exactly on time. It is calculated based on the time delay for packets that arrive exactly on time. It is calculated
spent in the jitter buffer for the packet that arrives exactly on based on the time spent in the de-jitter buffer for the packet
time. This parameter MUST be provided for both fixed and adaptive that arrives exactly on time. This parameter MUST be provided for
jitter buffer implementations. both fixed and adaptive de-jitter buffer implementations.
The measured value is unsigned value. If the measured value The measured value is unsigned value. If the measured value
exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate an exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate an
over-range measurement. If the measurement is unavailable, the over-range measurement. If the measurement is unavailable, the
value 0xFFFF MUST be reported. value 0xFFFF MUST be reported.
jitter buffer maximum delay (JB maximum): 16 bits de-jitter buffer maximum delay (DJB maximum): 16 bits
This is the current maximum jitter buffer delay in milliseconds This is the current maximum de-jitter buffer delay in milliseconds
which corresponds to the earliest arriving packet that would not which corresponds to the earliest arriving packet that would not
be discarded. It is calculated based on the time spent in the be discarded. It is calculated based on the time spent in the de-
jitter buffer for the earliest arriving packet In simple queue jitter buffer for the earliest arriving packet In simple queue
implementations this may correspond to the size of the jitter implementations this may correspond to the size of the de-jitter
buffer. In adaptive jitter buffer implementations, this value may buffer. In adaptive de-jitter buffer implementations, this value
vary dynamically. This parameter MUST be provided for both fixed may vary dynamically. This parameter MUST be provided for both
and adaptive jitter buffer implementations. fixed and adaptive de-jitter buffer implementations.
The measured value is unsigned value. If the measured value The measured value is unsigned value. If the measured value
exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate an exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate an
over-range measurement. If the measurement is unavailable, the over-range measurement. If the measurement is unavailable, the
value 0xFFFF MUST be reported. value 0xFFFF MUST be reported.
jitter buffer high water mark (JB high water mark): 16 bits de-jitter buffer high water mark (DJB high water mark): 16 bits
This is the highest value of the jitter buffer nominal delay in This is the highest value of the de-jitter buffer nominal delay in
milliseconds which occurred at any time during the reporting milliseconds which occurred at any time during the reporting
interval. This parameter MUST be provided for adaptive jitter interval. This parameter MUST be provided for adaptive de-jitter
buffer implementations and its value MUST be set to JB maximum for buffer implementations and its value MUST be set to JB maximum for
fixed jitter buffer implementations. fixed de-jitter buffer implementations.
The measured value is unsigned value. If the measured value The measured value is unsigned value. If the measured value
exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate an exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate an
over-range measurement. If the measurement is unavailable, the over-range measurement. If the measurement is unavailable, the
value 0xFFFF MUST be reported. value 0xFFFF MUST be reported.
jitter buffer low water mark (JB low water mark): 16 bits de-jitter buffer low water mark (DJB low water mark): 16 bits
This is the lowest value of the jitter buffer nominal delay in This is the lowest value of the de-jitter buffer nominal delay in
milliseconds which occurred at any time during the reporting milliseconds which occurred at any time during the reporting
interval. This parameter MUST be provided for adaptive jitter interval. This parameter MUST be provided for adaptive de-jitter
buffer implementations and its value MUST be set to JB maximum for buffer implementations and its value MUST be set to JB maximum for
fixed jitter buffer implementations. fixed de-jitter buffer implementations.
The measured value is unsigned value. If the measured value The measured value is unsigned value. If the measured value
exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate an exceeds 0xFFFD, the value 0xFFFE MUST be reported to indicate an
over-range measurement. If the measurement is unavailable, the over-range measurement. If the measurement is unavailable, the
value 0xFFFF MUST be reported. value 0xFFFF MUST be reported.
5. SDP Signaling 5. SDP Signaling
[RFC3611] defines the use of SDP (Session Description Protocol) [RFC3611] defines the use of SDP (Session Description Protocol)
[RFC4566] for signaling the use of XR blocks. However XR blocks MAY [RFC4566] for signaling the use of XR blocks. However XR blocks MAY
be used without prior signaling (see section 5 of RFC3611). be used without prior signaling (see section 5 of RFC3611).
5.1. SDP rtcp-xr-attrib Attribute Extension 5.1. SDP rtcp-xr-attrib Attribute Extension
This section augments the SDP [RFC4566] attribute "rtcp-xr" defined This section augments the SDP [RFC4566] attribute "rtcp-xr" defined
in [RFC3611] by providing an additional value of "xr-format" to in [RFC3611] by providing an additional value of "xr-format" to
signal the use of the report block defined in this document. signal the use of the report block defined in this document.
xr-format =/ xr-jb-block xr-format =/ xr-djb-block
xr-jb-block = "jitter-buffer" xr-djb-block = "de-jitter-buffer"
5.2. Offer/Answer Usage 5.2. Offer/Answer Usage
When SDP is used in offer-answer context [RFC3264], the SDP Offer/ When SDP is used in offer-answer context [RFC3264], the SDP Offer/
Answer usage defined in [RFC3611] for unilateral "rtcp-xr" attribute Answer usage defined in [RFC3611] for unilateral "rtcp-xr" attribute
parameters applies. For detailed usage of Offer/Answer for parameters applies. For detailed usage of Offer/Answer for
unilateral parameter, refer to section 5.2 of [RFC3611]. unilateral parameter, 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 NJB in the IANA "RTCP XR This document assigns the block type value DJB in the IANA "RTP
Block Type Registry" to the "JB Metrics Block". Control Protocol Extended Reports (RTCP XR) Block Type Registry" to
the "De-Jitter Buffer Metrics Block".
[Note to RFC Editor: please replace NJB with the IANA provided RTCP [Note to RFC Editor: please replace DJB with the IANA provided RTCP
XR block type for this block.] 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 "jitter-buffer" in the This document also registers a new parameter "de-jitter-buffer" in
"RTCP XR SDP Parameters Registry". the "RTP Control Protocol Extended Reports (RTCP XR) Session
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:
Qin Wu (sunseawq@huawei.com) Qin Wu (sunseawq@huawei.com)
101 Software Avenue, Yuhua District 101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012 Nanjing, Jiangsu 210012
China China
7. Security Considerations 7. Security Considerations
It is believed that this proposed RTCP XR report block introduces no It is believed that this proposed RTCP XR report block introduces no
new security considerations beyond those described in [RFC3611]. new security considerations beyond those described in [RFC3611].
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. does not apply.
8. Contributors 8. Contributors
skipping to change at page 15, line 13 skipping to change at page 15, line 13
Geoff Hunt wrote the initial draft of this document. Geoff Hunt wrote the initial draft of this document.
9. Acknowledgments 9. Acknowledgments
The authors gratefully acknowledge reviews and feedback provided by The authors gratefully acknowledge reviews and feedback provided by
Bruce Adams, Philip Arden, Amit Arora, Bob Biskner, Kevin Connor, Bruce Adams, Philip Arden, Amit Arora, Bob Biskner, Kevin Connor,
Claus Dahm, Randy Ethier, Roni Even, Jim Frauenthal, Albert Higashi, Claus Dahm, Randy Ethier, Roni Even, Jim Frauenthal, Albert Higashi,
Tom Hock, Shane Holthaus, Paul Jones, Rajesh Kumar, Keith Lantz, Tom Hock, Shane Holthaus, Paul Jones, Rajesh Kumar, Keith Lantz,
Mohamed Mostafa, Amy Pendleton, Colin Perkins, Mike Ramalho, Ravi Mohamed Mostafa, Amy Pendleton, Colin Perkins, Mike Ramalho, Ravi
Raviraj, Albrecht Schwarz, Tom Taylor, Hideaki Yamada,Claire Bi,Colin Raviraj, Albrecht Schwarz, Tom Taylor, Hideaki Yamada,Claire Bi,Colin
Perkin, Dan Romascanu, Kevin Gross and Glen Zorn. Perkin, Dan Romascanu, Kevin Gross ,Glen Zorn, Spencer Dawkins and
Benoit Claise.
10. References 10. References
10.1. Normative References 10.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", March 1997. Requirement Levels", March 1997.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with the Session Description Protocol (SDP)", RFC 3264, with the Session Description Protocol (SDP)", RFC 3264,
skipping to change at page 17, line 10 skipping to change at page 17, line 10
September 2012. September 2012.
[RFC6792] Hunt, G., Wu, Q., and P. Arden, "Monitoring Architectures [RFC6792] Hunt, G., Wu, Q., and P. Arden, "Monitoring Architectures
for RTP", RFC 6792, November 2012. for RTP", RFC 6792, November 2012.
Appendix A. Metrics represented using RFC6390 Template Appendix A. Metrics represented using RFC6390 Template
RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC
number, when assigned. number, when assigned.
a. jitter buffer nominal delay Metric a. de-jitter buffer nominal delay Metric
* Metric Name: jitter buffer nominal delay in RTP * Metric Name: de-jitter buffer nominal delay in RTP
* Metric Description: The "expected arrival time" is the time * Metric Description: The "expected arrival time" is the time
that a RTP packet would arrive if there was no delay that a RTP packet would arrive if there was no delay
variation. The delay applied to packets that arrive at their variation. The delay applied to packets that arrive at their
expected time is known as the Nominal Delay. expected time is known as the Nominal Delay.
* Method of Measurement or Calculation: See section 4.2, jitter * Method of Measurement or Calculation: See section 4.2, de-
buffer nominal delay definition [RFCXXXX]. jitter buffer nominal delay definition [RFCXXXX].
* Units of Measurement: See section 4.2, jitter buffer nominal * Units of Measurement: See section 4.2, de-jitter buffer
delay definition [RFCXXXX]. nominal delay definition [RFCXXXX].
* Measurement Point(s) with Potential Measurement Domain: See * Measurement Point(s) with Potential Measurement Domain: See
section 4, 1st paragraph [RFCXXXX]. section 4, 1st paragraph [RFCXXXX].
* Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for * Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for
measurement timing and section 4.2 paragraph [RFCXXXX] for measurement timing and section 4.2 paragraph [RFCXXXX] for
Interval Metric flag. Interval Metric flag.
* Use and applications: See section 1.4 [RFCXXXX]. * Use and applications: See section 1.4 [RFCXXXX].
* Reporting model: See RFC3611. * Reporting model: See RFC3611.
b. jitter buffer maximum delay Metric b. de-jitter buffer maximum delay Metric
* Metric Name: jitter buffer maximum delay in RTP * Metric Name: de-jitter buffer maximum delay in RTP
* Metric Description: It is the current maximum jitter buffer * Metric Description: It is the current maximum de-jitter buffer
delay for RTP traffic which corresponds to the earliest delay for RTP traffic which corresponds to the earliest
arriving packet that would not be discarded. arriving packet that would not be discarded.
* Method of Measurement or Calculation: See section 4.2, jitter * Method of Measurement or Calculation: See section 4.2, de-
buffer maximum delay definition and section 3, the last jitter buffer maximum delay definition and section 3, the last
paragraph [RFCXXXX]. paragraph [RFCXXXX].
* Units of Measurement: See section 4.2, jitter buffer maximum * Units of Measurement: See section 4.2, de-jitter buffer
delay definition [RFCXXXX]. maximum delay definition [RFCXXXX].
* Measurement Point(s) with Potential Measurement Domain: See * Measurement Point(s) with Potential Measurement Domain: See
section 4, 1st paragraph [RFCXXXX]. section 4, 1st paragraph [RFCXXXX].
* Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for * Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for
measurement timing and section 4.2 paragraph [RFCXXXX] for measurement timing and section 4.2 paragraph [RFCXXXX] for
Interval Metric flag. Interval Metric flag.
* Use and applications: See section 1.4 [RFCXXXX]. * Use and applications: See section 1.4 [RFCXXXX].
* Reporting model: See RFC3611. * Reporting model: See RFC3611.
c. jitter buffer high water mark Metric c. de-jitter buffer high water mark Metric
* Metric Name: jitter buffer high water mark in RTP * Metric Name: de-jitter buffer high water mark in RTP
* Metric Description: It is the highest value of the jitter * Metric Description: It is the highest value of the de-jitter
buffer nominal delay for RTP traffic which occurred at any buffer nominal delay for RTP traffic which occurred at any
time during the reporting interval. time during the reporting interval.
* Method of Measurement or Calculation: See section 4.2, jitter * Method of Measurement or Calculation: See section 4.2, de-
buffer high water mark definition [RFCXXXX]. jitter buffer high water mark definition [RFCXXXX].
* Units of Measurement: See section 4.2, jitter buffer nominal * Units of Measurement: See section 4.2, de-jitter buffer
delay definition [RFCXXXX]. nominal delay definition [RFCXXXX].
* Measurement Point(s) with Potential Measurement Domain: See * Measurement Point(s) with Potential Measurement Domain: See
section 4, 1st paragraph [RFCXXXX]. section 4, 1st paragraph [RFCXXXX].
* Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for * Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for
measurement timing and section 4.2 paragraph [RFCXXXX] for measurement timing and section 4.2 paragraph [RFCXXXX] for
Interval Metric flag. Interval Metric flag.
* Use and applications: See section 1.4 [RFCXXXX]. * Use and applications: See section 1.4 [RFCXXXX].
* Reporting model: See RFC3611. * Reporting model: See RFC3611.
d. jitter buffer low water mark Metric d. de-jitter buffer low water mark Metric
* Metric Name: jitter buffer low water mark in RTP * Metric Name: de-jitter buffer low water mark in RTP
* Metric Description: It is the lowest value of the jitter * Metric Description: It is the lowest value of the de-jitter
buffer nominal delay for RTP traffic which occurred at any buffer nominal delay for RTP traffic which occurred at any
time during the reporting interval. time during the reporting interval.
* Method of Measurement or Calculation: See section 4.2, jitter * Method of Measurement or Calculation: See section 4.2, de-
buffer low water mark definition [RFCXXXX]. jitter buffer low water mark definition [RFCXXXX].
* Units of Measurement: See section 4.2, jitter buffer low water * Units of Measurement: See section 4.2, de-jitter buffer low
mark definition [RFCXXXX]. water mark definition [RFCXXXX].
* Measurement Point(s) with Potential Measurement Domain: See * Measurement Point(s) with Potential Measurement Domain: See
section 4, 1st paragraph [RFCXXXX]. section 4, 1st paragraph [RFCXXXX].
* Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for * Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for
measurement timing and section 4.2 paragraph [RFCXXXX] for measurement timing and section 4.2 paragraph [RFCXXXX] for
Interval Metric flag. Interval Metric flag.
* Use and applications: See section 1.4 [RFCXXXX]. * Use and applications: See section 1.4 [RFCXXXX].
skipping to change at page 20, line 27 skipping to change at page 20, line 27
The following are the major changes to previous version : The following are the major changes to previous version :
o Comments in WGLC and from PM-DIR review are addressed in this o Comments in WGLC and from PM-DIR review are addressed in this
version. version.
B.3. draft-ietf-xrblock-rtcp-xr-jb-10 B.3. draft-ietf-xrblock-rtcp-xr-jb-10
The following are the major changes to previous version : The following are the major changes to previous version :
o Add some text to section 3.2 to clarify how fixed jitter buffer is o Add some text to section 3.2 to clarify how fixed de-jitter buffer
used. is used.
o Other Editorial changes. o Other Editorial changes.
B.4. draft-ietf-xrblock-rtcp-xr-jb-09 B.4. draft-ietf-xrblock-rtcp-xr-jb-09
The following are the major changes to previous version : The following are the major changes to previous version :
o Incorporate proposed changes by Kevin and proposed text by Alan to o Incorporate proposed changes by Kevin and proposed text by Alan to
address interoperability report issue. address interoperability report issue.
skipping to change at page 20, line 51 skipping to change at page 20, line 51
B.5. draft-ietf-xrblock-rtcp-xr-jb-08 B.5. draft-ietf-xrblock-rtcp-xr-jb-08
The following are the major changes to previous version : The following are the major changes to previous version :
o Rewrote descriptive text and definitions for clarification. o Rewrote descriptive text and definitions for clarification.
B.6. draft-ietf-xrblock-rtcp-xr-jb-07 B.6. draft-ietf-xrblock-rtcp-xr-jb-07
The following are the major changes to previous version : The following are the major changes to previous version :
o Add one new section to discuss jitter buffer operation. o Add one new section to discuss de-jitter buffer operation.
B.7. draft-ietf-xrblock-rtcp-xr-jb-05 B.7. draft-ietf-xrblock-rtcp-xr-jb-05
The following are the major changes to previous version : The following are the major changes to previous version :
o Some editorial change changes based on the discussion with Glen o Some editorial change changes based on the discussion with Glen
and Kevin on the list. and Kevin on the list.
B.8. draft-ietf-xrblock-rtcp-xr-jb-03 B.8. draft-ietf-xrblock-rtcp-xr-jb-03
skipping to change at page 21, line 27 skipping to change at page 21, line 27
o Other editorial change changes aligning with PDV,Delay draft. o Other editorial change changes aligning with PDV,Delay draft.
B.9. draft-ietf-xrblock-rtcp-xr-jb-02 B.9. draft-ietf-xrblock-rtcp-xr-jb-02
The following are the major changes to previous version : The following are the major changes to previous version :
o Add some explanation text in the SDP offer/answer section. o Add some explanation text in the SDP offer/answer section.
o Add some text in applicability section to explain the use to o Add some text in applicability section to explain the use to
report jitter buffer metrics. report de-jitter buffer metrics.
o Other editorial change changes aligning with PDV,Delay draft. o Other editorial change changes aligning with PDV,Delay draft.
B.10. draft-ietf-xrblock-rtcp-xr-jb-01 B.10. draft-ietf-xrblock-rtcp-xr-jb-01
The following are the major changes to previous version : The following are the major changes to previous version :
o Outdated reference update o Outdated reference update
o Add one Editor notes to ask clarification on the use of reporting o Add one Editor notes to ask clarification on the use of reporting
jitter buffer metrics. de-jitter buffer metrics.
o Other Editorial changes. o Other Editorial changes.
B.11. draft-ietf-xrblock-rtcp-xr-jb-00 B.11. draft-ietf-xrblock-rtcp-xr-jb-00
The following are the major changes to previous version : The following are the major changes to previous version :
o Boilerplate updates. o Boilerplate updates.
o references updates o references updates
 End of changes. 85 change blocks. 
146 lines changed or deleted 144 lines changed or added

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