Audio/Video Transport Extensions A. Williams Internet-Draft Audinate Intended status: Standards Track March 11, 2011 Expires: September 12, 2011 IEEE 1588/802.1AS Synchronisation for RTP Streams draft-williams-avtext-avbsync-01 Abstract Specification of an RTP header extension for carrying in-band synchronization metadata provided by the IEEE1588/802.1AS Precision Time Protocols. Requirements 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 [1]. 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 September 12, 2011. Copyright Notice Copyright (c) 2011 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 Williams Expires September 12, 2011 [Page 1] Internet-Draft AVB/RTP Synchronisation March 2011 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Timestamp formats . . . . . . . . . . . . . . . . . . . . . . . 3 3. Header Extension . . . . . . . . . . . . . . . . . . . . . . . 4 4. IEEE 1733 / RTCP AVB Packet . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.1. Normative References . . . . . . . . . . . . . . . . . . . 6 7.2. Informative References . . . . . . . . . . . . . . . . . . 6 Appendix A. An Appendix . . . . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 Williams Expires September 12, 2011 [Page 2] Internet-Draft AVB/RTP Synchronisation March 2011 1. Introduction Synchronisation between RTP flows and between devices rendering RTP flows is currently facilitated by means of NTP format timestamps taken with respect to a shared reference clock. In many applications (e.g. professional, commercial and automotive AV), the NTP clock synchronisation protocol does not meet the necessary time alignment and synchronisation speed requirements. Like NTP, the IEEE1588 family of clock synchronisation protocols provide a shared reference clock in an network - typically a LAN. IEEE1588 provides sub-microsecond synchronisation between devices on a LAN and typically locks within seconds at startup rather than minutes. With support from Ethernet switches, IEEE1588 protocols can achieve nanosecond timing accuracy in LANs. Network interface chips and cards supporting hardware time-stamping of timing critical protocol messages are also available. When using IEEE1588 clock synchronisation, networked AV systems can achieve sub 1 microsecond time alignment accuracy when rendering AV signals and can support latencies less than 1ms through a gigabit LAN. Three flavours of IEEE1588 are in use today: o IEEE 1588-2002 [3]: the original "Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems". This is often called IEEE1588v1 or PTPv1. o IEEE 1588-2008 [4]: the second version of the "Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems". This is a revised version of the original IEEE1588-2002 standard and is often called IEEE1588v2 or PTPv2. o IEEE 802.1AS [5]: "Timing and Synchronization for Time Sensitive Applications in Bridged Local Area Networks". This is a Layer-2 only profile of IEEE 1588-2008 for use in Audio/Video Bridged LANs. By using an IEEE 1588 derived reference clock, synchronisation of RTP streams and devices in LANs can be considerably improved. 2. Timestamp formats A global IEEE 1588/802.1AS timestamp is 80 bits in total, divided into two parts: Williams Expires September 12, 2011 [Page 3] Internet-Draft AVB/RTP Synchronisation March 2011 AS_sec: 48 bits seconds since epoch AS_nsec: 32 bits nanoseconds A shorter 32 bit timestamp is defined for use in streaming media protocols in the following way: as_timestamp = (AS_sec * 10^9 + AS_nsec) modulo 2^32 The shorter as_timestamp field covers just over 4 seconds of time. 3. Header Extension Figure 1 shows the fields of the AVB sync header extension. It uses the standard RTP header extension mechanism defined in RFC 5285 [2]. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|1| CC |M| PT | sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+R | timestamp |T +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+P | synchronisation source (SSRC) identifier | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | 0xBE | 0xDE | length=2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+E | ID=A | L=6 | subtype | reserved |x +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+t | as_timestamp |n +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | payload data | | .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: IEEE 1588/802.1AS Synchronisation Header Extension The fields are defined as follows: subtype: RTCP AVB packet subtype field, see Section 4. as_timestamp: a 32 bit IEEE 1588/802.1AS timestamp as defined in Section 2. reserved: as this specification evolves, additional fields are expected to be included in this header. Williams Expires September 12, 2011 [Page 4] Internet-Draft AVB/RTP Synchronisation March 2011 The as_timestamp MUST correspond to the same instant as the RTP timestamp in the packet's header, and MUST be derived from the same clock used to generate the as_timestamps in the RTCP AVB packets. Provided that it has knowledge of the SSRC to CNAME mapping, either from prior receipt of an RTCP CNAME packet or via out of band signalling [RFC5576], the receiver can use the information provided as input to the synchronization algorithm, in exactly the same way as if an additional RTCP AVB packet had been received for the flow. 4. IEEE 1733 / RTCP AVB Packet IEEE 1733 [6] defines the "AVB RTCP packet" type reproduced in Figure 2. RTCP AVB packets contain a mapping between RTP timestamp and an 802.1AS timestamp as well as additional clock and QoS information. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|subtype=0| PT=208 | length=9 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC/CSRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | name (ASCII) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+R | gmTimeBaseIndicator | |T +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +C | |P + gmIdentity (80 bits) + | |A +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+V | |B + stream_id (64 bits) + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | as_timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | rtp_timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: IEEE 1733/RTCP AVB packet format A brief description of the major fields follows: Williams Expires September 12, 2011 [Page 5] Internet-Draft AVB/RTP Synchronisation March 2011 gmIdentity an 80 bit field uniquely identifying the current 802.1AS grand master clock used by the source to generate as_timestamps for this flow stream_id a 64 bit number identifying the 802.1Qat [7] stream associated with this RTP flow as_timestamp the 32 bit 802.1AS timestamp (Section 2) associated with the RTP timestamp carried in this packet rtp_timestamp the RTP timestamp of a media packet Please consult the IEEE 1733 specification [6] for more details. 5. IANA Considerations TBD: A URN will be required to signal the presence of this header extension, such as: urn:ietf:params:rtp-hdrext:avb-sync 6. Acknowledgements 7. References 7.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Singer, D. and H. Desineni, "A General Mechanism for RTP Header Extensions", RFC 5285, July 2008. 7.2. Informative References [3] Institute of Electrical and Electronics Engineers, "IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems", IEEE Std 1588-2002, 2002, . [4] Institute of Electrical and Electronics Engineers, "IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems", IEEE Std 1588-2008, 2008, Williams Expires September 12, 2011 [Page 6] Internet-Draft AVB/RTP Synchronisation March 2011 . [5] Institute of Electrical and Electronics Engineers, "IEEE Standard for Local and Metropolitan Area Networks - IEEE Draft Standard for Local and Metropolitan Area Networks - Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks", IEEE Std 802.1AS-2011, 2011, . [6] Institute of Electrical and Electronics Engineers, "IEEE P1733/ D7.0 Draft Standard for Layer 3 Transport Protocol for Time Sensitive Applications in Local Area Networks", IEEE Draft Std 1733/D7.0, February 2011, . [7] Institute of Electrical and Electronics Engineers, "IEEE Standard for Local and Metropolitan Area Networks---Virtual Bridged Local Area Networks Amendment 14: Stream Reservation Protocol (SRP)", IEEE Std 802.1Qat-2010 (Revision of IEEE Std 802.1Q-2005), 2010, . Appendix A. An Appendix Author's Address Aidan Williams Audinate Level 1, 458 Wattle St Ultimo, NSW 2007 Australia Phone: +61 2 8090 1000 Fax: +61 2 8090 1001 Email: aidan.williams@audinate.com Williams Expires September 12, 2011 [Page 7]