Audio/Video Transport Working Group Q. Wu, Ed.
Internet-Draft Huawei
Intended status: Informational G. Hunt
Unaffiliated
P.J. Arden
BT
2011

Monitoring Architectures for RTP
draft-ietf-avtcore-monarch-08.txt

Abstract

This memo proposes an architecture for extending RTCP with a new RTCP XR (RFC3611) block type to report new metrics regarding media transmission or reception quality, following RTCP guideline established in RFC5968. This memo suggests that a new block should contain a single metric or a small number of metrics relevant to a single parameter of interest or concern, rather than containing a number of metrics which attempt to provide full coverage of all those parameters of concern to a specific application. Applications may then "mix and match" to create a set of blocks which covers their set of concerns. Where possible, a specific block should be designed to be re-usable across more than one application, for example, for all of voice, streaming audio and video.

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

Copyright Notice

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.


Table of Contents

1. Introduction

As more users and subscribers rely on real time application services, uncertainties in the performance and availability of these services are driving the need to support new standard methods for gathering performance metrics from RTP applications. These rapidly emerging standards, such as RTCP XR [RFC3611] and other RTCP extension to Sender Reports (SR), Receiver Reports (RR) [RFC3550] are being developed for the purpose of collecting and reporting performance metrics from endpoint devices that can be used to correlate the metrics, provide end to end service visibility and measure and monitor Quality of Experience (QoE).

However the proliferation of RTP/RTCP specific metrics for transport and application quality monitoring has been identified as a potential problem for RTP/RTCP interoperability, which attempt to provide full coverage of all those parameters of concern to a specific application. Since different applications layered on RTP may have some monitoring requirements in common, therefore these metrics should be satisfied by a common design.

The objective of this document is to define an extensible RTP monitoring framework to provide a small number of re-usable Quality of Service (QoS)/QoE metrics which facilitate reduced implementation costs and help maximize inter-operability. RTCP Guideline [RFC5968] has stated that, where RTCP is to be extended with a new metric, the preferred mechanism is by the addition of a new RTCP XR [RFC3611] block. This memo assumes that any requirement for a new metric to be transported in RTCP will use a new RTCP XR block.

2. Requirements notation

This memo is informative and as such contains no normative requirements.

In addition, the following terms are defined:

Transport level metrics


A set of metrics which characterise the three transport impairments of packet loss, packet delay, and packet delay variation. These metrics should be usable by any application which uses RTP transport.

Application level metrics


Metrics relating to QoE related parameters. These metrics are measured at the application level and focus on quality of content rather than network parameters. One example of such metrics is the QoE Metric specified in QoE metric reporting Block [MQ].

End System metrics


Metrics relating to the way a terminal deals with transport impairments affecting the incident RTP stream. These may include de-jitter buffering, packet loss concealment, and the use of redundant streams (if any) for correction of error or loss.

Direct metrics


Metrics that can be directly measured or calculated and are not dependent on other metric.

Composed metrics


Metrics that are calculated based on direct metric or combination of direct metric and derived metrics.

Interval metrics


It is referred to as the metrics of which the reported values apply to the most recent measurement interval duration between successive metrics reports

Cumulative metrics


It is referred to as the metrics of which the reported values apply to the accumulation period characteristic of cumulative measurements

Sampled metrics


It is referred to as the metrics of which the reported values only apply to the value of a continuously measured or calculated that has been sampled at end of the interval.

3. RTP monitoring architecture

The RTP monitoring architecture comprises the following two key functional components shown below:

Monitor is the functional component defined in the Real-time Transport Protocol (RTP) [RFC3550] that acts as a source of information gathered for monitoring purposes. It may gather such information reported by RTCP XR or other RTCP extension and calculate statistics from multiple source. According to the definition of monitor in the RTP Protocol [RFC3550], the end system that source RTP streams, an intermediate-system that forwards RTP packets to End-devices or a third party that does not participate in the RTP session (i.e., the third party monitor depicted in figure 1) can be envisioned to act as the Monitor within the RTP monitoring architecture.

The Metric Block exposes real time Application QoS/QoE metric information in the appropriate report block format to the management system within the RTP monitoring architecture. Such information can be formulated as:Section 3.1.

or formulated as

Both the RTCP or RTCP XR can be extended to convey these metrics. The details on transport protocols for metric blocks are described in

             +-------------------+
             | RTP Sender        |              +----------+
             |   +-----------+   |              |Management|
---------------->|  Monitor  |---------5------->|  System  |
|            |   |           |   |              |          |
|            |   +-----------+   |              +----------+
|            |+-----------------+|
|            ||Application      ||    --------------|
|            ||-Streaming video ||    |             |
|   |---------|-VOIP            ||    |    +--------V------+
|   |        ||-Video conference||    ------  Third Party  |
|   |        ||-Telepresence    ||         |    Monitor    |
|   |        ||-Ad insertion    ||         +---------------+
5   |        |+-----------------+|
|   |        +-------------------+
|   1
|   | +Intermediate------------+         |-------------- ---- ----+
|   | | RTP System       Report Block    | RTP Receiver >--4-|    |
|   | |      +---------- transported over|    +-----------+  |    |
|   | |      |           RTCP extension  |    |  Monitor  |<--    |
|-------------  Monitor |<--------5------|----|           |<------|
    | |      |          |   Report Block      +----/------+      ||
    | |      +----------+   transported over       |             ||
    | |                     RTCP XR      |         |2            ||
    | | +-----------------+    |         | +-------/---------+   ||
    | | |Application      |    |         | |Application      |   ||
    | | |-Streaming video |    |         | |-Streaming video |   ||
    | | |-VOIP            |    |    1    | |-VOIP            |   3|
    ---->-Video conference|--------------->|-Video conference    ||
      | |-Telepresence    |    |         | |-Telepresence    |   ||
      | |-Ad insertion    |    |         | |-Ad insertion    |   ||
      | +-----------------+    |         | +-----------------+   ||
      | +-----------------+    |         | +-----------------+   ||
      | |Transport        |    |         | |Transport        |   ||
      | |-IP/UDP/RTP      |    |         | |-IP/UDP/RTP      >---||
      | |-IP/TCP/RTP      |    |         | | -IP/TCP/RTP     |    |
      | |-IP/TCP/RTSP/RTP |    |         | |-IP/TCP/RTSP/RTP |    |
      | +-----------------+    |         | +-----------------+    |
      +------------------------+         +------------------------+

Figure 1: RTP Monitoring Architecture

  1. RTP communication between real time applications.
  2. Application level metrics collection.
  3. Transport level metrics collection.
  4. End System metrics collection.
  5. Reporting Session- metrics transmitted over specified interfaces.

3.1. RTCP Metric Block Report and associated parameters

The basic RTCP Reception Report (RR) [RFC3550] conveys reception statistics (i.e., transport level statistics) in metric block report format for multiple RTP media streams including [RFC3611] supplement the existing RTCP packets and provide more detailed feedback on reception quality in several categories:

The RTCP XRs

There are also various other scenarios in which it is desirable to send RTCP Metric reports more frequently. For example, the Audio/Video Profile with Feedback [RFC4585] extends the standard A/V Profile [RFC3551] to allow RTCP reports to be sent early provided RTCP bandwidth allocation is respected. The following are four use cases but are not limited to:

4. Issues with reporting metric block using RTCP XR extension

Issues that have come up in the past with reporting metric block using RTCP XR extensions include (but are probably not limited to) the following:

5. Guideline for reporting metric block using RTCP XR

5.1. Using single metrics blocks

Different applications using RTP for media transport certainly have differing requirements for metrics transported in RTCP to support their operation. For many applications, the basic metrics for transport impairments provided in RTCP SR and RR packets [RFC3550] (together with source identification provided in RTCP SDES packets) are sufficient. For other applications additional metrics may be required or at least sufficiently useful to justify the overheads, both of processing in endpoints and of increased session bandwidth. For example an IPTV application using Forward Error Correction (FEC) might use either a metric of post-repair loss or a metric giving detailed information about pre-repair loss bursts to optimise payload bandwidth and the strength of FEC required for changing network conditions. However there are many metrics available. It is likely that different applications or classes of applications will wish to use different metrics. Any one application is likely to require metrics for more than one parameter but if this is the case, different applications will almost certainly require different combinations of metrics. If larger blocks are defined containing multiple metrics to address the needs of each application, it becomes likely that many different such larger blocks are defined, which becomes a danger to interoperability.

To avoid this pitfall, this memo proposes the use of small RTCP XR metrics blocks each containing a very small number of individual metrics characterizing only one parameter of interest to an application running over RTP. For example, at the RTP transport layer, the parameter of interest might be packet delay variation, and specifically the metric "IPDV" defined by [Y1540]. See Section 6 for architectural considerations for a metrics block, using as an example a metrics block to report packet delay variation.

5.2. Correlating RTCP XR with the non-RTP data

There may be situation where more than one media transport protocols are used by one application to interconnect to the same session in the gateway. For example, one RTCP XR Packet is sent to the participating endpoints using non- RTP-based media transport (e.g., using SIP) in a VOIP session, one crucial factor lies in how to handle their different identities that are corresponding to different media transport.

This memo proposes an approach to facilitate the correlation of the RTCP Session with other session-related non-RTP data. That is to say if there is a need to correlate RTP sessions with non-RTP sessions, then the correlation information needed should be conveyed in a new RTCP Source Description (SDES) item ,since such correlation information describes the source, rather than providing a quality report. An example use case is for a participant endpoint may convey a call identifier or a global call identifier associated with the SSRC of measured RTP stream . In such case, the participant endpoint uses the SSRC of source to bind the call identifier using SDES item in the SDES RTCP packet and send such correlation to the network management system. A flow measurement tool that is configured with the 5-tuple and not call-aware then forward the RTCP XR reports along with the SSRC of the measured RTP stream which is included in the XR Block header and 5-tuple to the network management system. Network management system can then correlate this report using SSRC with other diagnostic information such as call detail records.

5.3. Reducing Measurement information repetition

When multiple metric blocks are carried in one RTCP XR packet, reporting on the same stream from the same source for the same time period, RTCP should use the SSRC to identify and correlate the multiple metric blocks between metric blocks. This memo proposes to define a new XR Block that will be used to convey the common time period and the number of packets sent during this period [MI]. If the measurement interval for a metric is different from the RTCP reporting interval, then this measurement duration in the [MI] SHOULD be used to specify the interval. In order to reduce measurement information repetition in one RTCP XR compound packet containing multiple metric blocks, the measurement information shall be sent before the related metric blocks that are from the same reporting interval. Note that for packet loss robustness if the report blocks for the same interval span over more than one RTCP packet then each must have the measurement identity information even if though they will be the same.

5.4. Expanding the RTCP XR block namespace

The consumption of XR block code points isn't a major issue. However if XR block codes points is really close to run out of space, it might be desirable to define new fields in the XR report block or define one XR block type for vendor-specific extensions, with an enterprise number included to identify the vendor making the extension.

6. An example of a metric block

This section uses the example of an existing proposed metrics block to illustrate the application of the principles set out in Section 5.1.

The example [PDV] is a block to convey information about packet delay variation (PDV) only, consistent with the principle that a metrics block should address only one parameter of interest. One simple metric of PDV is available in the RTCP RR packet as the "interarrival jitter" field. There are other PDV metrics which may be more useful to certain applications. Two such metrics are the IPDV metric ([Y1540], [RFC3393]) and the MAPDV2 metric [G1020]. Use of these metrics is consistent with the principle in Section 5 of RTCP guideline [RFC5968] that metrics should usually be defined elsewhere, so that RTCP standards define only the transport of the metric rather than its nature. The purpose of this section is to illustrate the architecture using the example of [PDV] rather than to document the design of the PDV metrics block or to provide a tutorial on PDV in general.

Given the availability of at least three metrics for PDV, there are design options for the allocation of metrics to RTCP XR blocks:

In choosing between these options, extensibility is important, because additional metrics of PDV may well be standardized and require inclusion in this framework. The first option is extensible but only by use of additional RTCP XR blocks, which may consume the limited namespace for RTCP XR blocks at an unacceptable rate. The second option is not extensible, so could be rejected on that basis, but in any case a single application is quite unlikely to require transport of more than one metric for PDV. Hence the third option was chosen. This implies the creation of a subsidiary namespace to enumerate the PDV metrics which may be transported by this block, as discussed further in [PDV] .

7. Application to RFC 5117 topologies

The topologies specified in [RFC5117] fall into two categories. The first category relates to the RTP system model utilizing multicast and/or unicast. The topologies in this category are specifically Topo-Point-to-Point, Topo- Multicast, Topo-Translator (both variants, Topo-Trn-Translator and Topo-Media-Translator, and combinations of the two), and Topo-Mixer. These topologies use RTP end systems, RTP mixers and RTP translators defined in the RTP protocol [RFC3550]. For purposes of reporting connection quality to other RTP systems, RTP mixers and RTP end systems are very similar. Mixers resynchronize packets and do not relay RTCP reports received from one cloud towards other cloud(s). Translators do not resynchronize packets and SHOULD forward certain RTCP reports between clouds. In this category, the RTP system (end system, mixer or translator) which originates, terminates or forwards RTCP XR blocks is expected to handle RTCP, including RTCP XR, according to the RTP protocol [RFC3550]. Provided this expectation is met, an RTP system using RTCP XR is architecturally no different from an RTP system of the same class (end system, mixer, or translator) which does not use RTCP XR. The second category relates to deployed system models used in many H.323 [H323] video conferences. The topologies in this category are Topo-Video-Switch-MCU and Topo-RTCP-terminating-MCU. Such topologies based on systems do not behave according to the RTP protocol [RFC3550].

Considering the MCU and translator are two typical topologies in the two categories mentioned above, this document will take them as two typical examples to explain how RTCP XR report works in different RFC5117 topologies.

7.1. Applicability to MCU

Topo-Video-Switch-MCU and Topo-RTCP-terminating-MCU, suffer from the difficulties described in [RFC5117]. These difficulties apply to systems sending, and expecting to receive, RTCP XR blocks as much as to systems using other RTCP packet types. For example, a participant RTP end system may send media to a video switch MCU. If the media stream is not selected for forwarding by the switch, neither RTCP RR packets nor RTCP XR blocks referring to the end system's generated stream will be received at the RTP end system. Strictly the RTP end system can only conclude that its RTP has been lost in the network, though an RTP end system complying with the robustness principle of [RFC1122] should survive with essential functions (i.e.,media distribution) unimpaired.

7.2. Applicability to Translators

Section 7.2 of the RTP protocol [RFC3550] describes processing of RTCP by translators. RTCP XR is within the scope of the recommendations of the RTP protocol [RFC3550]. Some RTCP XR metrics blocks may usefully be measured at, and reported by, translators. As described in the RTP protocol [RFC3550] this creates a requirement for the translator to allocate an SSRC for the monitor collocated with itself so that the monitor may populate the SSRC in the RTCP XR packet header as packet sender SSRC and send it out(although the translator is not a Synchronisation Source in the sense of originating RTP media packets). It must also supply this SSRC and the corresponding CNAME in RTCP SDES packets.

In RTP sessions where one or more translators generate any RTCP traffic towards their next-neighbour RTP system, other translators in the session have a choice as to whether they forward a translator's RTCP packets. Forwarding may provide additional information to other RTP systems in the connection but increases RTCP bandwidth and may in some cases present a security risk. RTP translators may have forwarding behaviour based on local policy, which might differ between different interfaces of the same translator.

8. IANA Considerations

There is no IANA action in this document.

9. Security Considerations

This document focuses on the RTCP reporting extension using RTCP XR and should not give rise to any new security vulnerabilities beyond those described in RTCP XRs [RFC3611]. However it also describes the architectural framework to be used for monitoring at RTP layer. The security issues with monitoring needs to be considered.

In RTP sessions, a RTP system may use its own SSRC to send its monitoring reports towards its next-neighbour RTP system. Other RTP system in the session may have a choice as to whether they forward this RTP system's RTCP packets. This present a security issue since the information in the report may be exposed by the other RTP system to any malicious node. Therefore if the information is considered as sensitive, the monitoring report should be encrypted.

Also note that the third party monitors are not visible at the RTP layer since they do not send any RTCP packets. In order to prevent any sensitive information leakage, the monitoring from the third party monitors should be prohibited unless the security is in place to authenticate them.

10. Acknowledgement

The authors would also like to thank Colin Perkins, Graeme Gibbs, Debbie Greenstreet, Keith Drage, Dan Romascanu, Ali C. Begen, Roni Even, Magnus Westerlundfor their valuable comments and suggestions on the early version of this document.

11. References

[RFC1122] Braden, R., "Requirements for Internet Hosts -- Communication Layers", RFC 1122, October 1989.
[RFC3393] Demichelis, C., "IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)", RFC 3393, November 2002.
[RFC3550] Schulzrinne, H., "RTP: A Transport Protocol for Real-Time Applications", RFC 3550, July 2003.
[RFC3611] Friedman, T. (Ed), "RTP Control Protocol Extended Reports (RTCP XR)", RFC 3611, November 2003.
[RFC5117] Westerlund, M., "RTP Topologies", RFC 5117, January 2008.
[RFC5968] Ott, J. and C. Perkins, "Guidelines for Extending the RTP Control Protocol (RTCP)", RFC 5968, September 2010.
[RFC4585] Ott, J. and S. Wenger, "Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, July 2006.
[RFC3551] Schulzrinne , H. and S. Casner, "Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 3551, July 2003.
[RFC6035] Pendleton, A., Clark, A., Johnston, A. and H. Sinnreich, "Session Initiation Protocol Event Package for Voice Quality Reporting", RFC 6035, November 2010.
[RFC5104] Wenger, S., Chandra, U., Westerlund, M. and B. Burman, "Session Initiation Protocol Event Package for Voice Quality Reporting", RFC 5104, February 2008.
[RFC6332] Begen, A. and E. Friedrich, "Multicast Acquisition Report Block Type for RTP Control Protocol (RTCP) Extended Reports (XRs)", RFC 6332, July 2011.
[PDV] Hunt, G., "RTCP XR Report Block for Packet Delay Variation Metric Reporting", ID draft-ietf-xrblock-rtcp-xr-pdv-00, September 2011.
[MI] Wu, Q., "Measurement Identity and information Reporting using SDES item and XR Block", ID draft-ietf-xrblock-rtcp-xr-meas-identity-01, October 2011.
[MQ] Wu, Q., Zorn, G., Schott, R. and K. Lee, "RTCP XR Blocks for multimedia quality metric reporting", ID draft-wu-xrblock-rtcp-xr-quality-monitoring-02, May 2011.
[G1020] ITU-T, "ITU-T Rec. G.1020, Performance parameter definitions for quality of speech and other voiceband applications utilizing IP networks", July 2006.
[Y1540] , , "ITU-T Rec. Y.1540, IP packet transfer and availability performance parameters", November 2007.
[H323] , , "ITU-T Rec. H.323, Packet-based multimedia communications systems", June 2006.
[ECN] Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P. and K. Carlberg, "Explicit Congestion Notification (ECN) for RTP over UDP", ID draft-ietf-avtcore-ecn-for-rtp-04, July 2011.

Appendix A. Change Log

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

Appendix A.1. draft-ietf-avtcore-monarch-00

The following are the major changes compared to draft-hunt-avtcore-monarch-02:

Appendix A.2. draft-ietf-avtcore-monarch-01

The following are the major changes compared to 00:

Appendix A.3. draft-ietf-avtcore-monarch-02

The following are the major changes compared to 01:

Appendix A.4. draft-ietf-avtcore-monarch-03

The following are the major changes compared to 02:

Appendix A.5. draft-ietf-avtcore-monarch-04

The following are the major changes compared to 03:

Appendix A.6. draft-ietf-avtcore-monarch-05

The following are the major changes compared to 04:

Appendix A.7. draft-ietf-avtcore-monarch-06

The following are the major changes compared to 05:

Appendix A.8. draft-ietf-avtcore-monarch-07

The following are the major changes compared to 06:

Authors' Addresses

Qin Wu (editor) Huawei 101 Software Avenue, Yuhua District Nanjing, Jiangsu 210012 China EMail: sunseawq@huawei.com
Geoff Hunt Unaffiliated EMail: r.geoff.hunt@gmail.com
Philip Arden BT Orion 3/7 PP4 Adastral Park Martlesham Heath Ipswich, Suffolk IP5 3RE United Kingdom Phone: +44 1473 644192 EMail: philip.arden@bt.com