AVTCore                                                         K. Gross
Internet-Draft                                              AVA Networks
Updates: 3550 (if approved)                           R. van Brandenburg
Intended status: Standards Track                                     TNO
Expires: December 23, 2012                                 June 21, April 22, 2013                                 October 19, 2012

                          RTP and Leap Seconds
                   draft-ietf-avtcore-leap-second-00
                   draft-ietf-avtcore-leap-second-01

Abstract

   This document discusses issues that arise when RTP sessions span
   Universal Coordinate Time (UTC) leap seconds.  It updates RFC 3550 to
   describe how RTP senders and receivers should behave in the presence
   of leap seconds.

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 December 23, 2012. April 22, 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
   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
   3.  Leap seconds  . . . . . . . . . . . . . . . . . . . . . . . . . 3
     3.1.  UTC behavior during leap second . . . . . . . . . . . . . . 3 4
     3.2.  NTP behavior during leap second . . . . . . . . . . . . . . 4
     3.3.  POSIX behavior during leap second . . . . . . . . . . . . . 4
     3.4.  Summary of leap-second behaviors  . . . . . . . . . . . . . 4
   4.  Recommendations . . . . . . . . . . . . . . . . . . . . . . . . 4 5
     4.1.  RTP Sender Reports and Receiver Reports . . . . . . . . . . 5
     4.2.  RTP Packet Playout  . . . . . . . . . . . . . . . . . . . . 5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 6
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 5 6
   8.  Normative References  . . . . . . . . . . . . . . . . . . . . . 5 6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 6

1.  Introduction

   In some media networking applications, RTP streams are referenced to
   a walllock wall-clock 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. wall clock.  When
   a wallclock wall-clock reference is used, the playout play-out time for RTP packets is
   referenced to the wallclock. wall clock.  Smooth and continuous media playout play out
   requires a smooth and continuous timebase. time base.  The timebase time base used by
   the wallclock wall clock may include leap seconds which, in many cases, which are not rendered
   smoothly.

   This document provides recommendations for smoothly rendering
   streamed media referenced to common wallclocks wall clocks which may do not have
   smooth or continuous behavior in the presence of leap seconds.

2.  Terminology

   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] [1] and indicate
   requirement levels for compliant implementations.

3.  Leap seconds

   Leap

   The world time standard is International Atomic Time (TAI) which is
   based on vibrations of cesium atoms in an atomic clock.  The more
   common Universal Coordinated Time (UTC) is based on the rotation of
   the Earth.  In 1971 UTC was redefined in terms of TAI and the concept
   of leap seconds are intended was introduced to keep allow UTC time to remain synchronized
   with with the rotation of the earth. 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] September.[2] Because earth's 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 since their introduction in 1971
   have been scheduled in June or December and have all have added seconds.
   This is a situation that is expected to 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. 2015.[3]

3.1.  UTC behavior during leap second

   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:

      Day 0, 23h 59m 59s

      Day 0, 23h 59m 60s <-- leap second

      Day 1, 0h 0m 0s

3.2.  NTP behavior during leap second

   Under NTP [RFC5905] [4] 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.

3.3.  POSIX behavior during leap second

   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 a moment in time in either of the last two
   seconds of a day containing a leap second.

3.4.  Summary of leap-second behaviors

   Table 1 summarizes behavior across a leap second for the wall clocks
   discussed above.

   The table illustrates the leap second that occurred June 30, 2012
   when the offset between International Atomic time (TAI) and UTC
   changed from 34 to 35 seconds.  The first column shows RTP timestamps
   for an 8 kHz audio stream.  The second column shows the TAI
   reference.  Following columns show behavior for the leap-second-
   bearing wall clocks described above.  Time values are shown at half-
   second intervals.

   +-------+--------------+--------------+--------------+--------------+
   |  RTP  |      TAI     |      UTC     |     POSIX    |      NTP     |
   +-------+--------------+--------------+--------------+--------------+
   |  8000 | 00:00:32.500 | 23:59:58.500 | 23:59:58.500 | 23:59:58.500 |
   | 12000 | 00:00:33.000 | 23:59:59.000 | 23:59:59.000 | 23:59:59.000 |
   | 16000 | 00:00:33.500 | 23:59:59.500 | 23:59:59.500 | 23:59:59.500 |
   | 20000 | 00:00:34.000 | 23:59:60.000 | 23:59:59.000 | 00:00:00.000 |
   | 24000 | 00:00:34.500 | 23:59:60.500 | 23:59:59.500 | 00:00:00.000 |
   | 28000 | 00:00:35.000 | 00:00:00.000 | 00:00:00.000 | 00:00:00.000 |
   | 32000 | 00:00:35.500 | 00:00:00.500 | 00:00:00.500 | 00:00:00.500 |
   +-------+--------------+--------------+--------------+--------------+

                                  Table 1

4.  Recommendations

   Senders and receivers which are not referenced to a wallclock wall clock are
   not affected by issues associated with leap seconds and no special
   accommodation is required.

   RTP implementation using a wallclock wall-clock reference is simplified by
   using a clock with a timescale which does not include leap seconds.
   IEEE 1588 [IEEE1588-2008], [5], GPS [IS-GPS-200F] [6] and other TAI (International
   Atomic Time) [CircularT] [7] 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.  In the Table 1 example, the region to be avoided is
   indicated by RTP timestamps 12000 through 28000

4.1.  RTP Sender Reports and Receiver Reports

   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.

4.2.  RTP Packet Playout

   Receivers working to a leap-second-bearing reference SHOULD take leap
   seconds in their reference into account in determining playout play-out time
   from RTP timestamps for data in RTP packets.

5.  Security Considerations

   It is believed that the recommendations herein introduce no new
   security considerations beyond those already discussed in [RFC3550]. [8].

6.  IANA Considerations

   This document has no actions for IANA." IANA.

7.  Acknowledgements

   The authors would like to thank Steve Allen for his valuable comments
   in helping to improve this document.

8.  Normative References

   [CircularT]
              BIPM, "Circular T", May

   [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", March 1997.

   [2]  ITU-R, "Recommendation ITU-R TF.460-4 - Standard-frequency and
        time-signal emissions", February 2002.

   [3]  ITU-R Working Party 7A, "Question SG07.236", February 2012.

   [IEEE1588-2008]

   [4]  Mills, D., Delaware, U., Martin, J., Ed., Burbank, J., and W.
        Kasch, "Network Time Protocol Version 4: Protocol and Algorithms
        Specification", June 2010.

   [5]  IEEE, "IEEE Standard for a Precision Clock Synchronization
        Protocol for Networked Measurement and Control Systems",
        July 2008.

   [IS-GPS-200F]

   [6]  Global Positioning Systems Directorate, "Navstar GPS Space
        Segment/Navigation User Segment Interfaces", September 2011.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", March 1997.

   [RFC3550]

   [7]  BIPM, "Circular T", May 2012.

   [8]  Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
        "RTP: A Transport Protocol for Real-Time Applications, RFC3550",
        July 2003.

   [RFC5905]  Mills, D., Delaware, U., Martin, J., Ed., Burbank, J., and
              W. Kasch, "Network Time Protocol Version 4: Protocol and
              Algorithms Specification", June 2010.

   [TF.460-6]
              ITU-R, "Recommendation ITU-R TF.460-4 - Standard-frequency
              and time-signal emissions", February 2002.

Authors' Addresses

   Kevin Gross
   AVA Networks
   Boulder, CO
   US

   Email: kevin.gross@avanw.com

   Ray van Brandenburg
   TNO
   Brassersplein 2
   Delft  2612CT
   the Netherlands

   Phone: +31-88-866-7000
   Email: ray.vanbrandenburg@tno.nl