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 09, 2011 |
RTCP XR for Application Layer Statistics Metrics Reporting
draft-zorn-xrblock-rtcp-xr-al-stat-02
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.
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 (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 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.
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].
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].
The Report Blocks defined in this document can be applied to any real-time applications that convey video-related parameters at the application layer.
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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 |I| rsv |T| rsv.| block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Frame Loss rate | Frame Discard rate | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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. | block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Distance | Loss Period | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Threshold | Reserved. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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:
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"
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]: RFC 3611 [RFC3611] for a detailed description and the full syntax of the "rtcp-xr" attribute.
Glen Zorn Network Zen 227/358 Thanon Sanphawut Bang Na, Bangkok 10110 Thailand
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: [RFC4566] parameters for the "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry:
The contact information for the registrations is:
This document also registers three new SDP
The new RTCP XR report blocks proposed in this document introduce no new security considerations beyond those described in [RFC3611].
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.
[RFC3611] | Friedman, T., Caceres, R. and A. Clark, "RTP Control Protocol Extended Reports (RTCP XR)", RFC 3611, November 2003. |
[RFC3550] | Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 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. |
[RFC5234] | Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008. |
[I-D.hunt-avtcore-monarch] | Hunt, G, Arden, P and W Wu, "Monitoring Architectures for RTP", Internet-Draft draft-hunt-avtcore-monarch-02, 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. |
[DSLF] | Rahrer, T.R., Fiandra, R.F. and S.W. Wright, "Triple-play Services Quality of Experience (QoE) Requirements", DSL Forum Technical Report TR-126, December 2006. |
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.