idnits 2.17.1 draft-ietf-xrblock-rtcp-xr-jb-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 19, 2012) is 4144 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) ** Downref: Normative reference to an Informational RFC: RFC 6709 Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Audio/Video Transport Working Group A. Clark 3 Internet-Draft Telchemy 4 Intended status: Standards Track V. Singh 5 Expires: June 22, 2013 Aalto University 6 Q. Wu 7 Huawei 8 December 19, 2012 10 RTP Control Protocol (RTCP) Extended Report (XR) Block for Jitter Buffer 11 Metric Reporting 12 draft-ietf-xrblock-rtcp-xr-jb-05.txt 14 Abstract 16 This document defines an RTP Control Protocol (RTCP) Extended Report 17 (XR) Block that allows the reporting of Jitter Buffer metrics for a 18 range of RTP applications. 20 Status of this Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on June 22, 2013. 37 Copyright Notice 39 Copyright (c) 2012 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 1.1. Jitter Buffer Metrics Block . . . . . . . . . . . . . . . 3 56 1.2. RTCP and RTCP XR Reports . . . . . . . . . . . . . . . . . 3 57 1.3. Performance Metrics Framework . . . . . . . . . . . . . . 3 58 1.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 3 59 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 60 2.1. Standards Language . . . . . . . . . . . . . . . . . . . . 4 61 3. Jitter Buffer Metrics Block . . . . . . . . . . . . . . . . . 5 62 3.1. Report Block Structure . . . . . . . . . . . . . . . . . . 5 63 3.2. Definition of Fields in Jitter Buffer Metrics Block . . . 5 64 4. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 9 65 4.1. SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . . 9 66 4.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . . 9 67 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 68 5.1. New RTCP XR Block Type value . . . . . . . . . . . . . . . 10 69 5.2. New RTCP XR SDP Parameter . . . . . . . . . . . . . . . . 10 70 5.3. Contact information for registrations . . . . . . . . . . 10 71 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 72 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 12 73 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 74 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 75 9.1. Normative References . . . . . . . . . . . . . . . . . . . 14 76 9.2. Informative References . . . . . . . . . . . . . . . . . . 14 77 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 15 78 A.1. draft-ietf-xrblock-rtcp-xr-jb-05 . . . . . . . . . . . . . 15 79 A.2. draft-ietf-xrblock-rtcp-xr-jb-03 . . . . . . . . . . . . . 15 80 A.3. draft-ietf-xrblock-rtcp-xr-jb-02 . . . . . . . . . . . . . 15 81 A.4. draft-ietf-xrblock-rtcp-xr-jb-01 . . . . . . . . . . . . . 15 82 A.5. draft-ietf-xrblock-rtcp-xr-jb-00 . . . . . . . . . . . . . 15 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 85 1. Introduction 87 1.1. Jitter Buffer Metrics Block 89 This document defines a new block type to augment those defined in 90 [RFC3611], for use in a range of RTP applications. 92 The new block type provides information on jitter buffer 93 configuration and performance. 95 The metric belongs to the class of transport-related end system 96 metrics defined in [RFC6792]. 98 Instances of this Metrics Block refer by Synchronization source 99 (SSRC) to the separate auxiliary Measurement Information block 100 [RFC6776] which contains information such as the SSRC of the measured 101 stream, and RTP sequence numbers and time intervals indicating the 102 span of the report. 104 1.2. RTCP and RTCP XR Reports 106 The use of RTCP for reporting is defined in [RFC3550]. [RFC3611] 107 defines an extensible structure for reporting using an RTCP Extended 108 Report (XR). This document defines a new Extended Report block for 109 use with [RFC3550] and [RFC3611]. 111 1.3. Performance Metrics Framework 113 The Performance Metrics Framework [RFC6390] provides guidance on the 114 definition and specification of performance metrics. The RTP 115 Monitoring Architectures [RFC6792] provides guideline for reporting 116 block format using RTCP XR. Metrics described in this draft are in 117 accordance with the guidelines in [RFC6390]and [RFC6792]. 119 1.4. Applicability 121 Real-time applications employ a jitter buffer to smooth out jitter 122 introduced on the path from source to destination. These metrics are 123 used to report how the jitter buffer at the receiving end of RTP 124 stream behaves as a result of jitter in the network and are 125 applicable to a range of RTP applications. 127 These metrics reflect how terminal-related factors affect real-time 128 application quality and are useful to provide better end-user quality 129 of experience (QoE). 131 2. Terminology 133 2.1. Standards Language 135 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 136 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 137 document are to be interpreted as described in RFC 2119 [RFC2119]. 139 3. Jitter Buffer Metrics Block 141 This block describes the configuration and operating parameters of 142 the jitter buffer in the receiver of the RTP end system or RTP mixer 143 which sends the report. Instances of this Metrics Block refer by 144 SSRC to the separate auxiliary Measurement Information block 145 [RFC6776] which describes the measurement interval in use. This 146 Metrics Block relies on the measurement interval in the Measurement 147 Information block indicating the span of the report and should be 148 sent in the same compound RTCP packet as the measurement information 149 block. If the measurement interval is not received in the same 150 compound RTCP packet as this Metrics Block, this Metrics Block should 151 be discarded. 153 3.1. Report Block Structure 155 JB Metrics Block 157 0 1 2 3 158 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 160 | BT=NJB | I |Cg | Rsvd. | block length=3 | 161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 162 | SSRC of Source | 163 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 164 | JB nominal | JB maximum | 165 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 166 | JB high water mark | JB low water mark | 167 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 169 Figure 1: Report Block Structure 171 3.2. Definition of Fields in Jitter Buffer Metrics Block 173 Block type (BT): 8 bits 175 A Jitter Buffer Metrics Report Block is identified by the constant 176 NJB. 178 [Note to RFC Editor: please replace NJB with the IANA provided 179 RTCP XR block type for this block.] 181 Interval Metric flag (I): 2 bits 183 This field is used to indicate whether the Jitter Buffer metrics 184 are Sampled, Interval or Cumulative metrics: 186 I=10: Interval Duration - the reported value applies to the 187 most recent measurement interval duration between successive 188 metrics reports. 190 I=11: Cumulative Duration - the reported value applies to the 191 accumulation period characteristic of cumulative measurements. 193 I=01: Sampled Value - the reported value is a sampled 194 instantaneous value. 196 Jitter Buffer Configuration (Cg): 2 bits 198 This field is used to identify the jitter buffer method in use at 199 the receiver, according to the following code: 201 0 = Fixed buffer size and delay 203 1 = Adaptive buffer size 205 2 = Adaptive playout Delay 207 3 = Adaptive buffer size and delay 209 Reserved (Rsvd.): 4 bits 211 These bits are reserved. They MUST be set to zero by senders 212 ignored by receivers (See [RFC6709] section 4.2). 214 Block Length: 16 bits 216 The length of this report block in 32-bit words, minus one, in 217 accordance with the definition in [RFC3611]. This field MUST be 218 set to 3 to match the fixed length of the report block. The block 219 MUST be discarded if the block length is set to a different value. 221 jitter buffer nominal delay (JB nominal): 16 bits 223 This is the current nominal jitter buffer delay in milliseconds, 224 which corresponds to the nominal jitter buffer delay for packets 225 that arrive exactly on time. It is calculated based on the 226 difference between the receipt time and the playout time for the 227 packet that arrives exactly on time. This parameter MUST be 228 provided for both fixed and adaptive jitter buffer 229 implementations. 231 If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be 232 reported to indicate an over-range measurement. If the 233 measurement is unavailable, the value 0xFFFF MUST be reported. 235 jitter buffer maximum delay (JB maximum): 16 bits 237 This is the current maximum jitter buffer delay in milliseconds 238 which corresponds to the earliest arriving packet that would not 239 be discarded. It is calculated based on the difference between 240 the receipt time and the playout time for the earliest arriving 241 packet. In simple queue implementations this may correspond to 242 the size of the jitter buffer. In adaptive jitter buffer 243 implementations, this value may vary dynamically from JB low water 244 mark to JB high water mark (See below). This parameter MUST be 245 provided for both fixed and adaptive jitter buffer 246 implementations. 248 If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be 249 reported to indicate an over-range measurement. If the 250 measurement is unavailable, the value 0xFFFF MUST be reported. 252 jitter buffer high water mark (JB high water mark): 16 bits 254 This is the highest value of the jitter buffer nominal delay in 255 milliseconds which occurred at any time during the reporting 256 interval. This parameter MUST be provided for adaptive jitter 257 buffer implementations and its value MUST be set to JB maximum for 258 fixed jitter buffer implementations. 260 If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be 261 reported to indicate an over-range measurement. If the 262 measurement is unavailable, the value 0xFFFF MUST be reported. 264 jitter buffer low water mark (JB low water mark): 16 bits 266 This is the lowest value of the jitter buffer nominal delay in 267 milliseconds which occurred at any time during the reporting 268 interval. This parameter MUST be provided for adaptive jitter 269 buffer implementations and its value MUST be set to JB maximum for 270 fixed jitter buffer implementations. 272 If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be 273 reported to indicate an over-range measurement. If the 274 measurement is unavailable, the value 0xFFFF MUST be reported. 276 4. SDP Signaling 278 [RFC3611] defines the use of SDP (Session Description Protocol) 279 [RFC4566] for signaling the use of XR blocks. However XR blocks MAY 280 be used without prior signaling (see section 5 of RFC3611). 282 4.1. SDP rtcp-xr-attrib Attribute Extension 284 This section augments the SDP [RFC4566] attribute "rtcp-xr" defined 285 in [RFC3611] by providing an additional value of "xr-format" to 286 signal the use of the report block defined in this document. 288 xr-format =/ xr-jb-block 290 xr-jb-block = "jitter-bfr" 292 4.2. Offer/Answer Usage 294 When SDP is used in offer-answer context, the SDP Offer/Answer usage 295 defined in [RFC3611] for unilateral "rtcp-xr" attribute parameters 296 applies. For detailed usage of Offer/Answer for unilateral 297 parameter, refer to section 5.2 of [RFC3611]. 299 5. IANA Considerations 301 New block types for RTCP XR are subject to IANA registration. For 302 general guidelines on IANA considerations for RTCP XR, refer to 303 [RFC3611]. 305 5.1. New RTCP XR Block Type value 307 This document assigns the block type value NJB in the IANA "RTCP XR 308 Block Type Registry" to the "JB Metrics Block". 310 [Note to RFC Editor: please replace NJB with the IANA provided RTCP 311 XR block type for this block.] 313 5.2. New RTCP XR SDP Parameter 315 This document also registers a new parameter "jitter-bfr" in the 316 "RTCP XR SDP Parameters Registry". 318 5.3. Contact information for registrations 320 The contact information for the registrations is: 322 Qin Wu (sunseawq@huawei.com) 323 101 Software Avenue, Yuhua District 324 Nanjing, Jiangsu 210012 325 China 327 6. Security Considerations 329 It is believed that this proposed RTCP XR report block introduces no 330 new security considerations beyond those described in [RFC3611]. 331 This block does not provide per-packet statistics so the risk to 332 confidentiality documented in Section 7, paragraph 3 of [RFC3611] 333 does not apply. 335 7. Contributors 337 Geoff Hunt wrote the initial draft of this document. 339 8. Acknowledgments 341 The authors gratefully acknowledge reviews and feedback provided by 342 Bruce Adams, Philip Arden, Amit Arora, Bob Biskner, Kevin Connor, 343 Claus Dahm, Randy Ethier, Roni Even, Jim Frauenthal, Albert Higashi, 344 Tom Hock, Shane Holthaus, Paul Jones, Rajesh Kumar, Keith Lantz, 345 Mohamed Mostafa, Amy Pendleton, Colin Perkins, Mike Ramalho, Ravi 346 Raviraj, Albrecht Schwarz, Tom Taylor, Hideaki Yamada,Claire Bi,Colin 347 Perkin, Dan Romascanu, Kevin Gross and Glen Zorn. 349 9. References 351 9.1. Normative References 353 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 354 Requirement Levels", March 1997. 356 [RFC3550] Schulzrinne, H., "RTP: A Transport Protocol for Real-Time 357 Applications", RFC 3550, July 2003. 359 [RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control 360 Protocol Extended Reports (RTCP XR)", November 2003. 362 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 363 Description Protocol", July 2006. 365 [RFC6709] Carpenter, B., Aboba, B., and S. Cheshire, "Design 366 Considerations for Protocol Extensions", RFC 6709, 367 September 2012. 369 [RFC6776] Wu, Q., "Measurement Identity and information Reporting 370 using SDES item and XR Block", RFC 6776, August 2012. 372 9.2. Informative References 374 [RFC6390] Clark, A. and B. Claise, "Framework for Performance Metric 375 Development", RFC 6390, October 2011. 377 [RFC6792] Hunt, G., Wu, Q., and P. Arden, "Monitoring Architectures 378 for RTP", RFC 6792, November 2012. 380 Appendix A. Change Log 382 Note to the RFC-Editor: please remove this section prior to 383 publication as an RFC. 385 A.1. draft-ietf-xrblock-rtcp-xr-jb-05 387 The following are the major changes to previous version : 389 o Some editorial change changes based on the discussion with Glen 390 and Kevin on the list. 392 A.2. draft-ietf-xrblock-rtcp-xr-jb-03 394 The following are the major changes to previous version : 396 o Reduce the "jb cfg" to 1-bit based on discussion in the WGLC. 398 o Other editorial change changes aligning with PDV,Delay draft. 400 A.3. draft-ietf-xrblock-rtcp-xr-jb-02 402 The following are the major changes to previous version : 404 o Add some explanation text in the SDP offer/answer section. 406 o Add some text in applicability section to explain the use to 407 report jitter buffer metrics. 409 o Other editorial change changes aligning with PDV,Delay draft. 411 A.4. draft-ietf-xrblock-rtcp-xr-jb-01 413 The following are the major changes to previous version : 415 o Outdated reference update 417 o Add one Editor notes to ask clarification on the use of reporting 418 jitter buffer metrics. 420 o Other Editorial changes. 422 A.5. draft-ietf-xrblock-rtcp-xr-jb-00 424 The following are the major changes to previous version : 426 o Boilerplate updates. 428 o references updates 430 o allocate 32 bit field in report block for SSRC 432 o Other editorial changes to get alignment with MONARCH draft. 434 Authors' Addresses 436 Alan Clark 437 Telchemy Incorporated 438 2905 Premiere Parkway, Suite 280 439 Duluth, GA 30097 440 USA 442 Email: alan.d.clark@telchemy.com 444 Varun Singh 445 Aalto University 446 School of Electrical Engineering 447 Otakaari 5 A 448 Espoo, FIN 02150 449 Finland 451 Email: varun@comnet.tkk.fi 453 Qin Wu 454 Huawei 455 101 Software Avenue, Yuhua District 456 Nanjing, Jiangsu 210012 457 China 459 Email: sunseawq@huawei.com