diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc8451.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc8451.txt')
-rw-r--r-- | doc/rfc/rfc8451.txt | 1011 |
1 files changed, 1011 insertions, 0 deletions
diff --git a/doc/rfc/rfc8451.txt b/doc/rfc/rfc8451.txt new file mode 100644 index 0000000..04241f3 --- /dev/null +++ b/doc/rfc/rfc8451.txt @@ -0,0 +1,1011 @@ + + + + + + +Internet Engineering Task Force (IETF) V. Singh +Request for Comments: 8451 callstats.io +Category: Informational R. Huang +ISSN: 2070-1721 R. Even + Huawei + D. Romascanu + Individual + L. Deng + China Mobile + September 2018 + + + Considerations for Selecting RTP Control Protocol (RTCP) + Extended Report (XR) Metrics for the WebRTC Statistics API + +Abstract + + This document describes monitoring features related to media streams + in Web real-time communication (WebRTC). It provides a list of RTP + Control Protocol (RTCP) Sender Report (SR), Receiver Report (RR), and + Extended Report (XR) metrics, which may need to be supported by RTP + implementations in some diverse environments. It lists a set of + identifiers for the WebRTC's statistics API. These identifiers are a + set of RTCP SR, RR, and XR metrics related to the transport of + multimedia flows. + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Not all documents + approved by the IESG are a candidate for any level of Internet + Standard; see Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc8451. + + + + + + + + + + +Singh, et al. Informational [Page 1] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +Copyright Notice + + Copyright (c) 2018 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 + (https://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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Singh, et al. Informational [Page 2] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +Table of Contents + + 1. Introduction ....................................................4 + 2. Terminology .....................................................4 + 3. RTP Statistics in WebRTC Implementations ........................5 + 4. Considerations for Impact of Measurement Interval ...............5 + 5. Candidate Metrics ...............................................6 + 5.1. Network Impact Metrics .....................................6 + 5.1.1. Loss and Discard Packet Count Metric ................6 + 5.1.2. Burst/Gap Pattern Metrics for Loss and Discard ......7 + 5.1.3. Run-Length Encoded Metrics for Loss and Discard .....8 + 5.2. Application Impact Metrics .................................8 + 5.2.1. Discarded Octets Metric .............................8 + 5.2.2. Frame Impairment Summary Metrics ....................9 + 5.2.3. Jitter Buffer Metrics ...............................9 + 5.3. Recovery Metrics ..........................................10 + 5.3.1. Post-Repair Packet Count Metrics ...................10 + 5.3.2. Run-Length Encoded Metric for Post-Repair ..........10 + 6. Identifiers from Sender, Receiver, and Extended Report Blocks ..11 + 6.1. Cumulative Number of Packets and Octets Sent ..............11 + 6.2. Cumulative Number of Packets and Octets Received ..........11 + 6.3. Cumulative Number of Packets Lost .........................11 + 6.4. Interval Packet Loss and Jitter ...........................12 + 6.5. Cumulative Number of Packets and Octets Discarded .........12 + 6.6. Cumulative Number of Packets Repaired .....................12 + 6.7. Burst Packet Loss and Burst Discards ......................12 + 6.8. Burst/Gap Rates ...........................................13 + 6.9. Frame Impairment Metrics ..................................13 + 7. Adding New Metrics to WebRTC Statistics API ....................13 + 8. Security Considerations ........................................14 + 9. IANA Considerations ............................................14 + 10. References ....................................................14 + 10.1. Normative References .....................................14 + 10.2. Informative References ...................................16 + Acknowledgements ..................................................17 + Authors' Addresses ................................................18 + + + + + + + + + + + + + + + +Singh, et al. Informational [Page 3] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +1. Introduction + + Web real-time communication (WebRTC) [WebRTC-Overview] deployments + are emerging, and applications need to be able to estimate the + service quality. If sufficient information (metrics or statistics) + is provided to the application, it can attempt to improve the media + quality. [RFC7478] specifies a requirement for statistics: + + F38 The browser must be able to collect statistics, related to the + transport of audio and video between peers, needed to estimate + quality of experience. + + The WebRTC Stats API [W3C.webrtc-stats] currently lists metrics + reported in the RTCP Sender Report and Receiver Report (SR/RR) + [RFC3550] to fulfill this requirement. However, the basic metrics + from RTCP SR/RR are not sufficient for precise quality monitoring or + diagnosing potential issues. + + Standards such as "RTP Control Protocol Extended Reports (RTCP XR)" + [RFC3611] as well as other extensions standardized in the XRBLOCK + Working Group, e.g., burst/gap loss metric reporting [RFC6958] and + burst/gap discard metric reporting [RFC7003], have been produced for + the purpose of collecting and reporting performance metrics from RTP + endpoint devices that can be used to have end-to-end service + visibility and to measure the delivery quality in various RTP + services. These metrics are able to complement those in [RFC3550]. + + In this document, we provide rationale for choosing additional RTP + metrics for the WebRTC getStats() API [W3C.webrtc]. All identifiers + proposed in this document are recommended to be implemented by an + WebRTC endpoint. An endpoint may choose not to expose an identifier + if it does not implement the corresponding RTCP Report. This + document only considers RTP-layer metrics. Other metrics, e.g., + IP-layer metrics, are out of scope. + +2. Terminology + + In addition to the terminology from [RFC3550], [RFC3611], and + [RFC7478], this document uses the following term. + + ReportGroup: It is a set of metrics identified by a common + synchronization source (SSRC). + + + + + + + + + +Singh, et al. Informational [Page 4] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +3. RTP Statistics in WebRTC Implementations + + The RTCP Sender Reports (SRs) and Receiver Reports (RRs) [RFC3550] + expose the basic metrics for the local and remote media streams. + However, these metrics provide only partial or limited information, + which may not be sufficient for diagnosing problems or monitoring + quality. For example, it may be useful to distinguish between + packets lost and packets discarded due to late arrival. Even though + they have the same impact on the multimedia quality, it helps in + identifying and diagnosing problems. RTP Control Protocol Extended + Reports (XRs) [RFC3611] and other extensions discussed in the XRBLOCK + Working Group provide more detailed statistics, which complement the + basic metrics reported in the RTCP SR and RRs. + + The WebRTC application extracts statistics from the browser by + querying the getStats() API [W3C.webrtc]. The browser can easily + report the local variables, i.e., the statistics related to the + outgoing and incoming RTP media streams. However, without the + support of RTCP XRs or some other signaling mechanism, the WebRTC + application cannot expose the remote endpoints' statistics. + [WebRTC-RTP-USAGE] does not mandate the use of any RTCP XRs, and + their usage is optional. If the use of RTCP XRs is successfully + negotiated between endpoints (via SDP), thereafter the application + has access to both local and remote statistics. Alternatively, once + the WebRTC application gets the local information, it can report the + information to an application server or a third-party monitoring + system, which provides quality estimates or diagnostic services for + application developers. The exchange of statistics between endpoints + or between a monitoring server and an endpoint is outside the scope + of this document. + +4. Considerations for Impact of Measurement Interval + + RTCP extensions like RTCP XR usually share the same timing interval + with the RTCP SR/RR, i.e., they are sent as compound packets, + together with the RTCP SR/RR. Alternatively, if the RTCP XR uses a + different measurement interval, all XRs using the same measurement + interval are compounded together, and the measurement interval is + indicated in a specific measurement information block defined in + [RFC6776]. + + When using WebRTC getStats() APIs (see "Statistics Model" in + [W3C.webrtc]), the applications can query this information at + arbitrary intervals. For the statistics reported by the remote + endpoint, e.g., those conveyed in an RTCP SR/RR/XR, these will not + change until the next RTCP report is received. However, statistics + generated by the local endpoint have no such restrictions as long as + the endpoint is sending and receiving media. For example, an + + + +Singh, et al. Informational [Page 5] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + + application may choose to poll the stack for statistics every 1 + second. In that case, the underlying stack local will return the + current snapshot of the local statistics (for incoming and outgoing + media streams). However, it may return the same remote statistics as + previously, because no new RTCP reports may have been received in the + past 1 second. This can occur when the polling interval is shorter + than the average RTCP reporting interval. + +5. Candidate Metrics + + Since the following metrics are all defined in RTCP XR, which is not + mandated in WebRTC, all of them are local. However, if RTCP XR is + supported by negotiation between two browsers, the following metrics + can also be generated remotely and be sent to the local endpoint + (that generated the media) via RTCP XR packets. + + The metrics are classified into 3 categories as follows: network + impact metrics, application impact metrics, and recovery metrics. + Network impact metrics are the statistics recording the information + only for network transmission. They are useful for network problem + diagnosis. Application impact metrics mainly collect the information + from the viewpoint of the application, e.g., bit rate, frame rate, or + jitter buffers. Recovery metrics reflect how well the repair + mechanisms perform, e.g., loss concealment, retransmission, or + Forward Error Correction (FEC). All 3 types of metrics are useful + for quality estimations of services in WebRTC implementations. + WebRTC applications can use these metrics to calculate the estimated + Mean Opinion Score (MOS) [ITU-T_P.800.1] values or Media Delivery + Index (MDI) [RFC4445] for their services. + +5.1. Network Impact Metrics + +5.1.1. Loss and Discard Packet Count Metric + + In multimedia transport, packets that are received abnormally are + classified into 3 types: lost, discarded, and duplicate packets. + Packet loss may be caused by network device breakdown, bit-error + corruption, or network congestion (packets dropped by an intermediate + router queue). Duplicate packets may be a result of network delays + that cause the sender to retransmit the original packets. Discarded + packets are packets that have been delayed long enough (perhaps they + missed the playout time) and are considered useless by the receiver. + Lost and discarded packets cause problems for multimedia services, as + missing data and long delays can cause degradation in service + quality, e.g., missing large blocks of contiguous packets (lost or + discarded) may cause choppy audio, and long network transmission + delay time may cause audio or video buffering. The RTCP SR/RR + defines a metric for counting the total number of RTP data packets + + + +Singh, et al. Informational [Page 6] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + + that have been lost since the beginning of reception. However, this + statistic does not distinguish lost packets from discarded and + duplicate packets. Packets that arrive late will be discarded and + are not reported as lost, and duplicate packets will be regarded as a + normally received packet. Hence, the loss metric can be misleading + if many duplicate packets are received or packets are discarded, + which causes the quality of the media transport to appear okay from a + statistical point of view, while the users are actually experiencing + bad service quality. So, in such cases, it is better to use more + accurate metrics in addition to those defined in RTCP SR/RR. + + The metrics for lost packets and duplicated packets defined in the + Statistics Summary Report Block of [RFC3611] extend the information + of loss carried in standard RTCP SR/RR. They explicitly give an + account of lost and duplicated packets. Lost packet counts are + useful for network problem diagnosis. It is better to use the packet + loss metrics of [RFC3611] to indicate the lost packet count instead + of the cumulative number of packets lost metric of [RFC3550]. + Duplicated packets are usually rare and have little effect on QoS + evaluation. So it may not be suitable for use in WebRTC. + + Using loss metrics without considering discard metrics may result in + inaccurate quality evaluation, as packet discard due to jitter is + often more prevalent than packet loss in modern IP networks. The + discarded metric specified in [RFC7002] counts the number of packets + discarded due to jitter. It augments the loss statistics metrics + specified in standard RTCP SR/RR. For those WebRTC services with + jitter buffers requiring precise quality evaluation and accurate + troubleshooting, this metric is useful as a complement to the metrics + of RTCP SR/RR. + +5.1.2. Burst/Gap Pattern Metrics for Loss and Discard + + RTCP SR/RR defines coarse metrics regarding loss statistics: the + metrics are all about per-call statistics and are not detailed enough + to capture the transitory nature of some impairments like bursty + packet loss. Even if the average packet loss rate is low, the lost + packets may occur during short dense periods, resulting in short + periods of degraded quality. Bursts cause lower quality experience + than the non-bursts for low packet loss rates, whereas for high + packet loss rates, the converse is true. So capturing burst gap + information is very helpful for quality evaluation and locating + impairments. If the WebRTC application needs to evaluate the service + quality, burst gap metrics provide more accurate information than + RTCP SR/RR. + + + + + + +Singh, et al. Informational [Page 7] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + + [RFC3611] introduces burst gap metrics in the VoIP Report Block. + These metrics record the density and duration of burst and gap + periods, which are helpful in isolating network problems since bursts + correspond to periods of time during which the packet loss/discard + rate is high enough to produce noticeable degradation in audio or + video quality. Metrics related to the burst gap are also introduced + in [RFC7003] and [RFC6958], which define two new report blocks for + use in a range of RTP applications beyond those described in + [RFC3611]. These metrics distinguish discarded packets from loss + packets that occur in the burst period and provide more information + for diagnosing network problems. Additionally, the block reports the + frequency of burst events, which is useful information for evaluating + the quality of experience. Hence, if WebRTC applications need to do + quality evaluation and observe when and why quality degrades, these + metrics should be considered. + +5.1.3. Run-Length Encoded Metrics for Loss and Discard + + Run-length encoding uses a bit vector to encode information about the + packet. Each bit in the vector represents a packet; depending on the + signaled metric, it defines if the packet was lost, duplicated, + discarded, or repaired. An endpoint typically uses the run-length + encoding to accurately communicate the status of each packet in the + interval to the other endpoint. [RFC3611] and [RFC7097] define run- + length encoding for lost and duplicate packets, and discarded + packets, respectively. + + The WebRTC application could benefit from the additional information. + If losses occur after discards, an endpoint may be able to correlate + the two run length vectors to identify congestion-related losses, + e.g., a router queue became overloaded causing delays and then + overflowed. If the losses are independent, it may indicate bit-error + corruption. For the WebRTC Stats API [W3C.webrtc-stats], these types + of metrics are not recommended for use due to the large amount of + data and the computation involved. + +5.2. Application Impact Metrics + +5.2.1. Discarded Octets Metric + + The metric reports the cumulative size of the packets discarded in + the interval. It is complementary to the number of discarded + packets. An application measures sent octets and received octets to + calculate the sending rate and receiving rate, respectively. The + application can calculate the actual bit rate in a particular + interval by subtracting the discarded octets from the received + octets. + + + + +Singh, et al. Informational [Page 8] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + + For WebRTC, the discarded octets metric supplements the metrics on + sent and received octets and provides an accurate method for + calculating the actual bit rate, which is an important parameter to + reflect the quality of the media. The Bytes Discarded metric is + defined in [RFC7243]. + +5.2.2. Frame Impairment Summary Metrics + + RTP has different framing mechanisms for different payload types. + For audio streams, a single RTP packet may contain one or multiple + audio frames. On the other hand, in video streams, a single video + frame may be transmitted in multiple RTP packets. The size of each + packet is limited by the Maximum Transmission Unit (MTU) of the + underlying network. However, the statistics from standard SR/RR only + collect information from the transport layer, so they may not fully + reflect the quality observed by the application. Video is typically + encoded using two frame types, i.e., key frames and derived frames. + Key frames are normally just spatially compressed, i.e., without + prediction from other pictures. The derived frames are temporally + compressed, i.e., depend on the key frame for decoding. Hence, key + frames are much larger in size than derived frames. The loss of + these key frames results in a substantial reduction in video quality. + Thus, it is reasonable to consider this application-layer information + in WebRTC implementations, which influence sender strategies to + mitigate the problem or require the accurate assessment of users' + quality of experience. + + The metrics in this category include: number of discarded key frames, + number of lost key frames, number of discarded derived frames, and + number of lost derived frames. These metrics can be used to + calculate the Media Loss Rate (MLR) of the MDI [RFC4445]. Details of + the definition of these metrics are described in [RFC7003]. + Additionally, the metric provides the rendered frame rate, an + important parameter for quality estimation. + +5.2.3. Jitter Buffer Metrics + + The size of the jitter buffer affects the end-to-end delay on the + network and also the packet discard rate. When the buffer size is + too small, late-arriving packets are not played out and are dropped, + while when the buffer size is too large, packets are held longer than + necessary and consequently reduce conversational quality. + Measurement of jitter buffer should not be ignored in the evaluation + of end-user perception of conversational quality. Metrics related to + the jitter buffer, such as maximum and nominal jitter buffer, could + be used to show how the jitter buffer behaves at the receiving + endpoint. They are useful for providing better end-user quality of + experience (QoE) when jitter buffer factors are used as inputs to + + + +Singh, et al. Informational [Page 9] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + + calculate estimated MOS values. Thus, for those cases, jitter buffer + metrics should be considered. The definition of these metrics is + provided in [RFC7005]. + +5.3. Recovery Metrics + + This document does not consider concealment metrics [RFC7294] as part + of recovery metrics. + +5.3.1. Post-Repair Packet Count Metrics + + Web applications can support certain RTP error-resilience mechanisms + following the recommendations specified in [WebRTC-RTP-USAGE]. For + these web applications using repair mechanisms, providing some + statistics about the performance of their repair mechanisms could + help provide a more accurate quality evaluation. + + The unrepaired packet count and repaired loss count defined in + [RFC7509] provide the recovery information of the error-resilience + mechanisms to the monitoring application or the sending endpoint. + The endpoint can use these metrics to ascertain the ratio of repaired + packets to lost packets. Including post-repair packet count metrics + helps the application evaluate the effectiveness of the applied + repair mechanisms. + +5.3.2. Run-Length Encoded Metric for Post-Repair + + [RFC5725] defines run-length encoding for post-repair packets. When + using error-resilience mechanisms, the endpoint can correlate the + loss run length with this metric to ascertain where the losses and + repairs occurred in the interval. This provides more accurate + information for recovery mechanisms evaluation than those in Section + 5.3.1. However, when RTCP XR metrics are supported, using run-length + encoded metrics is not suggested because the per-packet information + yields an enormous amount of data that is not required in this case. + + For WebRTC, the application may benefit from the additional + information. If losses occur after discards, an endpoint may be able + to correlate the two run-length vectors to identify congestion- + related losses, e.g., a router queue became overloaded causing delays + and then overflowed. If the losses are independent, it may indicate + bit-error corruption. Lastly, when using error-resilience + mechanisms, the endpoint can correlate the loss and post-repair run + lengths to ascertain where the losses and repairs occurred in the + interval. For example, consecutive losses are likely not to be + repaired by a simple FEC scheme. + + + + + +Singh, et al. Informational [Page 10] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +6. Identifiers from Sender, Receiver, and Extended Report Blocks + + This document describes a list of metrics and corresponding + identifiers relevant to RTP media in WebRTC. This group of + identifiers are defined on a ReportGroup corresponding to a + synchronization source (SSRC). In practice, the application needs to + be able to query the statistic identifiers on both an incoming + (remote) and outgoing (local) media stream. Since sending and + receiving SRs and RRs are mandatory, the metrics defined in the SRs + and RRs are always available. For XR metrics, it depends on two + factors: 1) if it is measured at the endpoint and 2) if it is + reported by the endpoint in an XR block. If a metric is only + measured by the endpoint and not reported, the metrics will only be + available for the incoming (remote) media stream. Alternatively, if + the corresponding metric is also reported in an XR block, it will be + available for both the incoming (remote) and outgoing (local) media + stream. + + For a remote statistic, the timestamp represents the timestamp from + an incoming SR, RR, or XR packet. Conversely, for a local statistic, + it refers to the current timestamp generated by the local clock + (typically the POSIX timestamp, i.e., milliseconds since January 1, + 1970). + + As per [RFC3550], the octets metrics represent the payload size + (i.e., not including the header or padding). + +6.1. Cumulative Number of Packets and Octets Sent + + Name: packetsSent + Definition: Section 6.4.1 of [RFC3550]. + + Name: bytesSent + Definition: Section 6.4.1 of [RFC3550]. + +6.2. Cumulative Number of Packets and Octets Received + + Name: packetsReceived + Definition: Section 6.4.1 of [RFC3550]. + + Name: bytesReceived + Definition: Section 6.4.1 of [RFC3550]. + +6.3. Cumulative Number of Packets Lost + + Name: packetsLost + Definition: Section 6.4.1 of [RFC3550]. + + + + +Singh, et al. Informational [Page 11] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +6.4. Interval Packet Loss and Jitter + + Name: jitter + Definition: Section 6.4.1 of [RFC3550]. + + Name: fractionLost + Definition: Section 6.4.1 of [RFC3550]. + +6.5. Cumulative Number of Packets and Octets Discarded + + Name: packetsDiscarded + Definition: The cumulative number of RTP packets discarded due to + late or early arrival; see item a of Appendix A of [RFC7002]. + + Name: bytesDiscarded + Definition: The cumulative number of octets discarded due to late or + early arrival; see Appendix A of [RFC7243]. + +6.6. Cumulative Number of Packets Repaired + + Name: packetsRepaired + Definition: The cumulative number of lost RTP packets repaired after + applying a error-resilience mechanism; see item b of Appendix A of + [RFC7509]. To clarify, the value is the upper bound on the + cumulative number of lost packets. + +6.7. Burst Packet Loss and Burst Discards + + Name: burstPacketsLost + Definition: The cumulative number of RTP packets lost during loss + bursts; see item c of Appendix A of [RFC6958]. + + Name: burstLossCount + Definition: The cumulative number of bursts of lost RTP packets; see + item d of Appendix A of [RFC6958]. + + Name: burstPacketsDiscarded + Definition: The cumulative number of RTP packets discarded during + discard bursts; see item b of Appendix A of [RFC7003]. + + Name: burstDiscardCount + Definition: The cumulative number of bursts of discarded RTP packets; + see item e of Appendix A of [RFC8015]. + + [RFC3611] recommends a Gmin (threshold) value of 16 for classifying + packet loss or discard burst. + + + + + +Singh, et al. Informational [Page 12] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +6.8. Burst/Gap Rates + + Name: burstLossRate + Definition: The fraction of RTP packets lost during bursts; see + item a of Appendix A of [RFC7004]. + + Name: gapLossRate + Definition: The fraction of RTP packets lost during gaps; see item b + of Appendix A of [RFC7004]. + + Name: burstDiscardRate + Definition: The fraction of RTP packets discarded during bursts; see + item e of Appendix A of [RFC7004]. + + Name: gapDiscardRate + Definition: The fraction of RTP packets discarded during gaps; see + item f of Appendix A of [RFC7004]. + +6.9. Frame Impairment Metrics + + Name: framesLost + Definition: The cumulative number of full frames lost; see item i of + Appendix A of [RFC7004]. + + Name: framesCorrupted + Definition: The cumulative number of frames partially lost; see + item j of Appendix A of [RFC7004]. + + Name: framesDropped + Definition: The cumulative number of full frames discarded; see + item g of Appendix A of [RFC7004]. + + Name: framesSent + Definition: The cumulative number of frames sent. + + Name: framesReceived + Definition: The cumulative number of partial or full frames received. + +7. Adding New Metrics to WebRTC Statistics API + + While this document was being drafted, the metrics defined herein + were added to the W3C WebRTC specification. The process to add new + metrics in the future is to create an issue or pull request on the + repository of the W3C WebRTC specification + (https://github.com/w3c/webrtc-stats). + + + + + + +Singh, et al. Informational [Page 13] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +8. Security Considerations + + This document focuses on listing the RTCP XR metrics defined in the + corresponding RTCP reporting extensions and does not give rise to any + security vulnerabilities beyond those described in [RFC3611] and + [RFC6792]. + + The overall security considerations for RTP used in WebRTC + applications is described in [WebRTC-RTP-USAGE] and [WebRTC-Sec], + which also apply to this memo. + +9. IANA Considerations + + This document has no IANA actions. + +10. References + +10.1. Normative References + + [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. + Jacobson, "RTP: A Transport Protocol for Real-Time + Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, + July 2003, <https://www.rfc-editor.org/info/rfc3550>. + + [RFC3611] Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed., + "RTP Control Protocol Extended Reports (RTCP XR)", + RFC 3611, DOI 10.17487/RFC3611, November 2003, + <https://www.rfc-editor.org/info/rfc3611>. + + [RFC5725] Begen, A., Hsu, D., and M. Lague, "Post-Repair Loss RLE + Report Block Type for RTP Control Protocol (RTCP) Extended + Reports (XRs)", RFC 5725, DOI 10.17487/RFC5725, February + 2010, <https://www.rfc-editor.org/info/rfc5725>. + + [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, + DOI 10.17487/RFC6776, October 2012, + <https://www.rfc-editor.org/info/rfc6776>. + + [RFC6792] Wu, Q., Ed., Hunt, G., and P. Arden, "Guidelines for Use + of the RTP Monitoring Framework", RFC 6792, + DOI 10.17487/RFC6792, November 2012, + <https://www.rfc-editor.org/info/rfc6792>. + + + + + + + +Singh, et al. Informational [Page 14] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + + [RFC6958] Clark, A., Zhang, S., Zhao, J., and Q. Wu, Ed., "RTP + Control Protocol (RTCP) Extended Report (XR) Block for + Burst/Gap Loss Metric Reporting", RFC 6958, + DOI 10.17487/RFC6958, May 2013, + <https://www.rfc-editor.org/info/rfc6958>. + + [RFC7002] Clark, A., Zorn, G., and Q. Wu, "RTP Control Protocol + (RTCP) Extended Report (XR) Block for Discard Count Metric + Reporting", RFC 7002, DOI 10.17487/RFC7002, September + 2013, <https://www.rfc-editor.org/info/rfc7002>. + + [RFC7003] Clark, A., Huang, R., and Q. Wu, Ed., "RTP Control + Protocol (RTCP) Extended Report (XR) Block for Burst/Gap + Discard Metric Reporting", RFC 7003, DOI 10.17487/RFC7003, + September 2013, <https://www.rfc-editor.org/info/rfc7003>. + + [RFC7004] Zorn, G., Schott, R., Wu, Q., Ed., and R. Huang, "RTP + Control Protocol (RTCP) Extended Report (XR) Blocks for + Summary Statistics Metrics Reporting", RFC 7004, + DOI 10.17487/RFC7004, September 2013, + <https://www.rfc-editor.org/info/rfc7004>. + + [RFC7005] Clark, A., Singh, V., and Q. Wu, "RTP Control Protocol + (RTCP) Extended Report (XR) Block for De-Jitter Buffer + Metric Reporting", RFC 7005, DOI 10.17487/RFC7005, + September 2013, <http://www.rfc-editor.org/info/rfc7005>. + + [RFC7097] Ott, J., Singh, V., Ed., and I. Curcio, "RTP Control + Protocol (RTCP) Extended Report (XR) for RLE of Discarded + Packets", RFC 7097, DOI 10.17487/RFC7097, January 2014, + <http://www.rfc-editor.org/info/rfc7097>. + + [RFC7243] Singh, V., Ed., Ott, J., and I. Curcio, "RTP Control + Protocol (RTCP) Extended Report (XR) Block for the Bytes + Discarded Metric", RFC 7243, DOI 10.17487/RFC7243, May + 2014, <http://www.rfc-editor.org/info/rfc7243>. + + [RFC7509] Huang, R. and V. Singh, "RTP Control Protocol (RTCP) + Extended Report (XR) for Post-Repair Loss Count Metrics", + RFC 7509, DOI 10.17487/RFC7509, May 2015, + <http://www.rfc-editor.org/info/rfc7509>. + + [RFC8015] Singh, V., Perkins, C., Clark, A., and R. Huang, "RTP + Control Protocol (RTCP) Extended Report (XR) Block for + Independent Reporting of Burst/Gap Discard Metrics", + RFC 8015, DOI 10.17487/RFC8015, November 2016, + <http://www.rfc-editor.org/info/rfc8015>. + + + + +Singh, et al. Informational [Page 15] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +10.2. Informative References + + [ITU-T_P.800.1] + ITU-T, "Mean Opinion Score (MOS) terminology", ITU-T + P.800.1, July 2016, + <https://www.itu.int/rec/T-REC-P.800.1-201607-I>. + + [RFC4445] Welch, J. and J. Clark, "A Proposed Media Delivery Index + (MDI)", RFC 4445, DOI 10.17487/RFC4445, April 2006, + <https://www.rfc-editor.org/info/rfc4445>. + + [WebRTC-Overview] + Alverstrand, H., "Overview: Real Time Protocols for + Browser-based Applications", Work in Progress, + draft-ietf-rtcweb-overview-19, November 2017. + + [WebRTC-RTP-USAGE] + Perkins, C., Westerlund, M., and J. Ott, "Web Real-Time + Communication (WebRTC): Media Transport and Use of RTP", + Work in Progress, draft-ietf-rtcweb-rtp-usage-26, March + 2016. + + [WebRTC-Sec] + Rescorla, E., "Security Considerations for WebRTC", Work + in Progress, draft-ietf-rtcweb-security-10, January 2018. + + [RFC7294] Clark, A., Zorn, G., Bi, C., and Q. Wu, "RTP Control + Protocol (RTCP) Extended Report (XR) Blocks for + Concealment Metrics Reporting on Audio Applications", + RFC 7294, DOI 10.17487/RFC7294, July 2014, + <https://www.rfc-editor.org/info/rfc7294>. + + [RFC7478] Holmberg, C., Hakansson, S., and G. Eriksson, "Web Real- + Time Communication Use Cases and Requirements", RFC 7478, + DOI 10.17487/RFC7478, March 2015, + <https://www.rfc-editor.org/info/rfc7478>. + + [W3C.webrtc] + Bergkvist, A., Burnett, C., Jennings, C., Narayanan, A., + Aboba, B., Brandstetter, T., and J. Bruaroey, "WebRTC 1.0: + Real-time Communication Between Browsers", W3C Candidate + Recommendation, June 2018, + <https://www.w3.org/TR/2018/CR-webrtc-20180621/>. + Latest version available at + <https://www.w3.org/TR/webrtc/>. + + + + + + +Singh, et al. Informational [Page 16] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + + [W3C.webrtc-stats] + Alvestrand, H. and V. Singh, "Identifiers for WebRTC's + Statistics API", W3C Candidate Recommendation, July 2018, + <https://www.w3.org/TR/2018/CR-webrtc-stats-20180703/>. + Latest version available at + <https://www.w3.org/TR/webrtc-stats/>. + +Acknowledgements + + The authors would like to thank Bernard Aboba, Harald Alvestrand, Al + Morton, Colin Perkins, and Shida Schubert for their valuable comments + and suggestions on earlier draft versions of this document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Singh, et al. Informational [Page 17] + +RFC 8451 RTCP XR Metrics for WebRTC September 2018 + + +Authors' Addresses + + Varun Singh + CALLSTATS I/O Oy + Annankatu 31-33 C 42 + Helsinki 00100 + Finland + + Email: varun@callstats.io + URI: https://www.callstats.io/about + + + Rachel Huang + Huawei + 101 Software Avenue, Yuhua District + Nanjing 210012 + China + + Email: rachel.huang@huawei.com + + + Roni Even + Huawei + 14 David Hamelech + Tel Aviv 64953 + Israel + + Email: roni.even@huawei.com + + + Dan Romascanu + + Email: dromasca@gmail.com + + + Lingli Deng + China Mobile + + Email: denglingli@chinamobile.com + + + + + + + + + + + + +Singh, et al. Informational [Page 18] + |