Network Working Group                                          H. Asaeda
Internet-Draft                                           Keio University                                                      NICT
Intended status: Standards Track                                R. Huang
Expires: January 31, April 21, 2013                                            Q. Wu
                                                                  Huawei
                                                           July 30,
                                                        October 18, 2012

 RTCP XR

      RTP Control Protocol (RTCP) Extended Report (XR) Blocks for
           Synchronization Delay and Offset Metrics Reporting
             draft-ietf-xrblock-rtcp-xr-synchronization-00
             draft-ietf-xrblock-rtcp-xr-synchronization-01

Abstract

   This document defines two RTCP XR 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 January 31, 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
   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 . . . . . . . . . . .  6  7
   6.  SDP Signaling  . . . . . . . . . . . . . . . . . . . . . . . .  7
   7.  IANA Considerations  . . . . . . . . . .  8
     6.1.  SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . .  8
     6.2.  Offer/Answer Usage .  7
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  8
   9.  Acknowledgements . .
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  8
   10. References . . .
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   9.  Acknowledgements . . . .  9
     10.1. Normative References . . . . . . . . . . . . . . . . . . .  9
     10.2. Informative
   10. References . . . . . . . . . . . . . . . . . .  9
   Appendix A.  Change Log . . . . . . . .  9
     10.1. Normative References . . . . . . . . . . . . .  9
     A.1.  draft-asaeda-xrblock-rtcp-xr-syncronization-07 . . . . . .  9
     A.2.  draft-asaeda-xrblock-rtcp-xr-syncronization-06
     10.2. Informative References . . . . . . 10
     A.3.  draft-asaeda-xrblock-rtcp-xr-syncronization-05 . . . . . . 10
     A.4.  draft-asaeda-xrblock-rtcp-xr-syncronization-04 . . . . . . 10
     A.5.  draft-asaeda-xrblock-rtcp-xr-syncronization-03
   Appendix A.  Change Log  . . . . . . . . . 10
     A.6.  draft-asaeda-xrblock-rtcp-xr-syncronization-02 . . . . . . 10
     A.7.  draft-asaeda-xrblock-rtcp-xr-syncronization-01 . . . . . . 10
     A.8.  draft-asaeda-xrblock-rtcp-xr-syncronization-00
     A.1.  draft-ietf-xrblock-rtcp-xr-syncronization-01 . . . . . . 11 . 10
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11

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 terminal related 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.  Initial  The initial synchronization Delay is the average
      time for receiver to synchronize the all components of a multimedia
      session [RFC6051].

   Synchronization Offset:

      The absolute delay variance

      Synchronization between two media streams must be maintained to
      ensure satisfactory QoE.  Two media streams can be of the measured RTP stream relative same
      media type belonging to
      the reference one RTP stream session or in the different media
      types belonging to one multimedia session.  The Synchronization
      Offset is the relative time difference of the two media streams
      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 the component 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, 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. 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].

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 Statistics Summary RTP Flows Initial Synchronization Delay Report Block is
      identified by the constant <RFISD>.

   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: source: 32 bits

      The SSRC of the media source SHALL be set to the value of the SSRC
      identifier carried in an any arbitrary component of RTP stream 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
      the information contained in
      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
      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. 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
   actual delay variance of the measured RTP stream
   relative to he
   reference RTP stream time difference between two media streams with the same
   CNAME.  The reference RTP  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=3 length=4        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        SSRC of source                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        SSRC of reference                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Synchronization Offset, most significant word         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Synchronization Offset, least significant word        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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 <RFSO>.

   Block length: 16 bits

   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 3, 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 one the reporting RTP stream relative to
      the reference RTP stream with the same CNAME.  The calculation of
      Synchronization Offset of is similar to Difference D calculation in
      the reference stream should be zero.  This value RFC3550.  That is to say,if Si is
      calculated based on the interarrival time between an arbitrary RTP timestamp from the
      reporting RTP packet i, and Ri is the reference time of arrival in RTP
      timestamp units for reporting RTP packet with i, Sj is the same CNAME, and
      timestamps of this arbitrary RTP
      timestamp from the reference RTP packet j, and Rj is the time of
      arrival in RTP timestamp units for reference RTP packet with j, then
      the same CNAME. value of the synchronization offset D may be expressed as
         D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)
      The value of this field the synchronization offset is represented using a 64-bit 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"
                                          ["=" max-size]
     RTP-flow-syn-offset = "RTP-flows-syn-offset"
                                     ["=" max-size]
               max-size = 1*DIGIT ; maximum block size in octets

   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].

   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       <RFISD>
      Reference:  Section 4

      Name:       RFSO
      Long Name:  RTP Flows Synchronization Offset Metrics Block
      Value       <RFSO>
      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.

   [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-13, May 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-asaeda-xrblock-rtcp-xr-syncronization-07

   Editorial changes are made from the previous version 06.

A.2.  draft-asaeda-xrblock-rtcp-xr-syncronization-06

   The following are the major changes compared to previous version 05:

   o  Define synchronization offset as 64 bit NTP-format timestamp to
      meet synchronization resolution requirements for some RTP
      applications.
   o  Add the definition of Initial Synchronization Delay in section 2.
   o  Other editorial changes.

A.3.  draft-asaeda-xrblock-rtcp-xr-syncronization-05

   The following are the major changes compared to previous version 04:

   o  Remove per packet reporting and only report a single value of
      general synchronization offset.

A.4.  draft-asaeda-xrblock-rtcp-xr-syncronization-04

   The following are the major changes compared to previous version 03:

   o  Add a definition for synchronization offset.
   o  Use additional text in applicability section to clarify the
      difference between synchronization delay and offset.
   o  Add a reference to tell how to select the reference stream.
   o  Other Editorial Changes.

A.5.  draft-asaeda-xrblock-rtcp-xr-syncronization-03

   The following are the major changes compared to previous version 02:

   o  Support multiple general synchronization offset reporting.
   o  Other Editorial Changes.

A.6.  draft-asaeda-xrblock-rtcp-xr-syncronization-02

   The following are the major changes compared to previous version 01:

   o  Clarify which synchronization is reported in section 4 and 5.
   o  Allow calculating the synchronization delay based on RTP header
      extension defined in RFC6051
   o  Explain what the components of RTP session are in section 3.

A.7.  draft-asaeda-xrblock-rtcp-xr-syncronization-01  draft-ietf-xrblock-rtcp-xr-syncronization-01

   The following are the major changes compared to previous version:

   o  Separate Synchronization Delay and Offset Metrics Block into two
      independent block

      Editorial change based on comments raised on the list.

A.8.  draft-asaeda-xrblock-rtcp-xr-syncronization-00

   The following are the major changes compared to previous version:

      This document is separated from
      draft-wu-xrblock-rtcp-xr-quality-monitoring-01 with some editorial
      changes and focuses on RTP Flow Initial Synchronization Delay and
      RTP Flows General Synchronization Offset.

Authors' Addresses

   Hitoshi Asaeda
   Keio University
   Graduate School
   National Institute of Media Information and Governance
   5322 Endo
   Fujisawa, Kanagawa  252-0882 Communications Technology
   4-2-1 Nukui-Kitamachi
   Koganei, Tokyo  184-8795
   Japan

   Email: asaeda@wide.ad.jp 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