Network Working Group | G. Zorn |
Internet-Draft | Network Zen |
Intended status: Standards Track | R. Schott |
Expires: December 02, 2011 | Deutsche Telekom |
Q. Wu | |
R. Huang | |
Huawei | |
May 31, 2011 |
RTCP XR for Application Layer Statistics Metrics Reporting
draft-zorn-xrblock-rtcp-xr-al-stat-01
This document defines an RTCP XR Report Block and associated SDP parameters that allows the reporting 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 02, 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, some of 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 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 [MONARCH] (work in progress).
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:
The Metric Block defined in this document can be applied to any real time applications that convey video related parameters at 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 RTCP packet specified in the section 4.6 of RFC 3611 [RFC3611]. Information is recorded about lost frames ,duplicated frames, 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:
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.
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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 process. 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 RFC 3357 [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 parameter is defined for the six report blocks defined in this document to be used with Session Description Protocol (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 77/440 Soi Phoomjit, Rama IV Road Phra Khanong, Khlong Toie 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 introduces 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.
[DSLF] | Rahrer, T.R., Fiandra, and Wright, "Triple-play Services Quality of Experience (QoE) Requirements", DSL Forum Technical Report TR-126, December 2006. |
[MONARCH] | Wu, Q., "Monitoring Architectures for RTP", ID draft-ietf-avtcore-monarch-00, April 2011. |
[PMOL] | Clark, A., "Framework for Performance Metric Development", ID draft-ietf-pmol-metrics-framework-08, January 2011. |
[MEASIDENT] | Hunt, G. and A. Clark, "RTCP XR Measurement Identifier Block", ID draft-ietf-avt-rtcp-xr-meas-identity-02, May 2009. |
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.