Network Working Group G. Zorn, Ed.
Internet-Draft Network Zen
Intended status: Standards Track R. Schott
Expires: April 23, 2013 Deutsche Telekom
Q. Wu
R. Huang
Huawei
October 22, 2012

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

Abstract

This document defines three RTP Control Protcol (RTCP) Extended Report (XR) Blocks and associated SDP parameters 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 April 23, 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

This draft defines three new block types to augment those defined in Freidman, et al. [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 Wu, Hunt & Arden [I-D.ietf-avtcore-monarch]. These two blocks are intended to be used in conjunction with information from the Burst Gap Loss metric block or Burst Gap Discard metric block, and on which these two block therefore depend. The metrics in the Burst Gap Loss block or Burst Gap Discard metric block can be used independently of the metrics defined in the first two blocks, however. These two blocks reflect transient IP problems that affect user experience and can be used to influence sender strategies to mitigate the problem.

To form an accurate assessment of users' quality of experience, it is therefore necessary to know not just overall rates of packet loss/discard, but also which frame types were affected. 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 Wu, Hunt & Arden [I-D.ietf-avtcore-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:

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 Block

The metrics described here are intended to be used as described in this section, in conjunction with information from the Measurement Information block [I-D.ietf-xrblock-rtcp-xr-meas-identity] (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].

These metrics provide information relevant to statistical parameters, including burst loss rate, gap loss rate, burst duration mean, burst duration variance and are calculated using burst gap loss metrics defined in [I-D.ietf-xrblock-rtcp-xr-burst-gap-loss] 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, that is, whether the reported values apply to the most recent measurement interval duration between successive metrics reports (I=10) (the Interval Duration) or to the accumulation period characteristic of cumulative measurements (I=11) (the Cumulative Duration) or is a sampled instantaneous value (I=01) (Sampled Value).

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.

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 [I-D.ietf-xrblock-rtcp-xr-meas-identity].

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 [I-D.ietf-xrblock-rtcp-xr-burst-gap-loss].

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 [I-D.ietf-xrblock-rtcp-xr-burst-gap-loss].

3.2. Burst/Gap Discard Summary Statistics Block

The metrics described here are intended to be used as described in this section, in conjunction with information from the Measurement Identity block [I-D.ietf-xrblock-rtcp-xr-meas-identity] (which MUST be present in the same RTCP packet as the Burst/Gap Discard Summary Statistics block) and also with the metric "number of packets discarded" provided in the RTCP XR Discard Block [I-D.ietf-xrblock-rtcp-xr-discard]. The RTCP XR Discard Block SHOULD be sent if the Burst/Gap Discard Summary Statistics block is sent, but the converse does not apply.

These metrics provide information relevant to statistical parameters, including burst discard rate, gap discard rate and are calculated using burst gap loss metrics defined in [I-D.ietf-xrblock-rtcp-xr-burst-gap-discard] and other information which is sent together with this report block.

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 inBurst/Gap Discard Summary Statistics Block

Block Type (BT): 8 bits


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

Interval Metric Type (I): 2 bits


This field is used to indicate whether the Burst/Gap Discard Summary Statistics metrics are Sampled, Interval or Cumulative metrics, that is, whether the reported values applies to the most recent measurement interval duration between successive metrics reports (I=10) (the Interval Duration) or to the accumulation period characteristic of cumulative measurements (I=11) (the Cumulative Duration) or is a sampled instantaneous value (I=01) (Sampled Value).

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.

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 [I-D.ietf-xrblock-rtcp-xr-discard] 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 [I-D.ietf-xrblock-rtcp-xr-meas-identity]. In order for the Burst/Gap Discard Summary Statistics Block to be meaningful either

  1. a single instance of the Discard Count block with DT=3 or
  2. exactly 2 instances of the Discard Count block with DT=1 and DT=2, respectively



MUST be included in the same RTCP compound packet. If a Discard Count block with DT=3 is received, “the number of packet discarded” is be filled with the number of packets discarded due to both early and late arrival; otherwise, “the number of packet discarded” is calculated as the sum of packet discards due to early arrival (DT=1) and packet discards due to late arrival (DT=2).

4. Application Level Metrics

4.1. Frame Impairment Statistics Summary 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 recorded about thenumber 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   |I|   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 (I): 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 Derivation 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. XR blocks MAY be used without prior signaling.

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 Section 5.2 of RFC 3611 applies.

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 Summsary 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 RTCP 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 RTCP XR SDP Parameters Registry:

6.3. Contact information for registrations

The contact information for the registrations is:

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

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 and Ray van Brandenburg 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.

9.2. Informative References

[I-D.ietf-avtcore-monarch] Wu, W, Hunt, G and P Arden, "Guidelines for Use of the RTP Monitoring Framework", Internet-Draft draft-ietf-avtcore-monarch-16, June 2012.
[I-D.ietf-xrblock-rtcp-xr-meas-identity] Clark, A and W Wu, "Measurement Identity and information Reporting using SDES item and XR Block", Internet-Draft draft-ietf-xrblock-rtcp-xr-meas-identity-10, August 2012.
[I-D.ietf-xrblock-rtcp-xr-discard] Clark, A, Zorn, G and W 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.
[I-D.ietf-xrblock-rtcp-xr-burst-gap-loss] Clark, A, Zhang, S, Zhao, J and W 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-04, October 2012.
[I-D.ietf-xrblock-rtcp-xr-burst-gap-discard] Clark, A, Huang, R and W Wu, "RTP Control Protocol(RTCP) Extended Report (XR) Block for Discard Count metric Reporting", Internet-Draft draft-ietf-xrblock-rtcp-xr-burst-gap-discard-06, October 2012.

Appendix A. Change Log

Note to the RFC-Editor: please remove this section prior to publication as an RFC.

Appendix A.1. draft-ietf-xrblock-rtcp-xr-summary-stat-01

The following are the major changes compared to 00:

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