RFC 6792
Guidelines for Use of the RTP Monitoring Framework
RFC 6792: Guidelines for Use of the RTP Monitoring Framework ๐
Okay bestie, here's the tea on the title block ๐ This is RFC 6792, Guidelines for Use of the RTP Monitoring Framework, published November 2012. The editor is Q. Wu (Ed.) from Huawei, and the other authors are G. Hunt (unaffiliated) and P. Arden from BT ๐. It's Informational โจ, so it's published for information and isn't a Standards Track spec. The ISSN is 2070-1721. The title block doesn't list anything it obsoletes or updates, so there's nothing to report there ๐ฆ.
Abstract โจ
Okay so the big idea is an extensible RTP monitoring framework that extends RTCP with a new RTCP Extended Reports (XR) block type to report new metrics about media transmission or reception quality ๐ง. Each new XR block should hold a single metric, or just a small handful, tied to one parameter of interest or concern. It should not be one giant block that tries to cover every concern an app has ๐ โโ๏ธ. Apps can then "mix and match" blocks to build a set that covers their own concerns ๐งฉ. And where possible, a block should be reusable across more than one app, like voice, streaming audio, and video ๐ .
Status of This Memo ๐
So this doc is not an Internet Standards Track spec. It's published for informational purposes ๐ค. It's a product of the Internet Engineering Task Force (IETF), it represents the consensus of the IETF community, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication ๐ซถ. Not every IESG-approved document is a candidate for any level of Internet Standard, so check Section 2 of RFC 5741 if you want the details ๐ง.
Info about the current status, any errata, and how to send feedback lives at http://www.rfc-editor.org/info/rfc6792 ๐.
Copyright Notice ยฉ๏ธ
Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved ๐.
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the publication date. Please read them carefully, because they explain your rights and restrictions for this doc ๐. Code Components pulled from this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License โ๏ธ.
Table of Contents ๐๏ธ
1. Introduction ....................................................3
2. Terminology .....................................................3
3. RTP Monitoring Framework ........................................5
3.1. Overview of the RTP Monitoring Framework ...................5
3.2. Location of Monitors .......................................7
4. Issues with Reporting Metrics Blocks Using RTCP XR Extensions ...8
4.1. Using a Compound Metrics Block .............................8
4.2. Correlating RTCP XR with Non-RTP Data ......................8
4.3. Measurement Information Duplication ........................9
4.4. Consumption of XR Block Code Points ........................9
5. Guidelines for Reporting Metrics Blocks Using RTCP XR ...........9
5.1. Use a Single Metric in the Metrics Block ...................9
5.2. Include the Payload Type in the Metrics Block .............10
5.3. Use RTCP SDES to Correlate XRs with Non-RTP Data ..........10
5.4. Reduce Measurement Information Repetition across
Metrics Blocks ............................................11
6. An Example of a Metrics Block ..................................11
7. Application to RFC 5117 Topologies .............................12
7.1. Applicability to Translators ..............................13
7.2. Applicability to MCUs .....................................13
8. Security Considerations ........................................14
9. Acknowledgements ...............................................14
10. Informative References ........................................15
1. Introduction ๐ธ
Multimedia services that use the Real-time Transport Protocol (RTP) are getting more and more popular ๐. We need standard ways to gather RTP performance metrics from these apps so we can manage the uncertainty in how their services behave and whether they're available ๐ซ . Standards like "RTP Control Protocol Extended Reports (RTCP XR)" [RFC3611] are in development, along with other RTCP extensions to sender reports (SRs) and receiver reports (RRs) [RFC3550]. These collect and report performance metrics from endpoint devices so you can correlate them, get end-to-end service visibility, and measure and monitor Quality of Experience (QoE) [RFC6390] โจ.
Here's the catch ๐: having a ton of RTP-/RTCP-specific metrics for transport and application quality monitoring has been flagged as a potential interoperability problem, especially when you try to use RTP/RTCP to communicate every parameter of concern for one app ๐ฌ. Since different apps built on RTP often share some monitoring needs, those metrics should be covered by one common design ๐ .
The goal here is to describe an extensible RTP monitoring framework with a small set of reusable Quality of Service (QoS) / QoE metrics ๐ฏ. That keeps implementation costs down and helps maximize interoperability ๐ค. "Guidelines for Extending the RTP Control Protocol (RTCP)" [RFC5968] already says that when RTCP needs a new metric, the preferred mechanism is adding a new RTCP XR [RFC3611] block ๐งฉ. This memo assumes that all the guidelines from RFC 5968 must apply on top of the guidelines in this document ๐. Guidelines for developing new performance metrics are specified in [RFC6390] ๐. And new RTCP XR report block definitions should not define new performance metrics. They should instead refer to metrics defined elsewhere ๐.
2. Terminology ๐
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 that characterize the three transport impairments of packet loss, packet delay, and jitter (also known as delay variation). These metrics should be usable by any application that uses RTP transport ๐.
- Application-level metrics
Metrics about application-specific parameters or QoE-related parameters. Application-specific parameters are measured at the application level and focus on the quality of content rather than network performance ๐ฌ. QoE-related parameters reflect the end-to-end performance at the services level and are usually measured at the user endpoint ๐ฑ. One example is the QoE metric specified in the QoE Metrics Report Block; see [QOE_BLOCK] ๐ซ.
- End-system metrics
Metrics about how a terminal deals with transport impairments that affect the incoming RTP stream ๐ฅ๏ธ. These may include de-jitter buffering, packet loss concealment, and the use of redundant streams (if any) to correct errors or loss ๐.
- Direct metrics
Metrics that can be measured or calculated directly and don't depend on other metrics ๐ฏ.
- Interval metrics
Metrics measured over a single reporting interval between two successive report blocks โฑ๏ธ. This may be the most recent RTCP reporting interval ([RFC3550], Section 6.2), or some other interval signaled using an RTCP Measurement Information XR Block [RFC6776]. An example interval metric is the count of RTP packets lost over the last RTCP reporting interval ๐งฎ.
- Cumulative metrics
Metrics measured over several reporting intervals to build up statistics ๐. The measurement period can be the complete RTP session, or some other interval signaled using an RTCP Measurement Information XR Block [RFC6776]. An example cumulative metric is the total number of RTP packets lost since the start of the RTP session ๐๏ธ.
- Sampled metrics
Metrics measured at a particular instant and sampled from the values of a continuously measured or calculated metric within a reporting interval. Usually that's the value of some measurement taken at the end of the reporting interval ๐ธ. For example, the inter-arrival jitter reported in RTCP SR and RR packets is constantly updated as each RTP data packet arrives, but it's only reported as a snapshot of the value sampled when the reporting interval ends ๐ซง.
3. RTP Monitoring Framework ๐ฆ
There are lots of ways to monitor how an RTP session is performing ๐. Some are RTP-based, like the RTP MIB module [RFC2959], or the Session Initiation Protocol (SIP) event package for RTCP summary reports [RFC6035]. Others are non-RTP, like generic MIBs, NetFlow [RFC3954], IP Flow Information Export (IPFIX) [RFC5101] [RFC5102], and so on ๐ ๏ธ. Together, these give you useful ways to export data about RTP session performance to non-RTP network management systems ๐ค. It's also desirable to monitor RTP performance from inside the session, and RTCP gives you the means to do that ๐. Below, we review the RTP Monitoring Framework and give guidance on using and extending RTCP to monitor RTP sessions ๐ง. One big benefit of this kind of framework is that it's easy to integrate with other RTP/RTCP mechanisms ๐.
3.1. Overview of the RTP Monitoring Framework โจ
okay so the RTP monitoring framework has two key functional pieces, bestie ๐
- Monitor
- RTP Metrics Block
"Monitor" is the functional component defined in the RTP specification [RFC3550]. It's basically a storage spot ๐พ for info gathered for monitoring purposes.
According to the definition of "monitor" in [RFC3550], the monitor role can be played by an end system that runs an app sending or receiving RTP data packets, an intermediate system that forwards RTP packets to end devices, or a third party that watches the RTP and RTCP traffic without making itself visible to the RTP Session participants ๐ต๏ธ As shown in Figure 1, the third-party monitor can be a passive monitor that sees the RTP/RTCP stream pass by, or a system that gets sent RTCP reports (but not RTP) and uses those to collect info. The third-party monitor should be placed on the RTP/RTCP path between the sender, the intermediate system, and the receiver.
The RTP Metrics Block (MB) carries real-time application QoS/QoE metric info, and monitors use it to swap information with other monitors in the right report block format ๐ The info in RTP MBs is collected by monitors and can be turned into different kinds of metrics, like direct metrics/composed performance metrics [RFC6390] or interval metrics/cumulative metrics/sampled metrics, etc. Both RTCP and RTCP XR can be extended to carry these metrics. For example, there's the basic RTCP reception report [RFC3550] that shares reception stats (transport-level stats) for multiple RTP media streams, the RTCP XRs [RFC3611] that add on to the existing RTCP packets and give more detailed feedback on reception quality, and an RTCP NACK [RFC4585] that gives feedback on the RTP sequence numbers for a subset of the lost packets or all the currently lost packets. Ultimately, the metric info collected by monitors in this framework may go to network management tools outside of it. Like in Figure 1, the monitors may export the metric info to the management system using non-RTP means ๐ฆ
+-----------+ +----------+
|Third-Party| |Management|
| Monitor | >>>>>>>>| System |<<<<<
+-----------+ ^ +----------+ ^
: ^ ^ ^
: | ^ ^
+---------------+ : | +-------------+ +-------------+
| +-----------+ | : | |+-----------+| |+-----------+|
| | Monitor | |..:...|.......|| Monitor ||........|| Monitor ||
| +-----------+ | | |+-----------+| |+-----------+|
| |------+------>| |------->| |
| RTP Sender | |RTP Mixer or | |RTP Receiver |
| | |Translator | | |
+---------------+ +-------------+ +-------------+
----> RTP media traffic
..... RTCP control channel
>>>>> Non-RTP/RTCP management flows
Figure 1: Example Showing the Components
of the RTP Monitoring Framework
RTP can be used with multicast groups, both Any-Source Multicast (ASM) and Source-Specific Multicast (SSM) ๐ These groups can be monitored using RTCP. In the ASM case, the monitor is a member of the multicast group and listens to RTCP reports from all members of the ASM group. In the SSM case, there's a unicast feedback target that gets RTCP feedback from receivers and passes it on to other members of the SSM group (see Figure 1 of [RFC5760]). The monitor will need to be co-located with the feedback target to get all the feedback from the receivers (this may also be an intermediate system). In both ASM and SSM scenarios, receivers can send RTCP reports to boost reception-quality reporting ๐
3.2. Location of Monitors ๐
As shown in Figure 1, there are several spots where RTP sessions can be monitored ๐ง These include end systems that terminate RTP sessions, intermediate systems that are an active part of an RTP session, and third-party devices that passively monitor an RTP session. Not every RTP session will include monitoring, and the sessions that do get monitored won't all include every type of monitor. The performance metrics collected by monitors can be split into end-system metrics, application-level metrics, and transport-level metrics. Some of these metrics may be specific to the monitor's measurement point or may depend on where the monitors sit in the network, while others are more general and can be collected in any monitoring location.
End-system monitoring is monitoring that's deployed on devices that terminate RTP flows. Flows can be terminated in user equipment, like phones, videoconferencing systems, or IPTV set-top boxes ๐บ Or they can be terminated in devices that gateway between RTP and other transport protocols. Transport-level metrics, end-system metrics, and application-level metrics that don't reflect the end-to-end user experience may be collected at all types of end systems. But some application-level metrics (i.e., quality of experience (QoE) metrics) may only be applicable for user-facing end systems.
RTP sessions can include intermediate systems that are an active part of the system. These include RTP mixers and translators, Multipoint Control Units (MCUs), retransmission servers, etc. If the intermediate system establishes separate RTP sessions to the other participants, then it must act as an end system in each of those separate RTP sessions for monitoring purposes. If a single RTP session traverses the intermediate system, then the intermediate system can be assigned a synchronization source (SSRC) in that session, which it can use for its reports. Transport-level metrics may be collected at such an intermediate system ๐ซถ
Third-party monitors may be deployed to passively monitor RTP sessions for network management purposes. Third-party monitors often don't send reports into the RTP session being monitored. Instead, they collect transport-level metrics, end-system metrics, and application-level metrics. In some cases, though, third-party monitors can send reports to some or all participants in the session being monitored ๐
For example, in a media streaming scenario, third-party monitors may be deployed to passively monitor the session and send reception-quality reports to the media source but not to the receivers ๐
4. Issues with Reporting Metrics Blocks Using RTCP XR Extensions ๐ฅ
The following sections discuss four issues that have come up in the past with reporting metrics blocks using RTCP XR extensions ๐
4.1. Using a Compound Metrics Block
A compound metrics block is designed to hold a large number of parameters from different classes for a specific application, all in a single block. For example, "RTP Control Protocol Extended Reports (RTCP XR)" [RFC3611] defines seven report block formats for network management and quality monitoring. Some of these block types defined in the RTCP XRs [RFC3611] are only specifically designed for conveying multicast inference of network characteristics (MINC) or voice over IP (VoIP) monitoring. But different applications layered on RTP may have different monitoring requirements. Designing a compound metrics block only for specific applications may increase implementation costs and minimize interoperability ๐
4.2. Correlating RTCP XR with Non-RTP Data
The Canonical End-Point Identifier SDES Item (CNAME), as defined in RTP [RFC3550], is an example of an existing tool that lets you bind an SSRC that may change to a name that's fixed within one RTP session. The CNAME may also stay fixed across multiple RTP sessions from the same source. But there may be situations where RTCP reports go to other participating endpoints using a non-RTP protocol in a session. For example, as described in [RFC6035] in relation to summary reports, the data in RTCP XR VoIP metrics reports [RFC3611] gets forwarded to a central collection server system using SIP ๐ In that case, there's a huge portfolio of quality parameters that can be associated with real-time applications, e.g., VOIP applications, but only a minimal number of parameters make it into the RTCP XRs. With this minimal set of RTCP statistical parameters mapped to non-RTCP measurements, it's hard to provide accurate measurements of real-time application quality, do detailed data analysis, and create timely alerts for users ๐ญ So a correlation between RTCP XRs and non-RTP data should be provided โจ
4.3. Measurement Information Duplication
We may set a measurement interval for the session and monitor RTP packets within one or several consecutive report intervals ๐งฎ In that case, extra measurement info (e.g., extended sequence number of the first packet, measurement period) may be expected. However, if we put that extra info into each metrics block, there may be situations where an RTCP XR packet that holds multiple metrics blocks reports on the same streams from the same source. In other words, duplicated data for the measurement gets provided multiple times, once in every metrics block. Though this design ensures immunity to packet loss, it may result in more packetization complexity, and this processing overhead isn't completely trivial in some cases. So a compromise between processing overhead and reliability should be taken into account ๐ซ
4.4. Consumption of XR Block Code Points
The RTCP XR block namespace is limited by the 8-bit block type field in the RTCP XR header ๐ข Space exhaustion may be a concern in the future. In anticipation of a potential need to extend the block type space, it's noted that Block Type 255 is reserved for future extensions in [RFC3611] ๐
5. Guidelines for Reporting Metrics Blocks Using RTCP XR ๐
5.1. Use a Single Metric in the Metrics Block ๐
okay so different apps using RTP for media have totally different wants when it comes to the metrics RTCP needs to carry ๐ For a lot of apps, the basic transport impairment stuff in RTCP SR and RR packets [RFC3550] (plus the source identification from RTCP Source Description (SDES) packets) is literally enough โจ For others, extra metrics might be required, or at least useful enough to be worth the overhead, both in endpoint processing and in the extra session bandwidth. For example, an IPTV app using Forward Error Correction (FEC) might want either a post-repair loss metric or a metric with detailed info about pre-repair loss bursts ๐บ That way it can tune its payload bandwidth and how strong its FEC is when network conditions change.
But there are SO many metrics out there ๐ญ Different apps (or classes of apps) will probably want different metrics. Any one app is likely to need metrics for more than one parameter, and if that's the case, different apps will almost certainly need different combos of metrics ๐ If you define bigger blocks with multiple metrics to cover each app's needs, you end up with lots of different bigger blocks, and that's a real danger to interoperability ๐
To dodge that pitfall, this memo recommends defining metrics blocks with a very small number of individual metrics, each one characterizing only one parameter of interest to an app running over RTP ๐ฆ At the RTP transport layer, for example, the parameter of interest might be packet delay variation, and specifically the metric "IP Packet Delay Variation (IPDV)" defined by [Y1540]. See Section 6 for architectural considerations for a metrics block, using a block that reports packet delay variation as the example. It's also appropriate to not only define report blocks separately but to do it in separate documents where possible ๐ That makes it easier to evolve the reports (update each type of report block on its own) and makes it easier to require compliance with one particular report block ๐ซถ
5.2. Include the Payload Type in the Metrics Block ๐ง
some classes of metrics can only be interpreted if you know which media codec is being used (audio mean opinion scores (MOSs) were the triggering example, but there may be others) ๐ถ For those, the RTCP XR has to be correlated with the RTP data. So report blocks that need that correlation need to include the payload type of the reported media ๐ On top of that, the details and parameters of the payload format bound to that payload type need to be signaled using some out-of-band means (e.g., as part of a Session Description Protocol (SDP) offer/answer exchange) ๐จ
5.3. Use RTCP SDES to Correlate XRs with Non-RTP Data ๐
there may be situations where one application uses more than one media transport protocol to interconnect to the same session at 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 is how to handle the different identities that correspond to these different media transport protocols ๐ค
This memo recommends an approach to make it easier to correlate the RTCP session with other session-related non-RTP data ๐ So if you need to correlate RTP sessions with non-RTP sessions, the correlation information needed should be conveyed in a new RTCP SDES item, because that correlation information describes the source rather than providing a quality report ๐ง An example use case: a participant endpoint may convey a call identifier or a global call identifier associated with the SSRC of a measured RTP stream. In that case, the participant endpoint uses the SSRC to bind the call identifier using the SDES item in the SDES RTCP packet, and sends this correlation to the network management system. A flow measurement tool that is configured with the 5-tuple and is not call-aware then forwards the RTCP XRs, along with the SSRC of the measured RTP stream (which is included in the XR Block header) and the 5-tuple, to the network management system ๐ฐ๏ธ The network management system can then correlate this report using the SSRC with other diagnostic information, such as call detail records ๐
5.4. Reduce Measurement Information Repetition across Metrics Blocks โป๏ธ
when multiple metrics 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 metrics blocks placed between Measurement Information Blocks. see "Measurement Identity and Information Reporting Using a Source Description (SDES) Item and an RTCP Extended Report (XR) Block" [RFC6776] ๐ [RFC6776] lets an RTCP sender convey the common time period and the number of packets sent during that period โฑ๏ธ If the measurement interval for a metric is different from the RTCP reporting interval, then this measurement duration in the Measurement Information Block should be used to specify the interval. When there may be multiple Measurement Information Blocks with the same SSRC in one RTCP XR compound packet, the Measurement Information Block should be put in order and followed by all the metrics blocks associated with it ๐๏ธ New RTCP XR metrics blocks that rely on the Measurement Information Block must specify the response in case the new RTCP XR metrics block is received without an associated Measurement Information Block. In most cases, the correct response is expected to be to discard the received metric ๐๏ธ
To reduce measurement information repetition in one RTCP XR compound packet containing multiple metrics blocks, the measurement information shall be sent before the related metrics blocks that are from the same reporting interval โจ Note that for packet loss robustness, if the report blocks for the same interval span more than one RTCP packet, then each block must have the measurement identity information sent together with itself in the same RTCP compound packet, even though the information will be the same ๐ก๏ธ
6. An Example of a Metrics Block ๐ง
this section uses an existing proposed metrics block as an example to illustrate the principles set out in Section 5 ๐ท
The example [RFC6798] is a block that conveys information about packet delay variation (PDV) only, which is 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 "inter-arrival jitter" field. There are other PDV metrics with a certain similarity in metric structure that may be more useful to certain applications. Two such metrics are the IPDV metric ([Y1540] [RFC3393]) and the mean absolute packet delay variation 2 (MAPDV2) metric [G1020]. Using these metrics is consistent with the principle in Section 5 of the RTCP guidelines document [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 architectural considerations, using the example of [RFC6798], rather than to document the design of the PDV metrics block or to give a tutorial on PDV in general. So no, this isn't a PDV crash course, bestie ๐
Given the availability of at least three metrics for PDV, there are design options for allocating metrics to RTCP XR blocks ๐ฏ
- Provide an RTCP XR block per metric.
- Provide a single RTCP XR block that contains all three metrics.
- Provide a single RTCP block to convey any one of the three metrics, together with an identifier to inform the receiving RTP system of the specific metric being conveyed.
In choosing between these options, extensibility is important, because additional metrics of PDV may well be standardized and need to be included in this framework ๐ฎ The first option is extensible, but only by using additional RTCP XR blocks, which may consume the limited namespace for RTCP XR blocks at an unacceptable rate ๐ฌ The second option is not extensible and so could be rejected on that basis. But in any case, a single application is quite unlikely to need the transport of more than one metric for PDV. Hence, the third option was chosen ๐ This implies creating a subsidiary namespace to enumerate the PDV metrics that may be transported by this block, as discussed further in [RFC6798] ๐ฆ
7. Application to RFC 5117 Topologies ๐
the topologies specified in [RFC5117] fall into two categories ๐งฉ The first category relates to the RTP system model using 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, as well as combinations of the two), and Topo-Mixer. These topologies use RTP end systems, RTP mixers, and RTP translators as defined in [RFC3550]. For the 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) that originates, terminates, or forwards RTCP XR blocks is expected to handle RTCP, including RTCP XR, according to RTP [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) that does not use RTCP XR ๐
The second category relates to deployed system models used in many H.323 [H323] videoconferences ๐น The topologies in this category are Topo-Video-switch-MCU and Topo-RTCP-terminating-MCU. Such topologies, based on systems (e.g., MCUs), do not behave according to RTP [RFC3550] ๐
Considering that the translator and the MCU are two typical intermediate systems in these two categories, this document will take them as two typical examples to explain how RTCP XR works in different [RFC5117] topologies ๐ธ
7.1. Applicability to Translators ๐ฆ
Okay bestie, translators! Section 7.2 of the RTP spec [RFC3550] is where it explains how translators handle RTCP, and RTCP XR is totally inside the scope of those recommendations. Some RTCP XR metrics blocks can usefully be measured at, and reported by, translators โจ
Here's the catch. As [RFC3550] describes, the translator then needs to allocate an SSRC for the monitor that sits right next to it. That way the monitor can fill the SSRC into the RTCP XR packet header as the packet sender SSRC and send it out. The translator isn't a synchronization source here, since it's not originating RTP media packets, but it still must also supply this SSRC and the corresponding CNAME in RTCP SDES packets. ๐
In RTP sessions where one or more translators send any RTCP traffic toward their next-neighbor RTP system, the other translators get to choose whether they forward that translator's RTCP packets. Forwarding can give extra info to other RTP systems in the connection, but it bumps up RTCP bandwidth and can sometimes be a security risk ๐. Translators can also have forwarding behavior based on local policy, and that policy might be different on different interfaces of the same translator. ๐
7.2. Applicability to MCUs ๐ธ
Topo-Video-switch-MCU and Topo-RTCP-terminating-MCU deal with the difficulties described in [RFC5117] ๐ญ. These difficulties hit systems that send, and expect to receive, RTCP XR blocks just as much as systems using other RTCP packet types.
Here's an example. A participant RTP end system sends media to a video switch MCU. If the switch doesn't select that media stream for forwarding, then neither RTCP RR packets nor RTCP XR blocks about the end system's generated stream will reach the RTP end system. Strictly speaking, the RTP end system can only conclude that its RTP got lost in the network. Still, an RTP end system following the robustness principle of [RFC1122] should survive with essential functions (i.e., media distribution) unimpaired. ๐ซถ
8. 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 the RTP layer, and the security issues with monitoring need to be considered. Not me getting a little dramatic about it, but this part is serious! ๐ณ
In RTP sessions, an RTP system may use its own SSRC to send its monitoring reports toward its next-neighbor RTP system. Other RTP systems in the session may have a choice as to whether they forward this RTP system's RTCP packets. This presents a security issue, since the information in the report may be exposed by the other RTP system to any malicious node. So, if the information is considered sensitive, the monitoring reports should be secured to the same extent as the RTP flows that they measure.
If encryption is used and the encrypted monitoring report is received by the RTP system that deploys the third-party monitor, the RTP system may decrypt the monitor report for the third-party monitor based on local policy (e.g., third-party monitors are allowed access to the metric) and forward it to the third-party monitor. Otherwise, the third-party monitor should discard the received encrypted monitoring report. ๐
9. Acknowledgements ๐
The authors would like to thank Colin Perkins, Charles Eckel, Robert Sparks, Salvatore Loreto, Graeme Gibbs, Debbie Greenstreet, Keith Drage, Dan Romascanu, Ali C. Begen, Roni Even, Magnus Westerlund, Meral Shirazipour, Tina Tsou, Barry Leiba, Benoit Claise, Russ Housley, and Stephen Farrell for their valuable comments and suggestions on early versions of this document. Thank you all, you're literally the reason this doc is so good ๐๐
10. Informative References โจ
Here's the full reference list, exactly as it appears in the original. Every single entry gets to stay! ๐
[G1020] ITU-T, "Performance parameter definitions for quality of
speech and other voiceband applications utilizing IP
networks", ITU-T Rec. G.1020, July 2006.
[H323] ITU-T, "Packet-based multimedia communications systems",
ITU-T Rec. H.323, December 2009.
[QOE_BLOCK] Clark, A., Wu, Q., Schott, R., and G. Zorn, "RTP Control
Protocol (RTCP) Extended Report (XR) Blocks for QoE
Metric Reporting", Work in Progress, October 2012.
[RFC1122] Braden, R., "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, October 1989.
[RFC2959] Baugher, M., Strahm, B., and I. Suconick, "Real-Time
Transport Protocol Management Information Base",
RFC 2959, October 2000.
[RFC3393] Demichelis, C. and P. Chimento, "IP Packet Delay
Variation Metric for IP Performance Metrics (IPPM)",
RFC 3393, November 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control
Protocol Extended Reports (RTCP XR)", RFC 3611,
November 2003.
[RFC3954] Claise, B., "Cisco Systems NetFlow Services Export
Version 9", RFC 3954, October 2004.
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J.
Rey, "Extended RTP Profile for Real-time Transport
Control Protocol (RTCP)-Based Feedback (RTP/AVPF)",
RFC 4585, July 2006.
[RFC5101] Claise, B., "Specification of the IP Flow Information
Export (IPFIX) Protocol for the Exchange of IP Traffic
Flow Information", RFC 5101, January 2008.
[RFC5102] Quittek, J., Bryant, S., Claise, B., Aitken, P., and J.
Meyer, "Information Model for IP Flow Information
Export", RFC 5102, January 2008.
[RFC5117] Westerlund, M. and S. Wenger, "RTP Topologies",
RFC 5117, January 2008.
[RFC5760] Ott, J., Chesterfield, J., and E. Schooler, "RTP Control
Protocol (RTCP) Extensions for Single-Source Multicast
Sessions with Unicast Feedback", RFC 5760,
February 2010.
[RFC5968] Ott, J. and C. Perkins, "Guidelines for Extending the
RTP Control Protocol (RTCP)", RFC 5968, September 2010.
[RFC6035] Pendleton, A., Clark, A., Johnston, A., and H.
Sinnreich, "Session Initiation Protocol Event Package
for Voice Quality Reporting", RFC 6035, November 2010.
[RFC6390] Clark, A. and B. Claise, "Guidelines for Considering New
Performance Metric Development", BCP 170, RFC 6390,
October 2011.
[RFC6776] Clark, A. and Q. Wu, "Measurement Identity and
Information Reporting Using a Source Description (SDES)
Item and an RTCP Extended Report (XR) Block", RFC 6776,
October 2012.
[RFC6798] Clark, A. and Q. Wu, "RTP Control Protocol (RTCP)
Extended Report (XR) Block for Packet Delay Variation
Metric Reporting", RFC 6798, November 2012.
[Y1540] ITU-T, "IP packet transfer and availability performance
parameters", ITU-T Rec. Y.1540, March 2011.
Authors' Addresses ๐
Meet the squad who made this happen! ๐ง
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
๐ฆ where this page comes from
- ietf: rfc6792 2012-11
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms