AVTCore | K. Gross |
Internet-Draft | AVA Networks |
Updates: 3550 (if approved) | R. van Brandenburg |
Intended status: Standards Track | TNO |
Expires: December 21, 2012 | June 21, 2012 |
RTP and Leap Seconds
draft-ietf-avtcore-leap-second-00
This document discusses issues that arise when RTP sessions span (UTC) leap seconds. It updates RFC 3550 to describe how RTP senders and receivers should behave in the presence of leap seconds.
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 December 21, 2012.
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 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
In some applications, RTP streams are referenced to a walllock time (absolute date and time). This is typically accomplished through use of the NTP timestamp field in the RTCP sender report (SR) to create a mapping between RTP timestamps and the wallclock. When a wallclock reference is used, the playout time for RTP packets is referenced to the wallclock. Smooth and continuous media playout requires a smooth and continuous timebase. The timebase used by the wallclock may include leap seconds which, in many cases, are not rendered smoothly.
This document provides recommendations for smoothly rendering streamed media referenced to common wallclocks which may not have smooth or continuous behavior in the presence of leap seconds.
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 [RFC2119] and indicate requirement levels for compliant implementations.
Leap seconds are intended to keep UTC time synchronized with the rotation of the earth. Leap seconds are scheduled by the International Earth Rotation and Reference Systems Service. Leap seconds may be scheduled at the last day of any month but are preferentially scheduled for December and June and secondarily March and September.[TF.460-6] Because earth's rotation is unpredictable, leap seconds are typically not scheduled more than six months in advance. Leap seconds can be scheduled to either add or remove a second from the day. All leap second events thus far have been scheduled in June or December and have all added seconds. This is a situation that is expected but not guaranteed to continue.
NOTE- The ITU is studying a proposal which could eventually eliminate leap seconds from UTC. As of January 2012, this proposal is expected to be decided no earlier than 2015.
UTC clocks insert a 61st second at the end of the day when a leap second is scheduled. The leap second is designated "23h 59m 60s". The sequence of the second markers near the UTC leap second transition are:
Under NTP [RFC5905] a leap second is inserted at the beginning of the last second of the day. This results in the clock freezing or slowing for one second immediately prior to the last second of the affected day. This results in the last second of the day having a real-time duration of two seconds.
Most POSIX systems insert the leap second at the end of the last second of the day. This results in repetition of the last second. A timestamp within the last second of the day is therefore ambiguous in that it can refer to either of the last two seconds of a day containing a leap second.
Senders and receivers which are not referenced to a wallclock are not affected by issues associated with leap seconds and no special accommodation is required.
RTP implementation using a wallclock reference is simplified by using a clock with a timescale which does not include leap seconds. IEEE 1588 [IEEE1588-2008], GPS [IS-GPS-200F] and other TAI (International Atomic Time) [CircularT] references do not include leap seconds. NTP time, operating system clocks and other UTC (Coordinated Universal Time) references include leap seconds.
All participants working to a leap-second-bearing reference SHOULD recognize leap seconds and have a working communications channel to receive notification of leap second scheduling. Without prior knowledge of leap second schedule, NTP servers and clients may become offset by exactly one second with respect to their UTC reference. This potential discrepancy begins when a leap second occurs and ends when all participants receive a time update from a server or peer. Depending on the system implementation, the offset can last anywhere from a few seconds to a few days. A long-lived discrepancy can be particularly disruptive to RTP operation.
Because of the ambiguity leap seconds can introduce and the inconsistent manner in which different systems accommodate leap seconds, generating or using NTP timestamps during the entire last second of a day on which a leap second has been scheduled SHOULD be avoided. Note that the period to be avoided has a real-time duration of two seconds.
RTP Senders working to a leap-second-bearing reference SHOULD NOT generate sender reports containing an originating NTP timestamp in the vicinity of a leap second. Receivers SHOULD ignore timestamps in any such reports inadvertently generated.
Receivers working to a leap-second-bearing reference SHOULD take leap seconds in their reference into account in determining playout time from RTP timestamps for data in RTP packets.
It is believed that the recommendations herein introduce no new security considerations beyond those already discussed in [RFC3550].
This document has no actions for IANA."
The authors would like to thank Steve Allen for his valuable comments in helping to improve this document.
[RFC3550] | Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications, RFC3550", July 2003. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", March 1997. |
[TF.460-6] | ITU-R, "Recommendation ITU-R TF.460-4 - Standard-frequency and time-signal emissions", February 2002. |
[RFC5905] | Mills, D., Delaware, U. , Martin, J., Burbank, J. and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", June 2010. |
[IEEE1588-2008] | IEEE, "IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems", July 2008. |
[IS-GPS-200F] | Global Positioning Systems Directorate, "Navstar GPS Space Segment/Navigation User Segment Interfaces", September 2011. |
[CircularT] | BIPM, "Circular T", May 2012. |