draft-ietf-xrblock-rtcp-xr-synchronization-09.txt   rfc7244.txt 
Network Working Group H. Asaeda Internet Engineering Task Force (IETF) H. Asaeda
Internet-Draft NICT Request for Comments: 7244 NICT
Intended status: Standards Track Q. Wu Category: Standards Track Q. Wu
Expires: August 30, 2014 R. Huang ISSN: 2070-1721 R. Huang
Huawei Huawei
February 26, 2014 May 2014
RTP Control Protocol (RTCP) Extended Report (XR) Blocks for RTP Control Protocol (RTCP) Extended Report (XR) Blocks
Synchronization Delay and Offset Metrics Reporting for Synchronization Delay and Offset Metrics Reporting
draft-ietf-xrblock-rtcp-xr-synchronization-09
Abstract Abstract
This document defines two RTP Control Protocol (RTCP) Extended Report This document defines two RTP Control Protocol (RTCP) Extended Report
(XR) Blocks that allow the reporting of synchronization delay and (XR) blocks that allow the reporting of initial synchronization delay
offset metrics for use in a range of RTP applications. and synchronization offset metrics for use in a range of RTP
applications.
Status of this Memo
This Internet-Draft is submitted in full conformance with the Status of This Memo
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering This is an Internet Standards Track document.
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 5741.
This Internet-Draft will expire on August 30, 2014. 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/rfc7244.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 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 ....................................................2
1.1. Synchronization Delay and Offset Metrics Reporting 1.1. Synchronization Delay and Offset Metrics Reporting Blocks ..2
Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . 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. RTP Flow Initial Synchronization Delay Report Block .............4
3. RTP Flows Initial Synchronization Delay Report Block . . . . . 5 3.1. Metric Block Structure .....................................5
3.1. Metric Block Structure . . . . . . . . . . . . . . . . . . 5 3.2. Definition of Fields in RTP Flow Initial
3.2. Definition of Fields in RTP Flow Initial Synchronization Delay Metrics Block ........................5
Synchronization Delay Metrics Block . . . . . . . . . . . 5 4. RTP Flow Synchronization Offset Metrics Block ...................6
4. RTP Flows Synchronization Offset Metrics Block . . . . . . . . 7 4.1. Metric Block Structure .....................................7
4.1. Metric Block Structure . . . . . . . . . . . . . . . . . . 7 4.2. Definition of Fields in RTP Flow General
4.2. Definition of Fields in RTP Flow General Synchronization Offset Metrics Block .......................7
Synchronization Offset Metrics Block . . . . . . . . . . . 8 5. SDP Signaling ...................................................9
5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 9 5.1. SDP rtcp-xr-attrib Attribute Extension .....................9
5.1. SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . . 9 5.2. Offer/Answer Usage .........................................9
5.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . . 10 6. IANA Considerations .............................................9
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. Security Considerations ........................................10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 8. Acknowledgements ...............................................10
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 9. References .....................................................10
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9.1. Normative References ......................................10
9.1. Normative References . . . . . . . . . . . . . . . . . . . 11 9.2. Informative References ....................................11
9.2. Informative References . . . . . . . . . . . . . . . . . . 12 Appendix A. Metrics Represented Using the Template from RFC 6390 ..12
Appendix A. Metrics represented using RFC6390 Template . . . . . 12
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 13
B.1. draft-ietf-xrblock-rtcp-xr-syncronization-09 . . . . . . . 14
B.2. draft-ietf-xrblock-rtcp-xr-syncronization-08 . . . . . . . 14
B.3. draft-ietf-xrblock-rtcp-xr-syncronization-07 . . . . . . . 14
B.4. draft-ietf-xrblock-rtcp-xr-syncronization-06 . . . . . . . 14
B.5. draft-ietf-xrblock-rtcp-xr-syncronization-05 . . . . . . . 14
B.6. draft-ietf-xrblock-rtcp-xr-syncronization-04 . . . . . . . 14
B.7. draft-ietf-xrblock-rtcp-xr-syncronization-03 . . . . . . . 14
B.8. draft-ietf-xrblock-rtcp-xr-syncronization-02 . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
1.1. Synchronization Delay and Offset Metrics Reporting Blocks 1.1. Synchronization Delay and Offset Metrics Reporting Blocks
This document defines two new block types to augment those defined in This document defines two new block types to augment those defined in
[RFC3611], for use in a range of RTP applications. [RFC3611], for use in a range of RTP applications.
The first new block type supports reporting of Initial The first new block type supports reporting of the Initial
Synchronization Delay to establish multimedia session. Information Synchronization Delay to establish a multimedia session. Information
is recorded about time difference between the start of RTP sessions is recorded about the time difference between the start of RTP
and the time the RTP receiver acquires all components of RTP sessions sessions and the time the RTP receiver acquires all components of RTP
in the multimedia session [RFC6051]. sessions in the multimedia session [RFC6051].
The second new block type supports reporting of the relative The second new block type supports reporting of the relative
synchronization offset time of two arbitrary streams (e.g., between synchronization offset time of two arbitrary streams (e.g., between
audio and video streams), with the same RTCP CNAME included in RTCP audio and video streams), with the same RTCP CNAME included in RTCP
Source description items (SDES) packets [RFC3550]. Source description items (SDES) packets [RFC3550].
These metrics belong to the class of transport level metrics defined These metrics belong to the class of transport-level metrics defined
in [RFC6792]. in [RFC6792].
1.2. RTCP and RTCP XR Reports 1.2. RTCP and RTCP XR 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 -- the 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 RTP Monitoring Architectures [RFC6792] provides guideline for "Guidelines for Considering New Performance Metric Development"
reporting block format using RTCP XR. The new report block described [RFC6390] provides guidance on the definition and specification of
in this memo is in compliance with the monitoring architecture performance metrics. "Guidelines for Use of the RTP Monitoring
specified in [RFC6792]. Framework" [RFC6792] provides guidance for reporting block format
using RTCP XR. The metrics block described in this document is in
accordance with the guidelines in [RFC6390] and [RFC6792].
1.4. Applicability 1.4. Applicability
When joining each session in layered video sessions [RFC6190] or the When joining each session in layered video sessions [RFC6190] or the
multimedia session, a receiver may not synchronize playout across the multimedia session, a receiver may not synchronize playout across the
multimedia session or layered video session until RTCP Sender Report multimedia session or layered video session until RTCP Sender Report
(SR) packets have been received on all components of RTP sessions. (SR) packets have been received on all components of RTP sessions.
The component RTP session are referred to as each RTP session for The components of RTP sessions are per-media-type RTP sessions for
each media type in multimedia session or separate RTP session for the multimedia sessions or per-layer RTP sessions for the layered
each layer in the layered video session. For multicast session, the video sessions. For multicast sessions, the Initial Synchronization
initial synchronization delay metric varies with the session Delay metric varies with the session bandwidth, the number of
bandwidth, the number of members, and the number of senders in the members, and the number of senders in the session. The RTP Flow
session. The RTP flow Initial synchronization delay block defined in Initial Synchronization Delay Metrics Block defined in this document
this document can be used to report such metric, i.e., the initial can be used to report such a metric, i.e., the Initial
synchronization delay to receive all the RTP streams belonging to the Synchronization Delay to receive all the RTP streams belonging to the
same multimedia session or layered video session. In the absence of same multimedia session or layered video session. In the absence of
packet loss, the initial synchronization delay equals to the average packet loss, the Initial Synchronization Delay is equal to the
time taken to receive the first RTCP packet in the RTP session with average time taken to receive the first RTCP packet in the RTP
the longest RTCP reporting interval. In the presence of packet loss, session with the longest RTCP reporting interval. In the presence of
the media synchronization should rely on the in-band mapping of RTP packet loss, the media synchronization should rely on the in-band
and NTP-format timestamps [RFC6051] or wait until the reporting mapping of RTP and NTP-format timestamps [RFC6051] or wait until the
interval has passed, and the next RTCP SR packet is sent. reporting interval has passed, and the next RTCP SR packet is sent.
Receivers of the RTP flow initial synchronization delay block could Receivers of the RTP Flow Initial Synchronization Delay Metrics Block
use this metric to compare with targets (i.e., Service Level could use this metric to compare with targets (i.e., Service Level
Agreement or thresholds of the system) to help ensure the quality of Agreement or thresholds of the system) to help ensure the quality of
real-time application performance. real-time application performance.
In an RTP multimedia session, there can be an arbitrary number of In an RTP multimedia session, there can be an arbitrary number of
streams carried in different RTP sessions, with the same RTCP CNAME. streams carried in different RTP sessions, with the same RTCP CNAME.
These streams may be not synchronized with each other. For example, These streams may be not synchronized with each other. For example,
one audio stream and one video stream belong to the same session, and one audio stream and one video stream belong to the same session, and
the audio stream is transmitted lagging behind video stream for the audio stream is transmitted lagging behind the video stream for
multiple tens of milliseconds [TR-126]. The RTP Flows multiple tens of milliseconds [TR-126]. The RTP Flow Synchronization
Synchronization Offset block can be used to report such Offset block can be used to report such synchronization offset
synchronization offset between video stream and audio stream. This between video and audio streams. This block is also applied to the
block is also applied to the case where an RTP session can contain case where an RTP session can contain media streams with media from
media streams with media from multiple media types. The metrics multiple media types. The metrics defined in the RTP Flow
defined in the RTP flows synchronization Offset block can be used by Synchronization Offset Metrics Block can be used by the network
the network manager for trouble shooting and dealing with user manager for troubleshooting and dealing with user-experience issues.
experience issues.
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].
In addition, the following terms are defined: In addition, the following terms are defined:
Initial Synchronization Delay: Initial Synchronization Delay:
A multimedia session comprises a set of concurrent RTP sessions A multimedia session comprises a set of concurrent RTP sessions
among a common group of participants, using one RTP session for among a common group of participants, using one RTP session for
each media type. The initial synchronization Delay is the average each media type. The Initial Synchronization Delay is the average
time for receiver to synchronize all components of a multimedia time for the receiver to synchronize all components of a
session [RFC6051]. multimedia session [RFC6051].
Synchronization Offset: Synchronization Offset:
Synchronization between two media streams must be maintained to Synchronization between two media streams must be maintained to
ensure satisfactory Quality of Experience (QoE). Two media ensure satisfactory Quality of Experience (QoE). Two media
streams can be of the same or different media type belonging to streams can be of the same or different media types belonging to
one RTP session or in different media types belonging to one one RTP session, or of different media types belonging to one
multimedia session. The Synchronization Offset is the relative multimedia session. The Synchronization Offset is the relative
time difference of the two media streams that need to be time difference of the two media streams that need to be
synchronized. synchronized.
3. RTP Flows Initial Synchronization Delay Report Block 3. RTP Flow Initial Synchronization Delay Metrics Block
This block is sent by RTP receivers and reports Initial This block is sent by RTP receivers and reports the Initial
synchronization delay beyond the information carried in the standard Synchronization Delay beyond the information carried in the standard
RTCP packet format. Information is recorded about time difference RTCP packet format. Information is recorded about the time
between the start of multimedia session and the time when the RTP difference between the start of the multimedia session and the time
receiver acquires all components of RTP sessions [RFC6051] measured when the RTP receiver acquires all components of RTP sessions
at the receiving end of RTP stream. [RFC6051] measured at the receiving end of the RTP stream.
This block needs only be exchanged occasionally, for example sent This block needs to be exchanged only occasionally, for example, sent
once at the start of RTP session. once at the start of the RTP session.
3.1. Metric Block Structure 3.1. Metric Block Structure
The RTP Flows Initial Synchronization Delay Report Block has the The RTP Flow Initial Synchronization Delay Metrics Block has the
following format: following format:
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=RFISD | Reserved | Block length=2 | | BT=27 | Reserved | Block length=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of Source | | SSRC of Source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Initial Synchronization Delay | | Initial Synchronization Delay |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Report Block Structure Figure 1: Report Block Structure
3.2. Definition of Fields in RTP Flow Initial Synchronization Delay 3.2. Definition of Fields in RTP Flow Initial Synchronization Delay
Metrics Block Metrics Block
Block type (BT): 8 bits Block type (BT): 8 bits
The RTP Flows Initial Synchronization Delay Report Block is The RTP Flow Initial Synchronization Delay Metrics Block is
identified by the constant <RFISD>. identified by the constant 27.
[Note to RFC Editor: please replace RFISD with the IANA provided
RTCP XR block type for this block.]
Reserved: 8 bits Reserved: 8 bits
This field is reserved for future definition. In the absence of This field is reserved for future definition. In the absence of
such a definition, the bits in this field MUST be set to zero and such a definition, the bits in this field MUST be set to zero and
ignored by the receiver. ignored by the receiver.
Block length: 16 bits Block length: 16 bits
The constant 2, in accordance with the definition of this field in The constant 2, in accordance with the definition of this field in
skipping to change at page 6, line 33 skipping to change at page 5, line 50
SSRC of source: 32 bits SSRC of source: 32 bits
The SSRC of the media source SHALL be set to the value of the SSRC The SSRC of the media source SHALL be set to the value of the SSRC
identifier carried in any arbitrary component of RTP sessions identifier carried in any arbitrary component of RTP sessions
belonging to the same multimedia session. belonging to the same multimedia session.
Initial Synchronization Delay: 32 bits Initial Synchronization Delay: 32 bits
The average delay, expressed in units of 1/65536 seconds, from the The average delay, expressed in units of 1/65536 seconds, from the
beginning of multimedia session [RFC6051] to the time when RTCP beginning of the multimedia session [RFC6051] to the time when
packets are received on all of the components RTP sessions. It is RTCP packets are received on all of the component RTP sessions.
recommended that the beginning of multimedia session is chosen as It is recommended that the beginning of the multimedia session is
the time when the receiver has joined the first RTP session of the chosen as the time when the receiver has joined the first RTP
multimedia session. The value of the initial synchronization session of the multimedia session. The value of the Initial
delay is calculated based on received RTCP SR packets or the RTP Synchronization Delay is calculated based on received RTCP SR
header extension containing in-band mapping of RTP and NTP-format packets or the RTP header extension containing the in-band mapping
timestamps [RFC6051]. If there is no packet loss, the initial of RTP and NTP-format timestamps [RFC6051]. If there is no packet
synchronization delay is expected to be equal to the average time loss, the Initial Synchronization Delay is expected to be equal to
taken to receive the first RTCP packet in the RTP session with the the average time taken to receive the first RTCP packet in the RTP
longest RTCP reporting interval or the average time taken to session with the longest RTCP reporting interval or to the average
receive the first RTP header extension containing in-band mapping time taken to receive the first RTP header extension containing
of RTP and NTP-format timestamps. the in-band mapping of RTP and NTP-format timestamps.
If the measurement is unavailable, the value of this field with If the measurement is unavailable, the value of this field with
all bits set to 1 MUST be reported. all bits set to 1 MUST be reported.
4. RTP Flows Synchronization Offset Metrics Block 4. RTP Flow Synchronization Offset Metrics Block
In the RTP multimedia sessions or one RTP session, there can be an In the RTP multimedia sessions or one RTP session, there can be an
arbitrary number of Media streams and each media stream (e.g., audio arbitrary number of media streams and each media stream (e.g., audio
stream or video stream) is sent in a separate RTP stream. In case of stream or video stream) is sent in a separate RTP stream. In case of
one RTP session, each media stream or each medium uses different one RTP session, each media stream or each medium uses a different
SSRC. The receiver associates RTP streams to be synchronized by SSRC. The receiver correlates these media streams that need to be
means of RTCP CNAME contained in the RTCP Source Description (SDES) synchronized by means of the RTCP CNAME contained in the RTCP Source
packets [RFC3550]. Description (SDES) packets [RFC3550].
This block is sent by RTP receivers and reports synchronization This block is sent by RTP receivers and reports the synchronization
offset of two arbitrary RTP streams that needs to be synchronized in offset of two arbitrary RTP streams that need to be synchronized in
the RTP multimedia session. Information is recorded about the the RTP multimedia session. Information is recorded about the
relative average time difference between two arbitrary RTP streams relative average time difference between two arbitrary RTP streams
(one is reporting stream, the other is reference stream) with the (the reporting stream and the reference stream) with the same CNAME
same CNAME and measured at the receiving end of RTP stream. In order and measured at the receiving end of the RTP stream. In order to
to tell what the offset of reporting stream is relative to, the block tell what the offset of the reporting stream is relative to, the
for reference stream with synchronization offset of zero should be block for the reference stream with synchronization offset of zero
reported. should be reported.
Instances of this Block refer by Synchronization source (SSRC) to the Instances of this block refer by synchronization source (SSRC) to the
separate auxiliary Measurement Information block [RFC6776] which separate auxiliary Measurement Information block [RFC6776], which
describes measurement periods in use (see [RFC6776] section 4.2). describes measurement periods in use (see Section 4.2 of [RFC6776]).
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 and Measurement Information block indicating the span of the report and
SHOULD be sent in the same compound RTCP packet as the measurement SHOULD be sent in the same compound RTCP packet as the Measurement
information block. If the measurement period is not received in the Information Block. If the measurement period is not received in the
same compound RTCP packet as this Block, this Block MUST be same compound RTCP packet as this block, this block MUST be
discarded. discarded.
4.1. Metric Block Structure 4.1. Metric Block Structure
The RTP Flow General Synchronization Offset Report Block has the The RTP Flow General Synchronization Offset Metrics Block has the
following format: following format:
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=RFSO | I | Reserved | Block length=3 | | BT=28 | I | Reserved | Block length=3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of source | | SSRC of source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Synchronization Offset, most significant word | | Synchronization Offset, most significant word |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Synchronization Offset, least significant word | | Synchronization Offset, least significant word |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Report Block Structure Figure 2: Report Block Structure
4.2. Definition of Fields in RTP Flow General Synchronization Offset 4.2. Definition of Fields in RTP Flow General Synchronization Offset
Metrics Block Metrics Block
Block type (BT): 8 bits Block type (BT): 8 bits
The RTP Flow General Synchronization Offset Report Block is The RTP Flow General Synchronization Offset Metrics Block is
identified by the constant <RFSO>. identified by the constant 28.
[Note to RFC Editor: please replace RFSO 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
Summary Statistics metrics are Sampled, Interval or Cumulative Summary Statistics metrics are Sampled, Interval, or Cumulative
metrics: metrics:
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
metrics reports. successive 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.
I=01: Sampled Value - the reported value is a sampled I=01: Sampled Value - the reported value is a sampled
instantaneous value. instantaneous value.
In this document, the value I=00 is the reserved value and MUST In this document, the value I=00 is the reserved value and MUST
NOT be used. If the value I=00 is received, then the XR block NOT be used. If the value I=00 is received, then the XR block
MUST be ignored by the receiver. MUST be ignored by the receiver.
Reserved: 6 bits Reserved: 6 bits
This field is reserved for future definition. In the absence of This field is reserved for future definition. In the absence of
such a definition, the bits in this field MUST be set to zero and such a definition, the bits in this field MUST be set to zero and
MUST be ignored by the receiver. MUST be ignored by the receiver.
skipping to change at page 9, line 9 skipping to change at page 8, line 25
SSRC of Source: 32 bits SSRC of Source: 32 bits
The SSRC of the media source SHALL be set to the value of the SSRC The SSRC of the media source SHALL be set to the value of the SSRC
identifier of the reporting RTP stream to which the XR relates. identifier of the reporting RTP stream to which the XR relates.
Synchronization Offset: 64 bits Synchronization Offset: 64 bits
The synchronization offset of the reporting RTP stream relative to The synchronization offset of the reporting RTP stream relative to
the reference stream with the same CNAME. The calculation of the reference stream with the same CNAME. The calculation of
Synchronization Offset is similar to Difference D calculation in Synchronization Offset is similar to the Difference D calculation
the RFC3550. That is to say, if Si is the NTP timestamp from the in the RFC 3550. That is to say, if Si is the NTP timestamp from
reporting RTP packet i, and Ri is the time of arrival in NTP the reporting RTP packet i, Ri is the time of arrival in NTP
timestamp units for reporting RTP packet i, Sj is the NTP timestamp units for reporting RTP packet i, Sj is the NTP
timestamp from the reference RTP packet j, and Rj is the time of timestamp from the reference RTP packet j, and Rj is the time of
arrival in NTP timestamp units for reference RTP packet j, then arrival in NTP timestamp units for reference RTP packet j, then
the value of the synchronization offset D may be expressed as the value of the Synchronization Offset D may be expressed as
D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si) D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)
If in-band delivery of NTP-format timestamps is supported If in-band delivery of NTP-format timestamps is supported
[RFC6051], Si and Sj should be obtained directly from the RTP [RFC6051], Si and Sj should be obtained directly from the RTP
packets where NTP timestamps are available. If not, Si and Sj packets where NTP timestamps are available. If not, Si and Sj
should be calculated from their corresponding RTP timestamps. The should be calculated from their corresponding RTP timestamps. The
value of the synchronization offset is represented using a 64-bit value of the Synchronization Offset is represented using a 64-bit
signed NTP-format timestamp as defined in [RFC5905], which is 64- signed NTP-format timestamp as defined in [RFC5905], which is a
bit signed fixed-point number with the integer part in the first 64-bit signed fixed-point number with the integer part in the
32 bits and the fractional part in the last 32 bits. A positive first 32 bits and the fractional part in the last 32 bits. A
value of the synchronization offset means that the reporting positive value of the Synchronization Offset means that the
stream leads before the reference stream, while a negative one reporting stream leads before the reference stream, while a
means the reporting stream lags behind the reference stream. The negative one means the reporting stream lags behind the reference
synchronization offset of zero means the stream is the reference stream. The Synchronization Offset of zero means the stream is
stream. the reference stream.
If the measurement is unavailable, the value of this field with If the measurement is unavailable, the value of this field with
all bits set to 1 MUST be reported. all bits set to 1 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. XR blocks MAY be used [RFC4566] for signaling the use of XR blocks. XR blocks MAY be used
without prior signaling. without prior signaling.
5.1. SDP rtcp-xr-attrib Attribute Extension 5.1. SDP rtcp-xr-attrib Attribute Extension
Two new parameters are defined for the two report blocks defined in Using the Augmented Backus-Naur Form (ABNF) [RFC5234], two new
this document to be used with Session Description Protocol (SDP) parameters are defined for the two report blocks defined in this
[RFC4566] using the Augmented Backus-Naur Form (ABNF) [RFC5234]. document to be used with SDP [RFC4566]. They have the following
They have the following syntax within the "rtcp-xr" attribute syntax within the "rtcp-xr" attribute [RFC3611]:
[RFC3611]:
xr-format = xr-rfisd-block xr-format =/ xr-rfisd-block
/ xr-rfso-block / xr-rfso-block
xr-rfisd-block = "rtp-flow-init-syn-delay" xr-rfisd-block = "rtp-flow-init-syn-delay"
xr-rfso-block = "rtp-flow-syn-offset" xr-rfso-block = "rtp-flow-syn-offset"
Refer to Section 5.1 of RFC 3611 [RFC3611] for a detailed description Refer to Section 5.1 of RFC 3611 [RFC3611] for a detailed description
and the full syntax of the "rtcp-xr" attribute. and the full syntax of the "rtcp-xr" attribute.
5.2. Offer/Answer Usage 5.2. Offer/Answer Usage
When SDP is used in offer-answer context, the SDP Offer/Answer usage When SDP is used in the offer/answer context, the SDP Offer/Answer
defined in [RFC3611] applies. usage defined in [RFC3611] applies.
6. IANA Considerations 6. IANA Considerations
New report block types for RTCP XR are subject to IANA registration. New report block types for RTCP XR are subject to IANA registration.
For general guidelines on IANA allocations for RTCP XR, refer to For general guidelines on IANA allocations for RTCP XR, refer to
Section 6.2 of [RFC3611]. Section 6.2 of [RFC3611].
This document assigns two new block type values in the RTCP XR Block This document assigns two new block type values in the RTCP XR Block
Type Registry: Type Registry:
Name: RFISD Name: RFISD
Long Name: RTP Flows Initial Synchronization Delay Long Name: RTP Flow Initial Synchronization Delay
Value <RFISD> Value 27
Reference: Section 3 Reference: Section 3
Name: RFSO Name: RFSO
Long Name: RTP Flows Synchronization Offset Metrics Block Long Name: RTP Flow Synchronization Offset
Value <RFSO> Value 28
Reference: Section 4 Reference: Section 4
This document also registers two new SDP [RFC4566] parameters for the This document also registers two new SDP [RFC4566] parameters for the
"rtcp-xr" attribute in the RTCP XR SDP Parameters Registry: "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry:
* "rtp-flow-init-syn-delay " * "rtp-flow-init-syn-delay "
* "rtp-flow-syn-offset" * "rtp-flow-syn-offset"
The contact information for the registrations is: The contact information for the registrations is:
RAI Area Directors <rai-ads@tools.ietf.org>
RAI Area Directors
<rai-ads@tools.ietf.org>
7. Security Considerations 7. Security Considerations
When using Secure RTP [RFC3711], or other media layer security, When using Secure RTP [RFC3711], or other media-layer security,
reporting accurate synchronisation offset information can expose some reporting accurate synchronization offset information can expose some
details about the timing of the cryptographic operations that are details about the timing of the cryptographic operations that are
used to protect the media. There is a possibility that this timing used to protect the media. There is a possibility that this timing
information might enable a side-channel attack on the encryption. information might enable a side-channel attack on the encryption. For
For environments where this attack is a concern, implementations need environments where this attack is a concern, implementations need to
to take care to ensure cryptographic processing and media compression take care to ensure cryptographic processing and media compression
take the same amount of time irrespective of the media content, to take the same amount of time irrespective of the media content, to
avoid the potential attack. avoid the potential attack.
Besides this, it is believed that this RTCP XR block introduces no Besides this, it is believed that this RTCP XR block introduces no
new security considerations beyond those described in [RFC3611]. new security considerations beyond those described in [RFC3611].
8. Acknowledgements 8. Acknowledgements
The authors would like to thank Bill Ver Steeg, David R Oran, Ali The authors would like to thank Bill Ver Steeg, David R. Oran, Ali
Begen, Colin Perkins, Roni Even, Kevin Gross, Jing Zhao, Fernando Begen, Colin Perkins, Roni Even, Kevin Gross, Jing Zhao, Fernando
Boronat Segui, Mario Montagud Climent, Youqing Yang, Wenxiao Yu and Boronat Segui, Mario Montagud Climent, Youqing Yang, Wenxiao Yu,
Yinliang Hu,Jonathan Lennox, Stephen Farrel for their valuable Yinliang Hu, Jonathan Lennox, and Stephen Farrel for their valuable
comments and suggestions on this document. comments and suggestions on this document.
9. References 9. References
9.1. Normative References 9.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, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[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, July 2003. Applications", STD 64, RFC 3550, July 2003.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control [RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611, Protocol Extended Reports (RTCP XR)", RFC 3611, November
November 2003. 2003.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)", Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004. RFC 3711, March 2004.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008. Specifications: ABNF", STD 68, RFC 5234, January 2008.
skipping to change at page 12, line 31 skipping to change at page 11, line 37
using SDES item and XR Block", RFC 6776, August 2012. using SDES item and XR Block", RFC 6776, August 2012.
9.2. Informative References 9.2. Informative References
[RFC6390] Clark, A. and B. Claise, "Guidelines for Considering New [RFC6390] Clark, A. and B. Claise, "Guidelines for Considering New
Performance Metric Development", RFC 6390, October 2011. Performance Metric Development", RFC 6390, October 2011.
[RFC6792] Wu, Q., "Guidelines for Use of the RTP Monitoring [RFC6792] Wu, Q., "Guidelines for Use of the RTP Monitoring
Framework", RFC 6792, November 2012. Framework", RFC 6792, November 2012.
[TR-126] BBF Forum, "Triple-play Services Quality of Experience [TR-126] Broadband Forum, "Triple-play Services Quality of
(QoE) Requirements", December 2006. Experience (QoE) Requirements", Technical Report TR-126,
December 2006.
[Y.1540] ITU-T, "ITU-T Rec. Y.1540, IP packet transfer and
availability performance parameters", November 2007.
Appendix A. Metrics represented using RFC6390 Template [Y.1540] ITU-T, "IP packet transfer and availability performance
parameters", ITU-T Recommendation Y.1540, November 2007.
RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC Appendix A. Metrics Represented Using the Template from RFC 6390
number, when assigned.
a. Initial Synchronization Delay Metric a. Initial Synchronization Delay Metric
* Metric Name: RTP Initial Synchronization Delay * Metric Name: RTP Initial Synchronization Delay
* Metric Description: See Section 2.1,Initial Synchronization * Metric Description: See the definition of "Initial
Delay term [RFCXXXX]. Synchronization Delay" in Section 2.1.
* Method of Measurement or Calculation: See section 3.2, Initial * Method of Measurement or Calculation: See the definition of
Synchronization Delay definition [RFCXXXX]. the "Initial Synchronization Delay" field in Section 3.2.
* Units of Measurement: See section 3.2, Initial Synchronization * Units of Measurement: See the definition of the "Initial
Delay definition [RFCXXXX]. Synchronization Delay" field in Section 3.2.
* Measurement Point(s) with Potential Measurement Domain: See * Measurement Point(s) with Potential Measurement Domain: See
section 3, 1st paragraph [RFCXXXX]. the first paragraph of Section 3.
* Measurement Timing: See section 3, 2nd paragraph [RFCXXXX] for * Measurement Timing: See the second paragraph of Section 3.
measurement timing.
* Use and applications: See section 1.4 [RFCXXXX]. * Use and applications: See Section 1.4.
* Reporting model: See RFC3611. * Reporting model: See RFC 3611.
b. Synchronization Offset Metric b. Synchronization Offset Metric
* Metric Name: RTP Synchronization Offset Delay * Metric Name: RTP Synchronization Offset Delay
* Metric Description: See Section 2.1, Synchronization Offset * Metric Description: See the definition of "Synchronization
term [RFCXXXX]. Offset" in Section 1.2.
* Method of Measurement or Calculation: See section 4.2, Initial * Method of Measurement or Calculation: See the definition of
Synchronization Delay definition [RFCXXXX]. the "Synchronization Offset" field in Section 4.2.
* Units of Measurement: See section 4.2, Initial Synchronization * Units of Measurement: See the definition of the
Delay definition [RFCXXXX]. "Synchronization Offset" field in Section 4.2.
* Measurement Point(s) with Potential Measurement Domain: See * Measurement Point(s) with Potential Measurement Domain: See
section 4, 2nd paragraph [RFCXXXX]. the second paragraph of Section 4.
* Measurement Timing: See section 4, 3rd paragraph [RFCXXXX] for
measurement timing and section 4.2 [RFCXXXX] for Interval
Metric flag.
* Use and applications: See section 1.4 [RFCXXXX].
* Reporting model: See RFC3611.
Appendix B. Change Log
Note to the RFC-Editor: please remove this section prior to
publication as an RFC.
B.1. draft-ietf-xrblock-rtcp-xr-syncronization-09
The following are the major changes compared to previous version:
Some Editorial changes based on IESG Review comments.
B.2. draft-ietf-xrblock-rtcp-xr-syncronization-08
The following are the major changes compared to previous version:
Some Editorial changes based on Gen-Art Reviewer comments.
B.3. draft-ietf-xrblock-rtcp-xr-syncronization-07
The following are the major changes compared to previous version:
Minor Editorial changes.
B.4. draft-ietf-xrblock-rtcp-xr-syncronization-06
The following are the major changes compared to previous version:
Some Editorial changes.
B.5. draft-ietf-xrblock-rtcp-xr-syncronization-05
The following are the major changes compared to previous version:
Editorial changes and typo fixed.
B.6. draft-ietf-xrblock-rtcp-xr-syncronization-04
The following are the major changes compared to previous version:
Additional text to clarify on how to distinguish report stream
from reference stream.
Other Editorial changes.
B.7. draft-ietf-xrblock-rtcp-xr-syncronization-03
The following are the major changes compared to previous version:
Remove the need to signal the reference source in the
synchronisation offset metrics RTCP XR report.
Apply RFC6390 template to metrics in the appendix.
Other editorial changes to get inline with other XRBLOCK drafts.
B.8. draft-ietf-xrblock-rtcp-xr-syncronization-02 * Measurement Timing: See the third paragraph of Section 4.2 for
measurement timing and the Interval Metric flag.
The following are the major changes compared to previous version: * Use and applications: See Section 1.4.
Editorial change based on comments raised on the list and in the * Reporting model: See RFC 3611.
IETF85 meeting
Authors' Addresses Authors' Addresses
Hitoshi Asaeda Hitoshi Asaeda
National Institute of Information and Communications Technology National Institute of Information and Communications Technology
4-2-1 Nukui-Kitamachi 4-2-1 Nukui-Kitamachi
Koganei, Tokyo 184-8795 Koganei, Tokyo 184-8795
Japan Japan
Email: asaeda@nict.go.jp EMail: asaeda@nict.go.jp
Qin Wu Qin Wu
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: bill.wu@huawei.com EMail: bill.wu@huawei.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. 74 change blocks. 
290 lines changed or deleted 206 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/