AVT                                                             A. Begen
Internet-Draft                                                    D. Hsu
Intended status:  Standards Track                               M. Lague
Expires:  April 20, 24, 2009                                   Cisco Systems
                                                        October 17, 21, 2008

           Post-Repair Loss RLE Report Block Type for RTCP XR

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-

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

   The list of current Internet-Drafts can be accessed at

   The list of Internet-Draft Shadow Directories can be accessed at

   This Internet-Draft will expire on April 20, 24, 2009.

Copyright Notice

   Copyright (C) The IETF Trust (2008).


   This document defines a new report block type within the framework of
   RTP Control Protocol (RTCP) Extended Reports (XR).  One of the
   initial XR report block types is the Loss Run Length Encoding (RLE)
   Report Block.  This report conveys the information regarding the
   individual Real-time Transport Protocol (RTP) packet receipt and loss
   events experienced during the RTCP interval preceding the
   transmission of the report.  The new report, which is referred to as
   the Post-repair Loss RLE Report, carries the information regarding
   the remaining lost packets after all loss-repair methods are applied.
   By comparing the RTP packet receipts/losses before and after the loss
   repair is completed, one can determine the effectiveness of the loss-
   repair methods in an aggregated fashion.  This document also defines
   the signaling of the Post-repair Loss RLE Report in the Session
   Description Protocol (SDP).

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Requirements Notation . . . . . . . . . . . . . . . . . . . . . 4
   3.  Post-Repair Loss RLE Report Block . . . . . . . . . . . . . . . 4
   4.  Session Description Protocol Signaling  . . . . . . . . . . . . 5 6
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 7
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 7
     8.1.  Normative References  . . . . . . . . . . . . . . . . . . . 7
     8.2.  Informative References  . . . . . . . . . . . . . . . . . . 7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 7 8
   Intellectual Property and Copyright Statements  . . . . . . . . . . 9

1.  Introduction

   RTP Control Protocol (RTCP) is the out-of-band control protocol for
   the applications that are using the Real-time Transport Protocol
   (RTP) for media delivery and communications [RFC3550].  RTCP allows
   the RTP entities to monitor the data delivery and provides them
   minimal control functionality via sender and receiver reports as well
   as other control packets.  [RFC3611] expands the RTCP functionality
   further by introducing the RTCP Extended Reports (XR).

   One of the initial XR report block types defined in [RFC3611] is the
   Loss Run Length Encoding (RLE) Report Block.  This report conveys the
   information regarding the individual RTP packet receipt and loss
   events experienced during the RTCP interval preceding the
   transmission of the report.  However, the Loss RLE in an RTCP XR
   report is usually collected only on the primary source stream before
   any loss-repair method is applied.  Once one or more loss-repair
   methods, e.g., Forward Error Correction (FEC) [RFC5109] and/or
   retransmission [RFC4588], are applied, some or all of the lost
   packets on the primary source stream may be recovered.  However, the
   pre-repair Loss RLE cannot indicate which source packets were
   recovered and which are still missing.  Thus, the pre-repair Loss RLE
   cannot specify how well the loss repair performed.

   This issue can be addressed by generating an additional report block
   (within the same or a different RTCP XR report), which reflects the
   packet receipt/
   loss receipt/loss events after all loss-repair methods are applied.
   This report block, which we refer to as the Post-repair Loss RLE,
   indicates the remaining missing, i.e., unrepairable, source packets.
   When the pre-
   repair pre-repair and post-repair Loss RLEs are compared, the RTP
   sender or another third party entity can evaluate the effectiveness
   of the loss-repair methods (at the packet level) in an aggregated fashion.  To avoid any
   ambiguity in the evaluation, it is RECOMMENDED that the post-repair
   Loss RLE is generated for the source packets that have no further
   chance of being repaired.  If the loss-repair method(s) may still
   recover one or more missing source packets, the post-repair Loss RLE
   SHOULD NOT be sent until the loss-recovery process has been

   Similar to the pre-repair Loss RLE, the post-repair Loss RLE conveys
   the receipt/loss events at the packet level and considers partially
   repaired packets as unrepaired.  Thus, methods that can do partially
   recover the missing data SHOULD NOT be evaluated based on the
   information provided by the Post-repair Loss RLE Reports.

   Note that the idea of using pre-repair and post-repair Loss RLEs can
   be further extended when multiple sequential loss-repair methods are
   applied to the primary source stream.  Reporting the Loss RLEs before
   and after each loss-repair method can provide specific information
   about the individual performances of these methods.  However, it can
   be a difficult task to quantify the specific contribution made by
   each loss-repair method in hybrid systems, where different methods
   collectively work together to repair the lost source packets.  Thus,
   in this specification we only consider reporting the Loss RLE after
   all loss-repair methods are applied.

   This document registers a new report block type to cover the post-
   repair Loss RLE within the framework of RTCP XR.  Applications that
   are employing one or more loss-repair methods MAY use Post-repair
   Loss RLE Reports for every packet they receive or for a set of
   specific packets they have received.  In other words, the coverage of
   the post-repair Loss RLEs may or may not be contiguous.

2.  Requirements Notation

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in [RFC2119].

3.  Post-Repair Loss RLE Report Block

   The Post-repair Loss RLE Report Block is similar to the existing Loss
   RLE Report Block defined in [RFC3611].  The report format is shown in
   Figure 1.  Using the same structure for reporting both pre-repair and
   post-repair Loss RLEs allows the implementations to compare the Loss
   RLEs very efficiently.

      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=10     | rsvd. |   T   |         block length          |
     |                        SSRC of source                         |
     |          begin_seq            |             end_seq           |
     |          chunk 1              |             chunk 2           |
     :                              ...                              :
     |          chunk n-1            |             chunk n           |

        Figure 1: Format for the post-repair loss RLE report block

   o  block type (BT):  8 bits
      A Post-repair Loss RLE Report Block is identified by the constant

   o  rsvd.:  4 bits
      This field is reserved for future definition.  In the absence of
      such definition, the bits in this field MUST be set to zero and
      MUST be ignored by the receiver.

   o  thinning (T):  4 bits
      The amount of thinning performed on the sequence number space.
      Only those packets with sequence numbers 0 mod 2^T are reported on
      by this block.  A value of 0 indicates that there is no thinning,
      and all packets are reported on.  The maximum thinning is one
      packet in every 32,768 (amounting to two packets within each 16-
      bit sequence space).

   o  block length:  16 bits
      The length of this report block, including the header, in 32-bit
      words minus one.

   o  SSRC of source:  32 bits

      The SSRC of the RTP data packet source being reported upon by this
      report block.

   o  begin_seq:  16 bits

      The first sequence number that this block reports on.

   o  end_seq:  16 bits

      The last sequence number that this block reports on plus one.

   o  chunk i:  16 bits
      There are three chunk types:  run length, bit vector, and
      terminating null, defined in [RFC3611] (Section 4).  If the chunk
      is all zeroes, then it is a terminating null chunk.  Otherwise,
      the left most bit of the chunk determines its type:  0 for run
      length and 1 for bit vector.

   Note that the sequence numbers that are included in the report refer
   to the primary source stream.

4.  Session Description Protocol Signaling

   A new parameter is defined for the Post-repair Loss RLE Report Block
   to be used with Session Description Protocol (SDP) [RFC4566].  It has
   the following syntax within the "rtcp-xr" attribute:

       rtcp-xr-attrib = "a=rtcp-xr:" [xr-format *(SP xr-format)] CRLF

            xr-format = "post-repair-loss-rle" ["=" max-size]

            max-size  = 1*DIGIT ; maximum block size in octets
            DIGIT     = %x30-39
            CRLF      = %d13.10

                                 Figure 2

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

5.  Security Considerations

   The security considerations of [RFC3611] apply in this document as

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

   This document assigns the block type value 10 in the RTCP XR Block
   Type Registry to "Post-repair Loss RLE Report Block."  This document
   also registers the SDP [RFC4566] parameter "post-repair-loss-rle" for
   the "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry.

   The contact information for the registrations is:

   Ali Begen

   170 West Tasman Drive
   San Jose, CA 95134 USA

7.  Acknowledgments

   The authors would like to thank the members of the VQE Team at Cisco
   and Colin Perkins for their inputs and suggestions.

8.  References

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

8.2.  Informative References

   [RFC5109]  Li, A., "RTP Payload Format for Generic Forward Error
              Correction", RFC 5109, December 2007.

   [RFC4588]  Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R.
              Hakenberg, "RTP Retransmission Payload Format", RFC 4588,
              July 2006.

Authors' Addresses

   Ali Begen
   Cisco Systems
   170 West Tasman Drive
   San Jose, CA  95134

   Email:  abegen@cisco.com

   Dong Hsu
   Cisco Systems
   1414 Massachusetts Ave.
   Boxborough, MA  01719

   Email:  dohsu@cisco.com

   Michael Lague
   Cisco Systems
   1414 Massachusetts Ave.
   Boxborough, MA  01719

   Email:  mlague@cisco.com

Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at


   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).