Network Working Group H. Asaeda Internet-Draft NICT Intended status: Standards Track R. Huang Expires: April 21, 2013 Q. Wu Huawei October 18, 2012 RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Synchronization Delay and Offset Metrics Reporting draft-ietf-xrblock-rtcp-xr-synchronization-01 Abstract This document defines two RTP Control Protocol (RTCP) Extended Report (XR) Blocks and associated with SDP parameters 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 April 21, 2013. Copyright Notice Copyright (c) 2012 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 Asaeda, et al. Expires April 21, 2013 [Page 1] Internet-Draft SDO Report Blocks October 2012 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Standards Language . . . . . . . . . . . . . . . . . . . . 3 3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 4 4. RTP Flows Initial Synchronization Delay Report Block . . . . . 4 4.1. Metric Block Structure . . . . . . . . . . . . . . . . . . 5 4.2. Definition of Fields in RTP Flow Initial Synchronization Delay Metrics Block . . . . . . . . . . . 5 5. RTP Flows Synchronization Offset Metrics Block . . . . . . . . 6 5.1. Metric Block Structure . . . . . . . . . . . . . . . . . . 6 5.2. Definition of Fields in RTP Flow General Synchronization Offset Metrics Block . . . . . . . . . . . 7 6. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 8 6.1. SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . . 8 6.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 10.1. Normative References . . . . . . . . . . . . . . . . . . . 9 10.2. Informative References . . . . . . . . . . . . . . . . . . 10 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 10 A.1. draft-ietf-xrblock-rtcp-xr-syncronization-01 . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 Asaeda, et al. Expires April 21, 2013 [Page 2] Internet-Draft SDO Report Blocks October 2012 1. Introduction 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]. Information is recorded about the synchronization offset time of each RTP stream relative to the reference RTP stream with the same CNAME and General Synchronization Offset of zero. These metrics belong to the class of transport level metrics defined in [MONARCH]. 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]. Synchronization Offset: Synchronization between two media streams must be maintained to ensure satisfactory QoE. Two media streams can be of the same 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 Asaeda, et al. Expires April 21, 2013 [Page 3] Internet-Draft SDO Report Blocks October 2012 that need to be synchronized. 3. Applicability The report blocks defined in this document could be used by dedicated network monitoring applications. 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 unicast session, the delay due to negotiation of NAT pinholes, firewall holes, quality-of-service, and media security keys is contributed to such initial synchronization playout. For multicast session, such initial synchronization delay varies with the session bandwidth, the number of members, and the number of senders in the session. The RTP flow Initial synchronization delay block can be used to report 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 needs to based 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. 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 audio stream are transmitted lag 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. 4. 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 RTP sessions and the time the RTP receiver acquires all components of RTP sessions [RFC6051]. Asaeda, et al. Expires April 21, 2013 [Page 4] Internet-Draft SDO Report Blocks October 2012 4.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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4.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 . Reserved: 8 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 RTCP packets received on all of the components RTP sessions to the beginning of session [RFC6051]. The value 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 Asaeda, et al. Expires April 21, 2013 [Page 5] Internet-Draft SDO Report Blocks October 2012 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 SHOULD be reported. 5. RTP Flows Synchronization Offset Metrics Block In the RTP multimedia sessions, 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. 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 the arbitrary two RTP streams that needs to be synchronized in the RTP multimedia session. Information is recorded about the relative time difference between two media streams with the same CNAME. In two media streams, one media stream is the reference stream, which can be chosen as the arbitrary stream with minimum delay according to the common criterion defined in section 6.2.2.1 of [Y.1540]. 5.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 |L| Reserved | Block length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of reference | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Synchronization Offset, most significant word | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Synchronization Offset, least significant word | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Asaeda, et al. Expires April 21, 2013 [Page 6] Internet-Draft SDO Report Blocks October 2012 5.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 . Lag and Lead Indication (L): 1 bit This field is used to indicate whether the reporting stream lead before the reference stream or lag behind the reference stream. The value of this field is set to 1, if the reporting stream lead before the reference stream, 0 otherwise. Reserved: 7 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 4, 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. SSRC of Reference: 32 bits The SSRC of the reference stream SHALL be set to the value of the SSRC identifier of the reference RTP stream to which the XR relates. Synchronization Offset: 64 bits The synchronization offset of the reporting RTP stream relative to the reference RTP 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 RTP timestamp from the reporting RTP packet i, and Ri is the time of arrival in RTP timestamp units for reporting RTP packet i, Sj is the RTP timestamp from the reference RTP packet j, and Rj is the time of arrival in RTP timestamp units for reference RTP packet j, then the value of the synchronization offset D may be expressed as Asaeda, et al. Expires April 21, 2013 [Page 7] Internet-Draft SDO Report Blocks October 2012 D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si) The value of the synchronization offset is represented using a 64- bit NTP-format timestamp as defined in [RFC5905], which is 64-bit unsigned fixed-point number with the integer part in the first 32 bits and the fractional part in the last 32 bits. If the measurement is unavailable, the value of this field with all bits set to 1 SHOULD be reported. 6. 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. 6.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]: rtcp-xr-attrib = "a=rtcp-xr:" [xr-format *(SP xr-format)] CRLF xr-format = RTP-flows-init-syn-delay / RTP-flows-syn-offset RTP-flows-init-syn-delay = "RTP-flows-init-syn-delay" RTP-flow-syn-offset = "RTP-flows-syn-offset" Refer to Section 5.1 of RFC 3611 [RFC3611] for a detailed description and the full syntax of the "rtcp-xr" attribute. 6.2. Offer/Answer Usage When SDP is used in offer-answer context, the SDP Offer/Answer usage defined in [RFC3611] applies. 7. 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]. Asaeda, et al. Expires April 21, 2013 [Page 8] Internet-Draft SDO Report Blocks October 2012 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 Reference: Section 4 Name: RFSO Long Name: RTP Flows Synchronization Offset Metrics Block Value Reference: Section 5 This document also registers two new SDP [RFC4566] parameters for the "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry: * "RTP-flows-init-syn-delay" * "RTP-flows-syn-offset" The contact information for the registrations is: Qin Wu sunseawq@huawei.com 101 Software Avenue, Yuhua District Nanjing, Jiangsu 210012, China 8. Security Considerations The new RTCP XR report blocks proposed in this document introduces no new security considerations beyond those described in [RFC3611]. 9. 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, Youqing Yang, Wenxiao Yu and Yinliang Hu for their valuable comments and suggestions on this document. 10. References 10.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Asaeda, et al. Expires April 21, 2013 [Page 9] Internet-Draft SDO Report Blocks October 2012 [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. [TR-126] BBF Forum, "Triple-play Services Quality of Experience (QoE) Requirements", December 2006. 10.2. Informative References [MONARCH] Wu, Q., "Monitoring Architectures for RTP", ID draft-ietf-avtcore-monarch-22, September 2012. [Y.1540] ITU-T, "ITU-T Rec. Y.1540, IP packet transfer and availability performance parameters", November 2007. Appendix A. Change Log Note to the RFC-Editor: please remove this section prior to publication as an RFC. A.1. draft-ietf-xrblock-rtcp-xr-syncronization-01 The following are the major changes compared to previous version: Asaeda, et al. Expires April 21, 2013 [Page 10] Internet-Draft SDO Report Blocks October 2012 Editorial change based on comments raised on the list. 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 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 April 21, 2013 [Page 11]