Network Working Group | H. Asaeda |
Internet-Draft | NICT |
Intended status: Standards Track | R. Huang |
Expires: November 25, 2013 | Q. Wu |
Huawei | |
May 24, 2013 |
RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Synchronization Delay and Offset Metrics Reporting
draft-ietf-xrblock-rtcp-xr-synchronization-05
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.
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 November 25, 2013.
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 described in the Simplified BSD License.
This document 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].
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].
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].
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 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.
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:
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.
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The RTP Flows Initial Synchronization Delay Report Block has the following format:
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].
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.
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=3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Synchronization Offset, most significant word | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Synchronization Offset, least significant word | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The RTP Flow General Synchronization Offset Report Block has the following format:
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.[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.
xr-format = xr-rfisd-block / xr-rfso-block xr-rfisd-block = " rtp-flow-init-syn-delay" xr-rfso-block = " rtp-flow-syn-offset"
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]: RFC 3611 [RFC3611] for a detailed description and the full syntax of the "rtcp-xr" attribute.
When SDP is used in offer-answer context, the SDP Offer/Answer usage defined in [RFC3611] applies.
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:
This document also registers two new SDP [RFC4566] parameters for the "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry:
The contact information for the registrations is:
The new RTCP XR report blocks proposed in this document introduces no new security considerations beyond those described in [RFC3611].
The authors would like to thank Bill Ver Steeg, David R Oran, Ali Begen, Colin Perkins, Roni Even, Kevin Gross, Jing Zhao, Fernando Boronat Seguí, Mario Montagud Climent, Youqing Yang, Wenxiao Yu and Yinliang Hu,Jonathan Lennox for their valuable comments and suggestions on this document.
[RFC6792] | Wu, Q., "Guidelines for Use of the RTP Monitoring Framework", RFC 6792, November 2012. |
[Y.1540] | , , "ITU-T Rec. Y.1540, IP packet transfer and availability performance parameters", November 2007. |
[RFC6390] | Clark, A. and B. Claise, "Guidelines for Considering New Performance Metric Development", RFC 6390, October 2011. |
[TR-126] | BBF Forum, "Triple-play Services Quality of Experience (QoE) Requirements", December 2006. |
RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC number, when assigned.
Note to the RFC-Editor: please remove this section prior to publication as an RFC.
The following are the major changes compared to previous version:
The following are the major changes compared to previous version:
The following are the major changes compared to previous version:
The following are the major changes compared to previous version: