Network Working Group | Q. Wu |
Internet-Draft | Huawei |
Intended status: Standards Track | G. Zorn |
Expires: September 03, 2011 | Network Zen |
R. Schott | |
Deutsche Telekom Laboratories | |
March 02, 2011 |
RTP Control Protocol Extended Reports (RTCP XR) Report Blocks for Real-time Application Quality Monitoring
draft-wu-xrblock-rtcp-xr-quality-monitoring-01
This document defines a set of RTP Control Protocol Extended Reports (RTCP XR) Report Blocks and associated SDP parameters allowing the report of real time application quality metrics, primarily for video applications of RTP.
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 September 03, 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.
Along with the wide deployment of broadband access and the development of new IPTV services (e.g., broadcast video, video on demand), there is increasing interest in monitoring and managing networks and applications that deliver real-time applications over RTP or IP, to ensure that all end users obtain acceptable video/audio quality. The main drives come from operators and enterprises, since offering performance monitoring capability can help diagnose network impairments, facilitate in root cause analysis and aid in verifying compliance with service level agreements (SLAs) between Internet Service Providers (ISPs) and content providers.
The factors that affect real-time application quality can be split into two categories. The first category consists of transport-dependent factors such as packet loss, delay and jitter (which also translates into losses in the playback buffer). The factors in the second category are application-specific factors that affect real time application (e.g., video) quality and are sensitivity to network errors. These factors can be but not limited to video codec and loss recovery technique, coding bit rate, packetization scheme, and content characteristics.
Compared with application-specific factors, the transport-dependent factors sometimes are not sufficient to measure real time data quality, since the ability to analyze the real time data in the application layer provides quantifiable measurements for subscriber Quality of Experience (QoE) that may not be captured in the transmission layers or from the RTP layer down. In a typical scenario, monitoring of the transmission layers can produce statistics suggesting that quality is not an issue, such as the fact that network jitter is not excessive. However, problems may occur in the service layers leading to poor subscriber QoE. Therefore monitoring using only network-level measurements may be insufficient when application layer video quality is required.
In order to provide accurate measures of real time application quality for operators when transporting real time contents across a network, the synthentical multimedia quality Metrics is highly required which can be conveyed in the RTCP XR packets[RFC3611] and may have the following three benefits:
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 QoE related parameters that is genericly designed for use in voice, audio and video services.
The report block types defined in this document fall into two categories. The first category consists of general information regarding transmission quality, to be generated and processed by the RTP transport. The report blocks in the second category convey metrics above transport that affect real time application quality and are sensitivity to network errors.
Seven report block formats are defined by this document. Of these, three are transport layer metrics:
The other four are application layer metrics:
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:
All the report blocks defined in this document could be used by dedicated network monitoring applications. As specified in RFC 3611 [RFC3611], for such an application it might be appropriate to allow more than 5% of RTP data bandwidth to be used for RTCP packets, thus allowing proportionately larger and more detailed report blocks.
RTP Flows General Synchronization Offset Metrics Block in Section 4.2 has been defined for various multimedia applications. Such applications can use this report block to monitor offset between two RTP streams synchronization to ensure satisfactory QoE. Tighter tolerances than typically used have been recommended for such applications.
The RTP Flows Initial Synchronization Delay Report Block has been defined primarily for layered or multi-description video coding applications. When joining a layered video session in such an application, a receiver may not synchronize playout across the multimedia session until RTCP SR packets have been received on all of the component RTP sessions. This report block can be used to measure synchronization between different media layers for the same multimedia session.
The Transport Stream Loss and Discard Metrics Report Block, Transport Stream Burst Metrics report Block, Transport Statistics Summary Report Block and Layered Streams Statistics Metrics Block can be applied to any real time video application, while Synthetical Multimedia Quality Metrics Report Block can be used in any real-time AV application.
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 | Reserved | Block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of Sender | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Initial Synchronization Delay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This block reports Initial synchronization delay beyond the information carried in the standard RTCP packet format. Information is recorded about the the difference between the start of RTP sessions and the time the RTP receiver acquires all components of RTP sessions [RFC6051]. The components of RTP session are referred to as one RTP session for each media type or the media content in each layer contained in RTP Control Protocol (RTCP) sender report (SR) packets [RFC3550]. For unicast session, the delay due to negotiation of NAT pinholes, firewall holes, quality-of-service, and media security keys is contributed to such initial synchronization delay. For multicast session, the initial synchronization delay varies with the session bandwidth and the number of members, the number of senders in the session. In the absence of packet loss, the initial synchronisation delay equals to the average time taken to receive the first RTCP packet in the RTP session with the longest RTCP reporting interval.In the presence of packet loss, the media synchronization needs to wait until the reporting interval has passed, and the next RTCP SR packet is sent.
The RTP Flows Initial Synchronization Delay 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| Reserved | Block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | General Synchronization Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In an RTP multimedia session, there can be an arbitrary number of streams, with the same RTCP CNAME. This block reports the general Synchronization offset status of these RTP streams beyond the information carried in the standard RTCP packet format. Information is recorded about the synchronization offset time of each RTP stream relative to the reference RTP stream with the same CNAME and General Synchronisation Offset of zero. For layered session or multimedia session,the first RTP packet can be chosen as the basic packet of reference RTP stream. The RTP Flow General Synchronization Offset 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 |T| rsd. | block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | begin_seq | end_seq | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lost_Layered Component Packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dup Layered Component_Packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This block reports layered streams 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 layered component packets, duplicated layered component packets. Such information can be useful for network management and video quality monitoring.
The report block contents are dependent upon a series of flag bits carried in the first part of the header. Not all parameters need to be reported in each block. Flags indicate which parameters are reported and which are not. The fields corresponding to unreported parameters MUST be present, but are set to zero. The receiver MUST ignore any Layered Streams Statistics Metrics Block with a non-zero value in any field flagged as unreported.
The Layered Stream Statistics metrics 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 |T|P| rsd. | block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | begin_seq | end_seq | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | lost_frames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dup frames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | partial_lost_frames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | partial_dup_frames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | key frames impairement proportion | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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 frame packets, duplicated frame packets, lost layered component packets, duplicated layered component packets. Such information can be useful for network management and video quality monitoring.
The report block contents are dependent upon a series of flag bits carried in the first part of the header. Not all parameters need to be reported in each block. Flags indicate which parameters are reported and which are not. The fields corresponding to unreported parameters MUST be present, but are set to zero. The receiver MUST ignore any Video Statistics Summary Report Block with a non-zero value in any field flagged as unreported.
The Transport Streams 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 |T | reserved | block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss rate | 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 packets 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 packets have been received.
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 | Reserved | block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Distance | Loss Period | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Max Loss Duration | 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 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| MC | Rsd.| block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MOS Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This block reports the multimedia application performance or quality metrics beyond the information carried in the standard RTCP packet format. Information is recorded about multimedia application QoE metric which is expressed as a MOS ("Mean Opinion Score"), MOS is on a scale from 1 to 5, in which 5 represents excellent and 1 represents unacceptable. MOS scores are usually obtained using subjective testing or using objective algorithm to estimate the multimedia quality. However Subjective testing is not suitable for measuring the multimedia quality since the results may vary from test to test. Therefore using objective algorithm to calculate MOS scores is recommended. ITU-T recommendation [G.1082][P.NAMS][P.NBAMS] defines a methodology for verifying the performance of QoE estimation algorithms for video and audio. Hence this document recommends vendors and implementers to use International Telecommunication Union (ITU)-specified methodologies to measure parameters when possible.
The report block contents are dependent upon a series of flag bits carried in the first part of the header. Not all parameters need to be reported in each block. Flags indicate which are and which are not reported. The fields corresponding to unreported parameters MUST be present, but are set to zero. The receiver MUST ignore any Perceptual Quality Metrics Block with a non-zero value in any field flagged as unreported.
The Synthetical Multimedia Quality Metrics Block has the following format:
rtcp-xr-attrib = "a=rtcp-xr:" [xr-format *(SP xr-format)] CRLF xr-format = RTP-flows-init-syn / RTP-flows-general-syn / multimedia-quality-metrics / transport-stream-loss-metrics / transport-stream-burst-metrics / transport-stat-summary / layered-stream-stat-metrics RTP-flows-init-syn = "RTP-flows-init-syn" ["=" max-size] max-size = 1*DIGIT ; maximum block size in octets RTP-flow-general-syn = "RTP-flows-general-syn" ["=" max-size] max-size = 1*DIGIT ; maximum block size in octets transport-stream-burst-metrics = "transport-stream-burst-metrics" ["=" max-size] max-size = 1*DIGIT ; maximum block size in octets transport-stream-loss-metrics = "transport-stream-loss-metrics" ["=" stat-flag *("," stat-flag)] stat-flag = "key Frame loss and duplication" / "derivation Frame loss and duplication" transport-stream-stat-summary = "transport-stream-stat-summary" ["=" stat-flag *("," stat-flag)] stat-flag = "key Frame loss and duplication" / "derivation Frame loss and duplication" layered-stream-stat-metrics = "layered-stream-stat-metrics" ["=" stat-flag *("," stat-flag)] stat-flag = "base layer packet" / "enhancment layer packet" multimedia-quality-metrics = "multimedia-quality-metrics" ["=" stat-flag *("," stat-flag)] stat-flag = "Interval Metrics" /"Cumulative metrics"
Six new parameters are 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.
Qin Wu sunseawq@huawei.com 101 Software Avenue, Yuhua District Nanjing, JiangSu 210012 China
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 six new block type values 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 seven 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.