Network Working Group G. Zorn, Ed.
Internet-Draft Network Zen
Intended status: Standards Track R. Schott
Expires: July 20, 2013 Deutsche Telekom
Q. Wu
R. Huang
Huawei
January 16, 2013

RTP Control Protocol (RTCP) Extended Report (XR) Blocks for Summary Statistics Metrics Reporting
draft-ietf-xrblock-rtcp-xr-summary-stat-06

Abstract

This document defines three RTP Control Protocol (RTCP) Extended Report (XR) Blocks that allow the reporting of loss, duplication and discard summary statistics metrics 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 July 20, 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 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

1.1. Summary Statistics Metrics

This draft defines three new block types to augment those defined in [RFC3611] for use in a range of RTP applications.

The first two block types support the reporting of burst gap loss/ discard summary statistics including packet loss/discard proportion, mean and variance and belong to the class of transport-related end system metrics defined in [RFC6792]. These two blocks are intended to be used in conjunction with information from the Burst Gap Loss Metrics Block or Burst Gap Discard Metrics Block, and on which these two block therefore depend. The metrics in the Burst Gap Loss block or Burst Gap Discard Metrics Block can be used independently of the metrics defined in the first two blocks.

The third block supports the reporting of detailed statistics for each frame type, including the number of frames received, lost and discarded of each frame type in the Group of Pictures (GOP) and additional data allowing the calculation of statistical parameters (e.g.,the proportion of each frame type impaired by packet loss and discard). The metrics defined in this block belong to the class of application layer metrics defined in [RFC6792].

1.2. RTCP and RTCP XR Reports

The use of RTCP for reporting is defined in [RFC3550]. [RFC3611] defined 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 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 [RFC6792].

1.4. Applicability

These metrics are applicable to a wide range of RTP applications and reflect transient IP problems that affect user experience. They can be used to form an accurate assessment of users' quality of experience and influence sender strategies to mitigate the problem.

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:

Picture Type


Picture Types used in the different video algorithms are composed of the Key frame and Derived frames. The 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. Derived frames are derived from a Key frame using a prediction algorithm.

3. Transport Related End System Metrics

3.1. Burst/Gap Loss Summary Statistics Metrics Block

The metrics described here are intended to be used as described in this section, in conjunction with information from the Measurement Information block [RFC6776] (which MUST be present in the same RTCP packet as the Burst/Gap Loss block) and also with the metric "cumulative number of packets lost" provided in standard RTCP [RFC3550]. Instances of this Metrics Block refer by Synchronization source (SSRC) to the separate auxiliary Measurement Information block [RFC6776] which describes measurement periods in use (see [RFC6776] section 4.2). This Metrics Block relies on the measurement period 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 period is not received in the same compound RTCP packet as this Metrics Block, this metrics block MUST be discarded.

The metrics carried in this Metrics Block provide information relevant to statistical parameters, including burst loss rate, gap loss rate, burst duration mean, burst duration variance and are calculated at the receiving end of the RTP stream using burst gap loss metrics defined in [BGLOSS] and other information which is sent together with this report block.

3.1.1. Report Block Structure

    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=BGLSS   | I | Reserved  |        block length           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         SSRC of Source                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Burst Loss Rate        |         Gap Loss Rate         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Burst duration Mean     |    Burst duration Variance    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.1.2. Definition of Fields in Loss Summary Statistics Block

Block Type (BT): 8 bits


Burst/Gap Loss Summary Statistics Block is identified by the constant <BGLSS>.

Interval Metric Flag (I): 2 bits


This field is used to indicate whether the Burst/Gap Loss Summary Statistics metrics are Sampled, Interval or Cumulative metrics:

In this document, the value I=00 is the reserved value and MUST NOT be used.



Reserved: 6 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 SHOULD be ignored by the receiver (See RFC6709 section 4.2).

Block Length: 16 bits


The constant 3, in accordance with the definition of this field in Section 3 of RFC 3611 [RFC3611].

SSRC of Source: 32 bits


As defined in Section 4.1 of RFC3611 [RFC3611].

Burst Loss Rate: 16 bits


The fraction of packets lost during bursts 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 Packets Loss in Bursts by Total Packets expected in Bursts as follows:

Packets Loss in Bursts / Total Packets expected in Bursts

Gap Loss Rate: 16 bits


The fraction of packets lost during gaps 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 difference between number of packets lost and Packets lost in Bursts by the difference between Packets Expected and Total Packets expected in Bursts as follows:

(number of packets lost - Packets Lost in Bursts) / (Packets Expected - Total Packets expected in Bursts)

where "number of packets lost" is obtained from standard RTCP [RFC3550] and Packets Expected is calculated as the difference between "extended last sequence number" and "extended first sequence number" (Interval or Cumulative) provided in the Measurement Identity and Information block [RFC6776].

Note that if the metric is to be calculated on an Interval basis, a difference must be taken between the current and preceding values of "cumulative number of packets lost" in RTCP, to obtain the "number of packets lost" for the reporting interval.

Burst Duration Mean:16bits


The mean burst duration is obtained as the quotient:

mean = Sum of Burst Durations / Number of Bursts

where "Sum of Burst Durations" and “Number of Bursts” is obtained from the RTCP XR Burst/Gap Loss Block [BGLOSS].

Burst Duration Variance:16bits


The variance of the burst duration is obtained using the standard result:

var = ( Sum of Squares of Burst Durations - Number of Bursts * mean^2 ) / (Number of Bursts - 1)

where "Sum of Squares of Burst Durations" and “Number of Bursts”is obtained from the RTCP XR Burst/Gap Loss Block [BGLOSS].

3.2. Burst/Gap Discard Summary Statistics Metrics Block

The metrics described here are intended to be used as described in this section, in conjunction with information from the Measurement Identity block [RFC6776] (which MUST be present in the same RTCP packet as the Burst/Gap Discard Summary Statistics block) .

These metrics provide information relevant to statistical parameters, including burst discard rate, gap discard rate and are calculated at the receiving end of the RTP stream using burst gap discard metrics defined in [BGDISCARD] and other information which is sent together with this report block.

Instances of this Metrics Block refer by Synchronization source (SSRC) to the separate auxiliary Measurement Information block [RFC6776] which describes measurement periods in use (see [RFC6776] section 4.2). This metrics block relies on the measurement period 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 period is not received in the same compound RTCP packet as this Metrics Block, this Metrics Block MUST be discarded.

3.2.1. Report Block Structure

   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=BGDSS   | I |  Reserved |        block length           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          SSRC of Source                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Burst Discard Rate   |        Gap Discard Rate       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.2.2. Definition of Fields in Burst/Gap Discard Summary Statistics Block

Block Type (BT): 8 bits


Burst/Gap Discard Summary Statistics Block is identified by the constant <BGDSS>.

Interval Metric Flag (I): 2 bits


This field is used to indicate whether the Burst/Gap Discard Summary Statistics metrics are Sampled, Interval or Cumulative metrics:





In this document, the value I=00 is the reserved value and MUST NOT be used.

Reserved: 6 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 SHOULD be ignored by the receiver (See RFC6709 section 4.2).

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


As defined in Section 4.1 of RFC3611 [RFC3611].

Burst Discard Rate: 16 bits


The fraction of packets discarded during bursts 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 Packets Discarded in Bursts by Total Packets expected in Bursts as follows:

Packets Discarded in Bursts / Total Packets expected in Bursts

Gap Discard Rate: 16 bits


The fraction of packets discarded during gaps 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 difference between number of packets discarded and Packets Discarded in Bursts by the difference between Packets Expected and Total Packets expected in Bursts as follows:

(number of packets discarded - Packets Discarded in Bursts) / (Packets Expected - Total Packets expected in Bursts)

where "number of packets discarded" is obtained from the RTCP XR Discard Count Block [DISCARD] and filled with the sum of packets discarded due to early arrival (DT=1) and packets discarded due to late arrival(DT=2) and Packets Expected is calculated as the difference between "extended last sequence number" and "extended first sequence number" (Interval or Cumulative) provided in the Measurement Information block [RFC6776]. In order for the Burst/ Gap Discard Summary Statistics Block to be meaningful, 2 instances of the Discard Count block with DT=1 and DT=2 MUST be included in the same RTCP XR packet as the Burst/Gap Discard Summary Statistics Block.

4. Application Level Metrics

4.1. Frame Impairment Statistics Summary Metrics Block

This block reports statistics on which frame type were affected beyond the information carried in the Statistics Summary Report Block RTCP packet specified in the section 4.6 of RFC 3611 [RFC3611]. Information is measured at the receiving end of the RTP stream and recorded about the number of frames received, lost frames, duplicated frames and lost partial frames. Such information can be useful for network management and video quality monitoring.

4.1.1. Report Block Structure

    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=FISS   |T|   Reserved  |        block length           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        SSRC of Source                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Begin_seq            |             End_seq           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Number of frames received                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Discarded_frames                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Dup_frames                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Lost_full_frames                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Lost_partial_frames                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.1.2. Definition of Fields in Frame Impairment Summary Statistics Block

Block type (BT): 8 bits


Frame Impairment Statistics Summary Block is identified by the constant <FISS>.

Picture type indicator (T): 1 bit


This field is used to indicate the frame type to be reported. The bit is set to 0 if the lost_full_frames, lost_partial_frames and dup_frames fields contain Key frame (reference frame) counts or 1 if they contain Derived frame counts. Note that if both the Key frame and Derivation frame report are sent, they should be sent in the same RTCP compound packet using two Frame Impairment Summary Statistics Blocks.

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 SHOULD be ignored by the receiver.

Block Length: 16 bits


The constant 7, in accordance with the definition of this field in Section 3 of RFC 3611 [RFC3611].

SSRC of Source: 32 bits


As defined in Section 4.1 of RFC3611 [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 received:32 bits


A count of the number of frames received in the above sequence number interval, estimated if necessary. If no frames have been received then this count SHALL be set to zero.

Number of discarded frames (discarded_frames): 32 bits


Number of frames discarded in the above sequence number interval.

Number of duplicate frames (dup_frames): 32 bits


Number of duplicate frames received in the above sequence number interval.

Number of full frames lost (lost_full_frames): 32 bits


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

Number of partial frames lost (lost_partial_frames): 32 bits


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

5. SDP Signaling

RFC 3611 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 Section 5.1 of RFC 3611 by providing three additional values of "xr-format" to signal the use of the report block defined in this document.

         xr-format = / burst-gap-loss-stat
                     / burst-gap-discard-stat
                     / frame-impairment-stat 
 Burst-gap-loss-stat ="burst gap loss summary statistics"
 Burst-gap-discard-stat="burst gap discard summary statistics"
 Frame-impairment-stat="frame impairment summary statistics"

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

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 RFC 3611.

6.1. New RTCP XR Block Type values

    
      Name:       BGLSS
      Long Name:  Burst/Gap Loss Summary Statistics Block
      Value       <BGLSS>
      Reference:  Section 3.1

      Name:       BGDSS
      Long Name:  Burst/Gap Discard Summary Statistics Block
      Value       <BGDSS>
      Reference:  Section 3.2

      Name:       FISS
      Long Name:  Frame Impairment Statistics Summary
      Value       <FISS>
      Reference:  Section 4.1

This document assigns three new block type value in the "RTP Control Protocol (RTCP) Extended Report (XR) Block Type Registry" :

6.2. New RTCP XR SDP Parameters

 *  " burst-gap-loss-stat "
 *  " burst-gap-discard-stat "
 *  " frame-impairment-stat "

This document also registers three new SDP [RFC4566] parameters for the "rtcp-xr" attribute in the " RTP Control Protocol (RTCP) Extended Report (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 

7. Security Considerations

The new RTCP XR report blocks proposed in this document introduces no new security considerations beyond those described in RFC 3611.

8. Acknowledgements

The authors would like to thank Bill Ver Steeg, David R Oran, Ali Begen, Colin Perkins, Roni Even, Youqing Yang, Wenxiao Yu, Yinliang Hu, Jing Zhao, Ray van Brandenburg, Claire Bi, Dan Romascanu for their valuable comments and suggestions on this document.

9. References

9.1. Normative References

[RFC3611] Friedman, T., Caceres, R. and A. Clark, "RTP Control Protocol Extended Reports (RTCP XR)", RFC 3611, November 2003.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4566] Handley, M., Jacobson, V. and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003.
[RFC6776] Wu, Q., "Measurement Identity and information Reporting using SDES item and XR Block", RFC 6776, August 2012.
[DISCARD] Clark, A, Zorn, G and Q. Wu, "RTP Control Protocol (RTCP) Extended Report (XR) Block for Discard Count metric Reporting", Internet-Draft draft-ietf-xrblock-rtcp-xr-discard-09, October 2012.
[BGLOSS] Clark, A., Zhang, S, Zhao, J. and Q. Wu, "RTP Control Protocol (RTCP) Extended Report (XR) Block for Burst/Gap Loss metric Reporting", Internet-Draft draft-ietf-xrblock-rtcp-xr-burst-gap-loss-06, December 2012.
[BGDISCARD] Clark, A, Huang, R and W Wu, "RTP Control Protocol(RTCP) Extended Report (XR) Block for Burst/Gap Discard metric Reporting", Internet-Draft draft-ietf-xrblock-rtcp-xr-burst-gap-discard-08, December 2012.

9.2. Informative References

[RFC6709] Carpenter, B., Aboba, B. and S. Cheshire, "Design Considerations for Protocol Extensions", RFC 6709, September 2012.
[RFC6792] Hunt, G., Wu, Q. and P. Arden, "Monitoring Architectures for RTP", RFC 6792, November 2012.

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-summary-stat-06

The following are the major changes compared to 05:

A.2. draft-ietf-xrblock-rtcp-xr-summary-stat-05

The following are the major changes compared to 04:

Authors' Addresses

Glen Zorn (editor) Network Zen 227/358 Thanon Sanphawut Bang Na, Bangkok 10260 Thailand Phone: +66 (0) 909-201060 EMail: glenzorn@gmail.com
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