Network Working Group H. Asaeda
Internet-Draft NICT
Intended status: Standards Track R. Huang
Expires: October 5, 2013 Q. Wu
Huawei
April 3, 2013
RTP Control Protocol (RTCP) Extended Report (XR) Blocks for
Synchronization Delay and Offset Metrics Reporting
draft-ietf-xrblock-rtcp-xr-synchronization-04
Abstract
This document defines two RTP Control Protocol (RTCP) Extended Report
(XR) Blocks that allow the reporting of synchronization delay and
offset metrics for use in a range of RTP applications.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 5, 2013.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
Asaeda, et al. Expires October 5, 2013 [Page 1]
Internet-Draft SDO Report Blocks April 2013
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Synchronization Delay and Offset Metrics Reporting
Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. RTCP and RTCP XR Reports . . . . . . . . . . . . . . . . . 3
1.3. Performance Metrics Framework . . . . . . . . . . . . . . 3
1.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Standards Language . . . . . . . . . . . . . . . . . . . . 4
3. RTP Flows Initial Synchronization Delay Report Block . . . . . 5
3.1. Metric Block Structure . . . . . . . . . . . . . . . . . . 5
3.2. Definition of Fields in RTP Flow Initial
Synchronization Delay Metrics Block . . . . . . . . . . . 5
4. RTP Flows Synchronization Offset Metrics Block . . . . . . . . 6
4.1. Metric Block Structure . . . . . . . . . . . . . . . . . . 7
4.2. Definition of Fields in RTP Flow General
Synchronization Offset Metrics Block . . . . . . . . . . . 7
5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 9
5.1. SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . . 9
5.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . . 9
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1. Normative References . . . . . . . . . . . . . . . . . . . 11
9.2. Informative References . . . . . . . . . . . . . . . . . . 11
Appendix A. Metrics represented using RFC6390 Template . . . . . 12
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 13
B.1. draft-ietf-xrblock-rtcp-xr-syncronization-04 . . . . . . . 13
B.2. draft-ietf-xrblock-rtcp-xr-syncronization-03 . . . . . . . 13
B.3. draft-ietf-xrblock-rtcp-xr-syncronization-02 . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Asaeda, et al. Expires October 5, 2013 [Page 2]
Internet-Draft SDO Report Blocks April 2013
1. Introduction
1.1. Synchronization Delay and Offset Metrics Reporting Blocks
This draft defines two new block types to augment those defined in
[RFC3611], for use in a range of RTP applications.
The first new block type supports reporting of Initial
Synchronization Delay to establish multimedia session. Information
is recorded about time difference between the start of RTP sessions
and the time the RTP receiver acquires all components of RTP sessions
in the multimedia session [RFC6051].
The second new block type supports reporting of the relative
synchronization offset time of two arbitrary streams (e.g., between
audio and video streams), with the same RTCP CNAME included in RTCP
SDES packets [RFC3550].
These metrics belong to the class of transport level metrics defined
in [RFC6792].
1.2. RTCP and RTCP XR Reports
The use of RTCP for reporting is defined in [RFC3550]. [RFC3611]
defined an extensible structure for reporting using an RTCP Extended
Report (XR). This document defines a new Extended Report block for
use with [RFC3550] and [RFC3611].
1.3. Performance Metrics Framework
The RTP Monitoring Architectures [RFC6792] provides guideline for
reporting block format using RTCP XR. The new report block described
in this memo is in compliance with the monitoring architecture
specified in [RFC6792].
1.4. Applicability
When joining each session in layered video sessions [RFC6190] or the
multimedia session, a receiver may not synchronize playout across the
multimedia session or layered video session until RTCP SR packets
have been received on all components of RTP sessions. The component
RTP session are referred to as each RTP session for each media type
in multimedia session or separate RTP session for each layer in the
layered video session. For multicast session, the initial
synchronization delay metric varies with the session bandwidth, the
number of members, and the number of senders in the session. The RTP
flow Initial synchronization delay block defined in this document can
be used to report such metric, i.e., the initial synchronization
Asaeda, et al. Expires October 5, 2013 [Page 3]
Internet-Draft SDO Report Blocks April 2013
delay to receive all the RTP streams belonging to the same multimedia
session or layered video session. In the absence of packet loss, the
initial synchronization delay equals to the average time taken to
receive the first RTCP packet in the RTP session with the longest
RTCP reporting interval. In the presence of packet loss, the media
synchronization should rely on the in-band mapping of RTP and NTP-
format timestamps [RFC6051] or wait until the reporting interval has
passed, and the next RTCP SR packet is sent.
Receivers of the RTP flow initial synchronization delay block could
use this metric to compare with targets (i.e., Service Level
Agreement or thresholds of the system) to help ensure the quality of
real-time application performance.
In an RTP multimedia session, there can be an arbitrary number of
streams carried in different RTP sessions, with the same RTCP CNAME.
These streams may be not synchronized with each other. For example,
one audio stream and one video stream belong to the same session, and
the audio stream is transmitted lagging behind video stream for
multiple tens of milliseconds [TR-126]. The RTP Flows
Synchronization Offset block can be used to report such
synchronization offset between video stream and audio stream. This
block is also applied to the case where an RTP session can contain
media streams with media from multiple media types. The metrics
defined in the RTP flows synchronization Offset block can be used by
network manager for trouble shooting and dealing with user experience
issues.
2. Terminology
2.1. Standards Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
In addition, the following terms are defined:
Initial Synchronization Delay:
A multimedia session comprises a set of concurrent RTP sessions
among a common group of participants, using one RTP session for
each media type. The initial synchronization Delay is the average
time for receiver to synchronize all components of a multimedia
session [RFC6051].
Asaeda, et al. Expires October 5, 2013 [Page 4]
Internet-Draft SDO Report Blocks April 2013
Synchronization Offset:
Synchronization between two media streams must be maintained to
ensure satisfactory QoE. Two media streams can be of the same or
different media type belonging to one RTP session or in different
media types belonging to one multimedia session. The
Synchronization Offset is the relative time difference of the two
media streams that need to be synchronized.
3. RTP Flows Initial Synchronization Delay Report Block
This block is sent by RTP receivers and reports Initial
synchronization delay beyond the information carried in the standard
RTCP packet format. Information is recorded about time difference
between the start of multimedia session and the time when the RTP
receiver acquires all components of RTP sessions [RFC6051] measured
at the receiving end of RTP stream.
This block needs only be exchanged occasionally, for example sent
once at the start of RTP session.
3.1. Metric Block Structure
The RTP Flows Initial Synchronization Delay Report Block has the
following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=RFISD | Reserved | Block length=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of Source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Initial Synchronization Delay |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.2. Definition of Fields in RTP Flow Initial Synchronization Delay
Metrics Block
Block type (BT): 8 bits
The RTP Flows Initial Synchronization Delay Report Block is
identified by the constant <RFISD>.
Asaeda, et al. Expires October 5, 2013 [Page 5]
Internet-Draft SDO Report Blocks April 2013
Reserved: 6 bits
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
MUST be ignored by the receiver.
Block length: 16 bits
The constant 2, in accordance with the definition of this field in
Section 3 of RFC 3611 [RFC3611].
SSRC of source: 32 bits
The SSRC of the media source SHALL be set to the value of the SSRC
identifier carried in any arbitrary component of RTP sessions
belonging to the same multimedia session.
Initial Synchronization Delay: 32 bits
The average delay, expressed in units of 1/65536 seconds, from the
beginning of multimedia session [RFC6051] to the time when RTCP
packets are received on all of the components RTP sessions. It is
recommended that the beginning of multimedia session is chosen as
the time when the receiver has joined the first RTP session of the
multimedia session. The value of the initial synchronization
delay is calculated based on received RTCP SR packets or the RTP
header extension containing in-band mapping of RTP and NTP-format
timestamps [RFC6051]. If there is no packet loss, the initial
synchronization delay is expected to be equal to the average time
taken to receive the first RTCP packet in the RTP session with the
longest RTCP reporting interval or the average time taken to
receive the first RTP header extension containing in-band mapping
of RTP and NTP- format timestamps.
If the measurement is unavailable, the value of this field with
all bits set to 1 MUST be reported.
4. RTP Flows Synchronization Offset Metrics Block
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
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
SSRC. The receiver associates RTP streams to be synchronized by
means of RTCP CNAME contained in the RTCP Source Description (SDES)
packets [RFC3550].
Asaeda, et al. Expires October 5, 2013 [Page 6]
Internet-Draft SDO Report Blocks April 2013
This block is sent by RTP receivers and reports synchronization
offset of two arbitrary RTP streams that needs to be synchronized in
the RTP multimedia session. Information is recorded about the
relative average time difference between two arbitrary RTP streams
(one is reporting stream, the other is reference stream) with the
same CNAME and measured at the receiving end of RTP stream. In order
to tell what the offset of reporting stream is relative to, the block
for reference stream with synchronization offset of zero should be
reported.
Instances of this Block refer by Synchronization source (SSRC) to the
separate auxiliary Measurement Information block [RFC6776] which
describes measurement periods in use (see [RFC6776] section 4.2).
This metrics block relies on the measurement period in the
Measurement Information block indicating the span of the report and
SHOULD be sent in the same compound RTCP packet as the measurement
information block. If the measurement period is not received in the
same compound RTCP packet as this Block, this Block MUST be
discarded.
4.1. Metric Block Structure
The RTP Flow General Synchronization Offset Report Block has the
following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=RFSO | I | Reserved | Block length=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Synchronization Offset, most significant word |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Synchronization Offset, least significant word |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.2. Definition of Fields in RTP Flow General Synchronization Offset
Metrics Block
Block type (BT): 8 bits
The RTP Flow General Synchronization Offset Report Block is
identified by the constant <RFSO>.
Asaeda, et al. Expires October 5, 2013 [Page 7]
Internet-Draft SDO Report Blocks April 2013
Interval Metric Flag (I): 2 bits
This field is used to indicate whether the Burst/Gap Discard
Summary Statistics metrics are Sampled, Interval or Cumulative
metrics:
I=10: Interval Duration - the reported value applies to the
most recent measurement interval duration between successive
metrics reports.
I=11: Cumulative Duration - the reported value applies to the
accumulation period characteristic of cumulative measurements.
I=01: Sampled Value - the reported value is a sampled
instantaneous value.
In this document, the value I=00 is the reserved value and MUST
NOT be used.
Reserved: 6 bits
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
MUST be ignored by the receiver.
Block length: 16 bits
The constant 3, in accordance with the definition of this field in
Section 3 of RFC 3611 [RFC3611].
SSRC of Source: 32 bits
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.
Synchronization Offset: 64 bits
The synchronization offset of the reporting RTP stream relative to
the reference stream with the same CNAME. The calculation of
Synchronization Offset is similar to Difference D calculation in
the RFC3550. That is to say, if Si is the NTP timestamp from the
reporting RTP packet i, and Ri is the time of arrival in 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
arrival in NTP timestamp units for reference RTP packet j, then
the value of the synchronization offset D may be expressed as
Asaeda, et al. Expires October 5, 2013 [Page 8]
Internet-Draft SDO Report Blocks April 2013
D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)
If in-band delivery of NTP-format timestamps is supported
[RFC6051], Si and Sj should be obtained directly from the RTP
packets where NTP timestamps are available. If not, Si and Sj
should be calculated from their corresponding RTP timestamps. The
value of the synchronization offset is represented using a 64-bit
signed NTP-format timestamp as defined in [RFC5905], which is 64-
bit signed fixed-point number with the integer part in the first
32 bits and the fractional part in the last 32 bits. . A positive
value of the synchronization offset means that the reporting
stream leads before the reference stream, while a negative one
means the reporting stream lags behind the reference stream. The
synchronization offset of zero means the stream is the reference
stream.
If the measurement is unavailable, the value of this field with
all bits set to 1 MUST be reported.
5. SDP Signaling
[RFC3611] defines the use of SDP (Session Description Protocol)
[RFC4566] for signaling the use of XR blocks. XR blocks MAY be used
without prior signaling.
5.1. SDP rtcp-xr-attrib Attribute Extension
Two new parameters are defined for the two report blocks defined in
this document to be used with Session Description Protocol (SDP)
[RFC4566] using the Augmented Backus-Naur Form (ABNF) [RFC5234].
They have the following syntax within the "rtcp-xr" attribute
[RFC3611]:
xr-format = xr-rfisd-block
/ xr-rfso-block
xr-rfisd-block = " init-syn-delay"
xr-rfso-block = " syn-offset"
Refer to Section 5.1 of RFC 3611 [RFC3611] for a detailed description
and the full syntax of the "rtcp-xr" attribute.
5.2. Offer/Answer Usage
When SDP is used in offer-answer context, the SDP Offer/Answer usage
defined in [RFC3611] applies.
Asaeda, et al. Expires October 5, 2013 [Page 9]
Internet-Draft SDO Report Blocks April 2013
6. IANA Considerations
New report block types for RTCP XR are subject to IANA registration.
For general guidelines on IANA allocations for RTCP XR, refer to
Section 6.2 of [RFC3611].
This document assigns two new block type values in the RTCP XR Block
Type Registry:
Name: RFISD
Long Name: RTP Flows Initial Synchronization Delay
Value <RFISD>
Reference: Section 3
Name: RFSO
Long Name: RTP Flows Synchronization Offset Metrics Block
Value <RFSO>
Reference: Section 4
This document also registers two new SDP [RFC4566] parameters for the
"rtcp-xr" attribute in the RTCP XR SDP Parameters Registry:
* "xr-rfisd "
* "xr-rfso"
The contact information for the registrations is:
Qin Wu
sunseawq@huawei.com
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012, China
7. Security Considerations
The new RTCP XR report blocks proposed in this document introduces no
new security considerations beyond those described in [RFC3611].
8. Acknowledgements
The authors would like to thank Bill Ver Steeg, David R Oran, Ali
Begen, Colin Perkins, Roni Even, Kevin Gross, Jing Zhao, Fernando
Boronat Segui, Mario Montagud Climent, Youqing Yang, Wenxiao Yu and
Yinliang Hu,Jonathan Lennox for their valuable comments and
suggestions on this document.
Asaeda, et al. Expires October 5, 2013 [Page 10]
Internet-Draft SDO Report Blocks April 2013
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611,
November 2003.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5905] Mills, D., Martin, J., Burbank, J., and W. Kasch, "Network
Time Protocol Version 4: Protocol and Algorithms
Specification", RFC 5905, June 2010.
[RFC6051] Perkins, C. and T. Schierl, "Rapid Synchronisation of RTP
Flows", RFC 6051, November 2010.
[RFC6190] Wenger, S., Wang, Y., Schierl, T., and A. Eleftheriadis,
"RTP Payload Format for Scalable Video Coding", RFC 6190,
May 2011.
[RFC6776] Wu, Q., "Measurement Identity and information Reporting
using SDES item and XR Block", RFC 6776, August 2012.
9.2. Informative References
[RFC6390] Clark, A. and B. Claise, "Guidelines for Considering New
Performance Metric Development", RFC 6390, October 2011.
[RFC6792] Wu, Q., "Guidelines for Use of the RTP Monitoring
Framework", RFC 6792, November 2012.
[TR-126] BBF Forum, "Triple-play Services Quality of Experience
(QoE) Requirements", December 2006.
[Y.1540] ITU-T, "ITU-T Rec. Y.1540, IP packet transfer and
availability performance parameters", November 2007.
Asaeda, et al. Expires October 5, 2013 [Page 11]
Internet-Draft SDO Report Blocks April 2013
Appendix A. Metrics represented using RFC6390 Template
RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC
number, when assigned.
a. Initial Synchronization Delay Metric
* Metric Name: RTP Initial Synchronization Delay
* Metric Description: See Section 2.1,Initial Synchronization
Delay term [RFCXXXX].
* Method of Measurement or Calculation: See section 3.2, Initial
Synchronization Delay definition [RFCXXXX].
* Units of Measurement: See section 3.2, Initial Synchronization
Delay definition [RFCXXXX].
* Measurement Point(s) with Potential Measurement Domain: See
section 3, 1st paragraph [RFCXXXX].
* Measurement Timing: See section 3, 2nd paragraph [RFCXXXX] for
measurement timing.
* Use and applications: See section 1.4 [RFCXXXX].
* Reporting model: See RFC3611.
b. Synchronization Offset Metric
* Metric Name: RTP Synchronization Offset Delay
* Metric Description: See Section 2.1, Synchronization Offset
term [RFCXXXX].
* Method of Measurement or Calculation: See section 4.2, Initial
Synchronization Delay definition definition [RFCXXXX].
* Units of Measurement: See section 4.2, Initial Synchronization
Delay definition definition [RFCXXXX].
* Measurement Point(s) with Potential Measurement Domain: See
section 4, 2nd paragraph [RFCXXXX].
* Measurement Timing: See section 4, 3rd paragraph [RFCXXXX] for
measurement timing and section 4.2 [RFCXXXX] for Interval
Metric flag.
Asaeda, et al. Expires October 5, 2013 [Page 12]
Internet-Draft SDO Report Blocks April 2013
* 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-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.2. 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.3. draft-ietf-xrblock-rtcp-xr-syncronization-02
The following are the major changes compared to previous version:
Editorial change based on comments raised on the list and in the
IETF85 meeting
Authors' Addresses
Hitoshi Asaeda
National Institute of Information and Communications Technology
4-2-1 Nukui-Kitamachi
Koganei, Tokyo 184-8795
Japan
Email: asaeda@nict.go.jp
Asaeda, et al. Expires October 5, 2013 [Page 13]
Internet-Draft SDO Report Blocks April 2013
Rachel Huang
Huawei Technologies Co., Ltd.
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012
China
Email: Rachel@huawei.com
Qin Wu
Huawei Technologies Co., Ltd.
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012
China
Email: sunseawq@huawei.com
Asaeda, et al. Expires October 5, 2013 [Page 14]