[Docs] [txt|pdf|xml|html] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06 07 10 11 12 13 14 RFC 7005

Audio/Video Transport Working Group                             A. Clark
Internet-Draft                                                  Telchemy
Intended status: Standards Track                                V. Singh
Expires: July 30, 2013                                  Aalto University
                                                                   Q. Wu
                                                                  Huawei
                                                        January 26, 2013


RTP Control Protocol (RTCP) Extended Report (XR) Block for Jitter Buffer
                            Metric Reporting
                  draft-ietf-xrblock-rtcp-xr-jb-07.txt

Abstract

   This document defines an RTP Control Protocol (RTCP) Extended Report
   (XR) Block that allows the reporting of Jitter Buffer metrics for 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 July 30, 2013.

Copyright Notice

   Copyright (c) 2013 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



Clark, et al.             Expires July 30, 2013                 [Page 1]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Jitter Buffer Metrics Block  . . . . . . . . . . . . . . .  3
     1.2.  RTCP and RTCP XR Reports . . . . . . . . . . . . . . . . .  3
     1.3.  Performance Metrics Framework  . . . . . . . . . . . . . .  3
     1.4.  Applicability  . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.1.  Standards Language . . . . . . . . . . . . . . . . . . . .  4
   3.  Jitter Buffer Operation  . . . . . . . . . . . . . . . . . . .  5
     3.1.  Fixed Jitter Buffer  . . . . . . . . . . . . . . . . . . .  5
     3.2.  Adaptive Jitter Buffer . . . . . . . . . . . . . . . . . .  5
   4.  Jitter Buffer Metrics Block  . . . . . . . . . . . . . . . . .  6
     4.1.  Report Block Structure . . . . . . . . . . . . . . . . . .  6
     4.2.  Definition of Fields in Jitter Buffer Metrics Block  . . .  6
   5.  SDP Signaling  . . . . . . . . . . . . . . . . . . . . . . . .  9
     5.1.  SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . .  9
     5.2.  Offer/Answer Usage . . . . . . . . . . . . . . . . . . . .  9
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
     6.1.  New RTCP XR Block Type value . . . . . . . . . . . . . . . 10
     6.2.  New RTCP XR SDP Parameter  . . . . . . . . . . . . . . . . 10
     6.3.  Contact information for registrations  . . . . . . . . . . 10
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 11
   8.  Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 12
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 13
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 14
     10.2. Informative References . . . . . . . . . . . . . . . . . . 14
   Appendix A.  Change Log  . . . . . . . . . . . . . . . . . . . . . 15
     A.1.  draft-ietf-xrblock-rtcp-xr-jb-07 . . . . . . . . . . . . . 15
     A.2.  draft-ietf-xrblock-rtcp-xr-jb-05 . . . . . . . . . . . . . 15
     A.3.  draft-ietf-xrblock-rtcp-xr-jb-03 . . . . . . . . . . . . . 15
     A.4.  draft-ietf-xrblock-rtcp-xr-jb-02 . . . . . . . . . . . . . 15
     A.5.  draft-ietf-xrblock-rtcp-xr-jb-01 . . . . . . . . . . . . . 15
     A.6.  draft-ietf-xrblock-rtcp-xr-jb-00 . . . . . . . . . . . . . 16
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17











Clark, et al.             Expires July 30, 2013                 [Page 2]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


1.  Introduction

1.1.  Jitter Buffer Metrics Block

   This document defines a new block type to augment those defined in
   [RFC3611], for use in a range of RTP applications.

   The new block type provides information on jitter buffer
   configuration and performance.

   The metric belongs to the class of transport-related end system
   metrics defined in [RFC6792].

   Instances of this Metrics Block refer by Synchronization source
   (SSRC) to the separate auxiliary Measurement Information block
   [RFC6776] which contains information such as the SSRC of the measured
   stream, and RTP sequence numbers and time intervals indicating the
   span of the report.

1.2.  RTCP and RTCP XR Reports

   The use of RTCP for reporting is defined in [RFC3550].  [RFC3611]
   defines an extensible structure for reporting using an RTCP Extended
   Report (XR).  This document defines a new Extended Report block for
   use with [RFC3550] and [RFC3611].

1.3.  Performance Metrics Framework

   The Performance Metrics Framework [RFC6390] provides guidance on the
   definition and specification of performance metrics.  The RTP
   Monitoring Architectures [RFC6792] provides guideline for reporting
   block format using RTCP XR.  Metrics described in this draft are in
   accordance with the guidelines in [RFC6390]and [RFC6792].

1.4.  Applicability

   Real-time applications employ a jitter buffer to absorb jitter
   introduced on the path from source to destination.  These metrics are
   used to report how the jitter buffer at the receiving end of RTP
   stream behaves as a result of jitter in the network and are
   applicable to a range of RTP applications.

   These metrics reflect how terminal-related factors affect real-time
   application quality and are useful to provide better end-user quality
   of experience (QoE).






Clark, et al.             Expires July 30, 2013                 [Page 3]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


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












































Clark, et al.             Expires July 30, 2013                 [Page 4]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


3.  Jitter Buffer Operation

   A jitter buffer is required to absorb delay variation in network
   delivery of media packets.  A jitter buffer works by holding media
   data for a period of time after it is received but before it s played
   out.  Packets that arrive relatively early are held in the jitter
   buffer relatively longer.  Playout can fail if packets arrive too
   early and find no available jitter buffer space to be held until time
   for playout.  Playout can also fail if packets are delayed
   excessively by the network and arrive too late after they are
   scheduled to be played.

   The jitter buffer can be considered as a time window with one side
   (the early side) aligned with the delay corresponding to the early
   arriving packet and the other side (the late side) representing the
   maximum permissible delay before a late arriving packet would be
   discarded.  The Jitter Buffer delay is referred to as the time spent
   in the jitter buffer.  The Jitter Buffer Nominal delay is the delay
   that is applied to a packet that arrives at its expected time (i.e. 0
   jitter) - and corresponds to the late window of the jitter buffer.
   The Jitter buffer maximum delay is the delay that is applied to an
   earliest arriving packet that is not discarded and corresponds to the
   early window of the jitter buffer.

   Note that when a packet arrives at its expected time (i.e. 0 jitter),
   this packet will fall between left window and right window and we
   also call this packet as the packet that arrives exactly on time.
   The jitter buffer nominal delay uses this packet as the reference
   packet.  The reference point would typically be selected as the first
   packet.  However the reference point could also be selected based on
   some other common criterions, e.g., a running average of the delay.

3.1.  Fixed Jitter Buffer

   A receiver can use either a fixed or adaptive jitter buffer method.
   A fixed jitter buffer method is a simple implementation with the
   fixed jitter buffer size but may not do a good job of accommodating
   varying network performance.  The fixed jitter buffer may also have
   extra buffer memory and therefore incur extra media latency compared
   to an adaptive implementation.

3.2.  Adaptive Jitter Buffer

   An adaptive jitter buffer method has adaptive jitter buffer size and
   may adjust jitter buffer delay during playback in response to
   changing network performance.  The jitter buffer delay is typically
   adjusted to minimize media latency while also minimizing of lost data
   due to packets arriving too early or too late.



Clark, et al.             Expires July 30, 2013                 [Page 5]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


4.  Jitter Buffer Metrics Block

   This block describes the configuration and operating parameters of
   the jitter buffer in the receiver of the RTP end system or RTP mixer
   which sends the report.  Instances of this Metrics Block refer by
   SSRC to the separate auxiliary Measurement Information block
   [RFC6776] which describes the measurement interval in use.  This
   Metrics Block relies on the measurement interval in the Measurement
   Information block indicating the span of the report and should be
   sent in the same compound RTCP packet as the measurement information
   block.  If the measurement interval is not received in the same
   compound RTCP packet as this Metrics Block, this Metrics Block should
   be discarded.

4.1.  Report Block Structure

   JB Metrics Block

        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=NJB    | I |C|  Rsvd.  |       block length=3          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                           SSRC of Source                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          JB nominal           |         JB maximum            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     JB high water mark        |      JB low water mark        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 1: Report Block Structure

4.2.  Definition of Fields in Jitter Buffer Metrics Block

   Block type (BT): 8 bits

      A Jitter Buffer Metrics Report Block is identified by the constant
      NJB.

      [Note to RFC Editor: please replace NJB with the IANA provided
      RTCP XR block type for this block.]


   Interval Metric flag (I): 2 bits

      This field is used to indicate whether the Jitter Buffer metrics
      are Sampled, Interval or Cumulative metrics:




Clark, et al.             Expires July 30, 2013                 [Page 6]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


         I=01: Sampled Value - the reported value is a sampled
         instantaneous value.

         I=10: Interval Duration - the reported value applies to the
         most recent measurement interval duration between successive
         metrics reports.

         I=11: Cumulative Duration - the reported value applies to the
         accumulation period characteristic of cumulative measurements.


   Jitter Buffer Configuration (C): 1 bit

      This field is used to identify the jitter buffer method in use at
      the receiver, according to the following code:



            0 = Fixed jitter buffer

            1 = Adaptive jitter buffer


   Reserved (Rsvd.): 5 bits

      These bits are reserved.  They MUST be set to zero by senders
      ignored by receivers (See [RFC6709] section 4.2).


   Block Length: 16 bits

      The length of this report block in 32-bit words, minus one, in
      accordance with the definition in [RFC3611].  This field MUST be
      set to 3 to match the fixed length of the report block.


   jitter buffer nominal delay (JB nominal): 16 bits

      This is the current nominal jitter buffer delay in milliseconds,
      which corresponds to the nominal jitter buffer delay for packets
      that arrive exactly on time.  It is calculated based on the time
      spend in the jitter buffer for the packet that arrives exactly on
      time.  This parameter MUST be provided for both fixed and adaptive
      jitter buffer implementations.

      If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be
      reported to indicate an over-range measurement.  If the
      measurement is unavailable, the value 0xFFFF MUST be reported.



Clark, et al.             Expires July 30, 2013                 [Page 7]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


   jitter buffer maximum delay (JB maximum): 16 bits

      This is the current maximum jitter buffer delay in milliseconds
      which corresponds to the earliest arriving packet that would not
      be discarded.  It is calculated based on the time spent in the
      jitter buffer for the earliest arriving packet In simple queue
      implementations this may correspond to the size of the jitter
      buffer.  In adaptive jitter buffer implementations, this value may
      vary dynamically.  This parameter MUST be provided for both fixed
      and adaptive jitter buffer implementations.

      If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be
      reported to indicate an over-range measurement.  If the
      measurement is unavailable, the value 0xFFFF MUST be reported.


   jitter buffer high water mark (JB high water mark): 16 bits

      This is the highest value of the jitter buffer nominal delay in
      milliseconds which occurred at any time during the reporting
      interval.  This parameter MUST be provided for adaptive jitter
      buffer implementations and its value MUST be set to JB maximum for
      fixed jitter buffer implementations.

      If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be
      reported to indicate an over-range measurement.  If the
      measurement is unavailable, the value 0xFFFF MUST be reported.


   jitter buffer low water mark (JB low water mark): 16 bits

      This is the lowest value of the jitter buffer nominal delay in
      milliseconds which occurred at any time during the reporting
      interval.  This parameter MUST be provided for adaptive jitter
      buffer implementations and its value MUST be set to JB maximum for
      fixed jitter buffer implementations.

      If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be
      reported to indicate an over-range measurement.  If the
      measurement is unavailable, the value 0xFFFF MUST be reported.











Clark, et al.             Expires July 30, 2013                 [Page 8]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


5.  SDP Signaling

   [RFC3611] defines the use of SDP (Session Description Protocol)
   [RFC4566] for signaling the use of XR blocks.  However XR blocks MAY
   be used without prior signaling (see section 5 of RFC3611).

5.1.  SDP rtcp-xr-attrib Attribute Extension

   This section augments the SDP [RFC4566] attribute "rtcp-xr" defined
   in [RFC3611] by providing an additional value of "xr-format" to
   signal the use of the report block defined in this document.

   xr-format =/ xr-jb-block

   xr-jb-block = "jitter-bfr"

5.2.  Offer/Answer Usage

   When SDP is used in offer-answer context, the SDP Offer/Answer usage
   defined in [RFC3611] for unilateral "rtcp-xr" attribute parameters
   applies.  For detailed usage of Offer/Answer for unilateral
   parameter, refer to section 5.2 of [RFC3611].





























Clark, et al.             Expires July 30, 2013                 [Page 9]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


6.  IANA Considerations

   New block types for RTCP XR are subject to IANA registration.  For
   general guidelines on IANA considerations for RTCP XR, refer to
   [RFC3611].

6.1.  New RTCP XR Block Type value

   This document assigns the block type value NJB in the IANA "RTCP XR
   Block Type Registry" to the "JB Metrics Block".

   [Note to RFC Editor: please replace NJB with the IANA provided RTCP
   XR block type for this block.]

6.2.  New RTCP XR SDP Parameter

   This document also registers a new parameter "jitter-bfr" in the
   "RTCP XR SDP Parameters Registry".

6.3.  Contact information for registrations


      The contact information for the registrations is:

      Qin Wu (sunseawq@huawei.com)
      101 Software Avenue, Yuhua District
      Nanjing, Jiangsu  210012
      China























Clark, et al.             Expires July 30, 2013                [Page 10]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


7.  Security Considerations

   It is believed that this proposed RTCP XR report block introduces no
   new security considerations beyond those described in [RFC3611].
   This block does not provide per-packet statistics so the risk to
   confidentiality documented in Section 7, paragraph 3 of [RFC3611]
   does not apply.












































Clark, et al.             Expires July 30, 2013                [Page 11]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


8.  Contributors

   Geoff Hunt wrote the initial draft of this document.
















































Clark, et al.             Expires July 30, 2013                [Page 12]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


9.  Acknowledgments

   The authors gratefully acknowledge reviews and feedback provided by
   Bruce Adams, Philip Arden, Amit Arora, Bob Biskner, Kevin Connor,
   Claus Dahm, Randy Ethier, Roni Even, Jim Frauenthal, Albert Higashi,
   Tom Hock, Shane Holthaus, Paul Jones, Rajesh Kumar, Keith Lantz,
   Mohamed Mostafa, Amy Pendleton, Colin Perkins, Mike Ramalho, Ravi
   Raviraj, Albrecht Schwarz, Tom Taylor, Hideaki Yamada,Claire Bi,Colin
   Perkin, Dan Romascanu, Kevin Gross and Glen Zorn.










































Clark, et al.             Expires July 30, 2013                [Page 13]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


10.  References

10.1.  Normative References

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

   [RFC3550]  Schulzrinne, H., "RTP: A Transport Protocol for Real-Time
              Applications", RFC 3550, July 2003.

   [RFC3611]  Friedman, T., Caceres, R., and A. Clark, "RTP Control
              Protocol Extended Reports (RTCP XR)", November 2003.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", July 2006.

   [RFC6709]  Carpenter, B., Aboba, B., and S. Cheshire, "Design
              Considerations for Protocol Extensions", RFC 6709,
              September 2012.

   [RFC6776]  Wu, Q., "Measurement Identity and information Reporting
              using SDES item and XR Block", RFC 6776, August 2012.

10.2.  Informative References

   [RFC6390]  Clark, A. and B. Claise, "Framework for Performance Metric
              Development", RFC 6390, October 2011.

   [RFC6792]  Hunt, G., Wu, Q., and P. Arden, "Monitoring Architectures
              for RTP", RFC 6792, November 2012.





















Clark, et al.             Expires July 30, 2013                [Page 14]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


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-jb-07

   The following are the major changes to previous version :

   o  Add one new section to discuss jitter buffer operation.

A.2.  draft-ietf-xrblock-rtcp-xr-jb-05

   The following are the major changes to previous version :

   o  Some editorial change changes based on the discussion with Glen
      and Kevin on the list.

A.3.  draft-ietf-xrblock-rtcp-xr-jb-03

   The following are the major changes to previous version :

   o  Reduce the "jb cfg" to 1-bit based on discussion in the WGLC.

   o  Other editorial change changes aligning with PDV,Delay draft.

A.4.  draft-ietf-xrblock-rtcp-xr-jb-02

   The following are the major changes to previous version :

   o  Add some explanation text in the SDP offer/answer section.

   o  Add some text in applicability section to explain the use to
      report jitter buffer metrics.

   o  Other editorial change changes aligning with PDV,Delay draft.

A.5.  draft-ietf-xrblock-rtcp-xr-jb-01

   The following are the major changes to previous version :

   o  Outdated reference update

   o  Add one Editor notes to ask clarification on the use of reporting
      jitter buffer metrics.

   o  Other Editorial changes.




Clark, et al.             Expires July 30, 2013                [Page 15]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


A.6.  draft-ietf-xrblock-rtcp-xr-jb-00

   The following are the major changes to previous version :

   o  Boilerplate updates.

   o  references updates

   o  allocate 32 bit field in report block for SSRC

   o  Other editorial changes to get alignment with MONARCH draft.








































Clark, et al.             Expires July 30, 2013                [Page 16]

Internet-Draft            RTCP XR Jitter Buffer             January 2013


Authors' Addresses

   Alan Clark
   Telchemy Incorporated
   2905 Premiere Parkway, Suite 280
   Duluth, GA  30097
   USA

   Email: alan.d.clark@telchemy.com


   Varun Singh
   Aalto University
   School of Electrical Engineering
   Otakaari 5 A
   Espoo, FIN  02150
   Finland

   Email: varun@comnet.tkk.fi


   Qin Wu
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

   Email: sunseawq@huawei.com























Clark, et al.             Expires July 30, 2013                [Page 17]


Html markup produced by rfcmarkup 1.109, available from https://tools.ietf.org/tools/rfcmarkup/