Network Working Group                                            G. Zorn
Internet-Draft                                               Network Zen
Intended status: Standards Track                               R. Schott
Expires: December 11, 2011                              Deutsche Telekom
                                                                   Q. Wu
                                                                R. Huang
                                                                  Huawei
                                                            June 9, 2011


       RTCP XR for Application Layer Statistics Metrics Reporting
                 draft-zorn-xrblock-rtcp-xr-al-stat-02

Abstract

   This document defines a set of RTCP XR Report Blocks and associated
   Session Description Protocol (SDP) parameters allowing the report of
   application layer summary, loss discard and burst 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 December 11, 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
   to this document.  Code Components extracted from this document must



Zorn, et al.            Expires December 11, 2011               [Page 1]


Internet-Draft     Application Layer Statistics Blocks         June 2011


   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.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Standards Language . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Applicability  . . . . . . . . . . . . . . . . . . . . . . . .  4
   5.  Application Layer Metrics  . . . . . . . . . . . . . . . . . .  4
     5.1.  Application Layer Statistics Summary Report Block  . . . .  4
     5.2.  Application Layer Loss and Discard Metrics Block . . . . .  6
     5.3.  Application Layer Burst Metrics Block  . . . . . . . . . .  8
   6.  SDP Signaling  . . . . . . . . . . . . . . . . . . . . . . . . 10
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 11
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 12
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 12
     10.2. Informative References . . . . . . . . . . . . . . . . . . 13
   Appendix A.  Change Log  . . . . . . . . . . . . . . . . . . . . . 13
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13















Zorn, et al.            Expires December 11, 2011               [Page 2]


Internet-Draft     Application Layer Statistics Blocks         June 2011


1.  Introduction

   RFC 3611 [RFC3611] defines seven report block formats for network
   management and quality monitoring.  However, these metrics are mostly
   for multicast inference of network characteristics (MINC) or voice
   over IP (VoIP) monitoring and not widely applicable to other
   applications, e.g., video quality monitoring.  This document focuses
   on specifying new additional report block types used to convey video-
   related parameters at the application layer that are generically
   designed for use in audio and video services.

   The metrics belong to the class of application layer metrics defined
   in [I-D.hunt-avtcore-monarch].


2.  Terminology

   FEC

      Forward Error Correction
   Picture Type

      Picture types used in the different video algorithms are composed
      of the key-frame and the Derivation frame.  Key-frame is also
      called a reference frame and used as a reference for predicting
      other pictures.  It is coded without prediction from other
      pictures.  The Derivation frame is derived from a Key-frame using
      prediction from the reference frame.

   RTP

      Real-time Transport Protocol [RFC3550].

   RTCP

      RTP Control Protocol [RFC3550].

   RTCP XR

      RTP Control Protocol Extended Reports [RFC3611].


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




Zorn, et al.            Expires December 11, 2011               [Page 3]


Internet-Draft     Application Layer Statistics Blocks         June 2011


4.  Applicability

   The Report Blocks defined in this document can be applied to any
   real-time applications that convey video-related parameters at the
   application layer.


5.  Application Layer Metrics

5.1.  Application Layer Statistics Summary Report Block

   This block reports statistics beyond the information carried in the
   Statistics Summary Report Block specified in Section 4.6 of RFC 3611
   [RFC3611].  Information is recorded about lost frames, duplicated
   frames, and lost partial frames.  Such information can be useful for
   network management and video quality monitoring.

   The Application Layer Statistics Summary 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=TBD    |  rsd. |T|P|rsd|        block length           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          begin_seq            |             end_seq           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    Number of frames expected                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      lost_full_frames                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          dup_frames                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      lost_partial_frames                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   block_type (BT): 8 bits

      The Application Layer Statistics Summary Report Block is
      identified by the constant <ALSS>.

   rsvd: 4 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.





Zorn, et al.            Expires December 11, 2011               [Page 4]


Internet-Draft     Application Layer Statistics Blocks         June 2011


   picture_type_indicator (T): 1 bit

      This field is used to indicate the frame type being reported.  Set
      to 0 if the lost_frames field or dup_frames field contain a key
      frame report or reference frame report, 1 if the lost_frames field
      and dup_frames field contain other derivation frame report.

   P: 1 bit

      Bit set to 1 if the partial_lost_frames field or the partial_dup_
      frames field contains a report, 0 otherwise.

   R: 2 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 5, in accordance with the definition of this field in
      Section 3 of RFC 3611 [RFC3611].

   begin_seq: 16 bits

      As defined in Section 4.1 of RFC 3611 [RFC3611].

   end_seq: 16 bits

      As defined in Section 4.1 of RFC 3611 [RFC3611].

   number_of_frames_expected: 32bits

      A count of the number of frames of the type indicated by the
      picture_type_indicator field expected, estimated if necessary.  If
      no such frames have been received then this count shall be set to
      zero (0).

   lost_full_frames: 32 bits

      If a frame is completely lost, this frame is regarded as one lost
      full frame.  The lost_full_frames field is equivalent to the
      number of full frames of the type indicated by the
      picture_type_indicator field lost in the above sequence number
      interval.






Zorn, et al.            Expires December 11, 2011               [Page 5]


Internet-Draft     Application Layer Statistics Blocks         June 2011


   dup_frames: 32 bits

      Number of duplicate frames in the above sequence number interval.

   lost_partial_frames: 32 bits

      If one frame is partially lost, this frame is regarded as one lost
      fractional frame.  The lost_partial_frames field is equivalent to
      the number of lost fractional frames in the above sequence number
      interval.


5.2.  Application Layer Loss and Discard Metrics Block

   A frame shall be regarded as lost if it fails to arrive within an
   implementation-specific time window.  A frame that arrives within
   this time window but is too early or late to be played out shall be
   regarded as discarded.  A frame shall be classified as one of
   received (or OK), discarded or lost.

   This block reports Loss and Discard metrics statistics beyond the
   information carried in the standard RTCP packet format.  The block
   reports separately on packets lost on the IP channel, and those that
   have been received but then discarded by the receiving jitter buffer.

   It is very useful to distinguish between frames lost by the network
   and those discarded due to jitter.  Both have equal effect on the
   quality of the video stream, however, having separate counts helps
   identify the source of quality degradation.  These fields MUST be
   populated, and MUST be set to zero if no frames have been received.

   The Loss and Discard metrics are determined after the effects of FEC,
   redundancy [RFC2198] or other similar processes.  Implementations
   MUST provide values for all the fields defined here.  For certain
   metrics, if the value is undefined or unknown, then the specified
   default or unknown field value MUST be provided.

   The block is encoded as six 32-bit words:

       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=TBD    |I| rsv |T| rsv.|        block length           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Frame Loss rate        |     Frame Discard rate        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+





Zorn, et al.            Expires December 11, 2011               [Page 6]


Internet-Draft     Application Layer Statistics Blocks         June 2011


   block type (BT): 8 bits

      An Application Layer Loss and Discard Metrics Block is identified
      by the constant <ALLDM>.

   Interval Metric flag (I): 1 bit

      This field is used to indicate whether the metrics block is an
      Interval or a Cumulative report,

   reserved: 3 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.

   Picture type indicator (T): 1 bit

      Picture types used in the different video algorithms compose of
      key-frame and derivation frame.  This field is used to indicate
      the picture type to be reported.  Bits set to 0 if the Loss rate
      field and discard rate field contain a Key_frame report or
      reference frame report, 1 if the Loss rate field and discard rate
      field contain other derivation frame reports.

   reserved: 3 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 1, in accordance with the definition of this field in
      Section 3 of RFC 3611 [RFC3611].

   Frame Loss rate: 8 bits

      The proportion of frames lost since the beginning of reception,
      expressed as a fixed point number with the binary point at the
      left edge of the field.  This value is calculated by dividing the
      total number of lost frames containing specified frame (e.g., Key
      frame) (after the effects of applying any error protection such as
      FEC) by the total number of frames expected, multiplying the
      result of the division by 256, limiting the maximum value to 255
      (to avoid overflow), and taking the integer part.  The numbers of
      duplicated frames and discarded frames do not enter into this
      calculation.  Since receivers cannot be required to maintain



Zorn, et al.            Expires December 11, 2011               [Page 7]


Internet-Draft     Application Layer Statistics Blocks         June 2011


      unlimited buffers, a receiver MAY categorize late-arriving frames
      as lost.  The degree of lateness that triggers a loss SHOULD be
      significantly greater than that which triggers a discard.

   Frame Discard rate: 8 bits

      The proportion of frames discarded since the beginning of
      reception, due to late or early arrival, under-run or overflow at
      the receiving jitter buffer.  This value is expressed as a fixed
      point number with the binary point at the left edge of the field.
      It is calculated by dividing the total number of discarded frames
      containing specified frame (e.g., Key Frame) (excluding duplicate
      frames discards) by the total number of frames expected,
      multiplying the result of the division by 256, limiting the
      maximum value to 255 (to avoid overflow), and taking the integer
      part.


5.3.  Application Layer Burst Metrics Block

   This block reports Burst metrics statistics beyond the information
   carried in the standard RTCP packet format.  It reports on the
   combined effect of losses and discards, as both have equal effect on
   video quality.

   In order to properly assess the quality of a video stream, it is
   desirable to consider the degree of burstiness of packet loss
   [RFC3357].  Following the one-way loss pattern sample metrics
   discussed in [RFC3357], a measure of the spacing between consecutive
   network packet loss or error events, is a "loss distance".  The loss
   distance metric captures the spacing between the loss periods.  The
   duration of a loss or error event (e.g. and how many packets are lost
   in that duration) is a "loss period", the loss period metric captures
   the frequency and length (burstiness) of loss once it starts.  Delay
   reports include the transit delay between RTP end points and the end
   system processing delays, both of which contribute to the user
   perceived delay.

   Implementations MUST provide values for all the fields defined here.
   For certain metrics, if the value is undefined or unknown, then the
   specified default or unknown field value MUST be provided.

   The block is encoded as three 32-bit words:








Zorn, et al.            Expires December 11, 2011               [Page 8]


Internet-Draft     Application Layer Statistics Blocks         June 2011


      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=TBD    |I|     Rsv.    |        block length           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Loss Distance        |          Loss Period          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Threshold            |           Reserved.           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   block type (BT): 8 bits

      The Application Layer Burst Metrics Block is identified by the
      constant <ALBM>.

   Interval Metric flag (I): 1 bit

      This field is used to indicate whether the metrics block is an
      Interval or a Cumulative report,

   rsvd: 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 2, in accordance with the definition of this field in
      Section 3 of RFC 3611 [RFC3611].

   Loss Distance: 16 bits

      The average duration of periods between bursts.  The mean
      duration, expressed in milliseconds, of the gap periods that have
      occurred since the beginning of reception [DSLF].  The duration of
      each period is calculated based upon the frame packets that marks
      the end of the prior burst and the frame packet that marks the
      beginning of the subsequent burst.  It is equal to the timestamp
      of the subsequent burst frame packet, minus the timestamp of the
      prior burst frame packet, plus the duration of the prior burst
      frame packet.  If the actual values are not available, estimated
      values MUST be used.  In the case of a gap that occurs at the
      beginning of reception, the sum of the timestamp of the prior
      burst packet and the duration of the prior burst packet are
      replaced by the reception start time.  In the case of a gap that
      occurs at the end of reception, the timestamp of the subsequent
      burst packet is replaced by the reception end time.  If there have



Zorn, et al.            Expires December 11, 2011               [Page 9]


Internet-Draft     Application Layer Statistics Blocks         June 2011


      been no gap periods, the gap duration value MUST be zero.

   Loss Period: 16 bits

      The average duration of a burst of lost and discarded frames.  The
      mean duration, expressed in milliseconds, of the loss intervals
      that have occurred since the beginning of reception [DSLF].  The
      duration of each loss period is calculated based upon the frame
      packets that mark the beginning and end of that period.  It is
      equal to the timestamp of the end frame, plus the duration of the
      end frame, minus the timestamp of the beginning frame.  If the
      actual values are not available, estimated values MUST be used.
      If there have been no burst periods, the burst duration value MUST
      be zero.

   Threshold: 16 bits

      The maximum duration, expressed in milliseconds, of the loss
      distance that have occurred since the beginning of reception.

   Reserved: 16 bits

      All bits SHALL be set to 0 by the sender and SHALL be ignored on
      reception.



6.  SDP Signaling

   Three new parameters are defined for the three report blocks defined
   in this document to be used with SDP [RFC4566] using the Augmented
   Backus-Naur Form (ABNF) [RFC5234].  They have the following syntax
   within the "rtcp-xr" attribute [RFC3611]:


















Zorn, et al.            Expires December 11, 2011              [Page 10]


Internet-Draft     Application Layer Statistics Blocks         June 2011


     rtcp-xr-attrib =  "a=rtcp-xr:"
                       [xr-format *(SP xr-format)] CRLF
           xr-format =
                       / application-loss-metrics
                       / application-burst-metrics
                       / application-stat-summary

   application-burst-metrics = " application-burst-metrics"
                                 ["=" max-size]
         max-size = 1*DIGIT ; maximum block size in octets

   application--loss-metrics = " application-loss-metrics"
                          ["=" stat-flag *("," stat-flag)]
            stat-flag = "key Frame loss and duplication"
                           / "derivation Frame loss and duplication"

   application-stat-summary = "application-stat-summary"
                         ["=" stat-flag *("," stat-flag)]
               stat-flag = "key Frame loss and duplication"
                      / "derivation Frame loss and duplication"

   Refer to Section 5.1 of RFC 3611 [RFC3611] for a detailed description
   and the full syntax of the "rtcp-xr" attribute.


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 three new block type value in the RTCP XR Block
   Type Registry:

      Name:       ALSS
      Long Name:  Application Layer Statistics Summary
      Value       <ALSS>
      Reference:  Section 5.1

      Name:       ALLDM
      Long Name:  Application Layer Loss and Discard Metrics
      Value       <ALLDM>
      Reference:  Section 5.2








Zorn, et al.            Expires December 11, 2011              [Page 11]


Internet-Draft     Application Layer Statistics Blocks         June 2011


      Name:       ALBM
      Long Name:  Application Layer Burst Metrics
      Value       <ALBM>
      Reference:  Section 5.3

   This document also registers three new SDP [RFC4566] parameters for
   the "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry:

      *  "application-layer-loss-metrics"
      *  "application-layer-burst-metrics"
      *  "application-layer-stat-summary"

   The contact information for the registrations is:

                          Glen Zorn
                          Network Zen
                          227/358 Thanon Sanphawut
                          Bang Na, Bangkok  10110
                          Thailand


8.  Security Considerations

   The new RTCP XR report blocks proposed in this document introduce 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, 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,



Zorn, et al.            Expires December 11, 2011              [Page 12]


Internet-Draft     Application Layer Statistics Blocks         June 2011


              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.

10.2.  Informative References

   [DSLF]     Rahrer, T., Ed., Fiandra, R., Ed., and S. Wright, Ed.,
              "Triple-play Services Quality of Experience (QoE)
              Requirements", DSL Forum Technical Report TR-126,
              December 2006, <http://www.broadband-forum.org/technical/
              download/TR-126.pdf>.

   [I-D.hunt-avtcore-monarch]
              Hunt, G., Arden, P., and W. Wu, "Monitoring Architectures
              for RTP", draft-hunt-avtcore-monarch-02 (work in
              progress), March 2011.

   [RFC2198]  Perkins, C., Kouvelas, I., Hodson, O., Hardman, V.,
              Handley, M., Bolot, J., Vega-Garcia, A., and S. Fosse-
              Parisis, "RTP Payload for Redundant Audio Data", RFC 2198,
              September 1997.

   [RFC3357]  Koodli, R. and R. Ravikanth, "One-way Loss Pattern Sample
              Metrics", RFC 3357, August 2002.


Appendix A.  Change Log

   This document is separated from
   draft-wu-xrblock-rtcp-xr-quality-monitoring-01 with a few editorial
   changes and focuses on application layer summary, loss, discard, and
   burst metrics.















Zorn, et al.            Expires December 11, 2011              [Page 13]


Internet-Draft     Application Layer Statistics Blocks         June 2011


Authors' Addresses

   Glen Zorn
   Network Zen
   227/358 Thanon Sanphawut
   Bang Na, Bangkok  10260
   Thailand

   Phone: +66 (0) 87-040-4617
   Email: gwz@net-zen.net


   Roland Schott
   Deutsche Telekom
   Deutsche-Telekom-Allee 7
   Darmstadt  64295
   Germany

   Email: Roland.Schott@telekom.de


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

   Email: sunseawq@huawei.com


   Rachel Huang
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing  210012
   China

   Email: Rachel@huawei.com














Zorn, et al.            Expires December 11, 2011              [Page 14]