idnits 2.17.1 draft-ietf-xrblock-rtcp-xr-loss-conceal-09.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 == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: Equivalently, a concealed second is one in which some Loss-type concealment has occurred. Buffer adjustment-type concealment SHALL not cause Concealed Seconds to be incremented, with the following exception. An implementation MAY cause Concealed Seconds to be incremented for 'emergency' buffer adjustments made during talkspurts. -- The document date (January 6, 2014) is 3762 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) == Missing Reference: 'G.711' is mentioned on line 491, but not defined == Missing Reference: 'RFCXXXX' is mentioned on line 958, but not defined ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 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 G. Zorn, Ed. 5 Expires: July 10, 2014 Network Zen 6 C. Bi 7 STTRI 8 Q. Wu, Ed. 9 Huawei 10 January 6, 2014 12 RTCP XR Report Block for Concealment metrics Reporting on Audio 13 Applications 14 draft-ietf-xrblock-rtcp-xr-loss-conceal-09.txt 16 Abstract 18 This document defines two RTCP XR Report Blocks that allows the 19 reporting of concealment metrics for audio applications of RTP. 21 Status of this Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at http://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on July 10, 2014. 38 Copyright Notice 40 Copyright (c) 2014 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (http://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 1.1. Loss Concealment and Concealment Seconds Metrics 57 Reporting Block . . . . . . . . . . . . . . . . . . . . . 3 58 1.2. RTCP and RTCP XR Reports . . . . . . . . . . . . . . . . . 4 59 1.3. Performance Metrics Framework . . . . . . . . . . . . . . 4 60 1.4. Applicability . . . . . . . . . . . . . . . . . . . . . . 4 61 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 62 2.1. Standards Language . . . . . . . . . . . . . . . . . . . . 5 63 2.2. Notations . . . . . . . . . . . . . . . . . . . . . . . . 5 64 3. Loss Concealment Block . . . . . . . . . . . . . . . . . . . . 6 65 3.1. Report Block Structure . . . . . . . . . . . . . . . . . . 6 66 3.2. Definition of Fields in Loss Concealment Metrics Block . . 6 67 4. Concealment Seconds Block . . . . . . . . . . . . . . . . . . 11 68 4.1. Report Block Structure . . . . . . . . . . . . . . . . . . 11 69 4.2. Definition of Fields in Concealed Seconds Metrics Block . 12 70 5. SDP Signaling . . . . . . . . . . . . . . . . . . . . . . . . 16 71 5.1. SDP rtcp-xr-attrib Attribute Extension . . . . . . . . . . 16 72 5.2. Offer/Answer Usage . . . . . . . . . . . . . . . . . . . . 16 73 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 74 6.1. New RTCP XR Block Type values . . . . . . . . . . . . . . 17 75 6.2. New RTCP XR SDP Parameters . . . . . . . . . . . . . . . . 17 76 6.3. Contact information for registrations . . . . . . . . . . 17 77 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 78 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 19 79 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 20 80 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 81 10.1. Normative References . . . . . . . . . . . . . . . . . . . 21 82 10.2. Informative References . . . . . . . . . . . . . . . . . . 21 83 Appendix A. Metrics represented using RFC6390 Template . . . . . 22 84 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 29 85 B.1. draft-ietf-xrblock-rtcp-xr-loss-conceal-09 . . . . . . . . 29 86 B.2. draft-ietf-xrblock-rtcp-xr-loss-conceal-07 . . . . . . . . 29 87 B.3. draft-ietf-xrblock-rtcp-xr-loss-conceal-06 . . . . . . . . 29 88 B.4. draft-ietf-xrblock-rtcp-xr-loss-conceal-05 . . . . . . . . 29 89 B.5. draft-ietf-xrblock-rtcp-xr-loss-conceal-04 . . . . . . . . 29 90 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 30 92 1. Introduction 94 1.1. Loss Concealment and Concealment Seconds Metrics Reporting Block 96 At any instant, the audio output at a receiver may be classified as 97 either 'normal' or 'concealed'. 'Normal' refers to playout of audio 98 payload received from the remote end, and also includes locally 99 generated signals such as announcements, tones and comfort noise. 100 Concealment refers to playout of locally-generated signals used to 101 mask the impact of network impairments or to reduce the audibility of 102 jitter buffer adaptations. 104 This draft defines two new concealment related block types to augment 105 those defined in [RFC3611] for use in a range of RTP applications. 106 These two block types extend packet loss concealment mechanism 107 defined in section 4.7.6 of RFC3611. 109 The first block type provides metrics for actions taken by the 110 receiver to mitigate the effect of packet loss and packet discard. 111 Specifically, the first metric (On-Time Playout Duration) reports the 112 duration of normal playout of data which the receiver obtained from 113 the sender's stream. A second metric (Loss Concealment Duration) 114 reports the total time during which the receiver played out media 115 data which was manufactured locally, because the sender's data for 116 these periods was not available due to packet loss or discard. A 117 similar metric (Buffer Adjustment Concealment Duration) reports the 118 duration of playout of locally-manufactured data replacing data which 119 is unavailable due to adaptation of an adaptive de-jitter buffer. 120 Further metrics (Playout Interrupt Count and Mean Playout Interrupt 121 Size) report the number of times normal playout was interrupted, and 122 the mean duration of these interruptions. 124 Loss Concealment Duration and Buffer Adjustment Concealment Duration 125 are reported separately because buffer adjustment is typically 126 arranged to occur in silence periods so may have very little impact 127 on user experience, whilst loss concealment may occur at any time. 129 The second block type provides metrics for concealment seconds, which 130 are measured at the receiving end of the RTP stream. Specifically, 131 the first metric (Unimpaired Seconds) reports the number of whole 132 seconds occupied only with normal playout of data which the receiver 133 obtained from the sender's stream. The second metric (Concealed 134 Seconds) reports the number of whole seconds during which the 135 receiver played out any locally-generated media data. A third metric 136 (Severely Concealed Seconds) reports the number of whole seconds 137 during which the receiver played out locally-generated data for more 138 than SCS Threshold. 140 These metrics belongs to the class of transport-related terminal 141 metrics defined in [RFC6792]. 143 1.2. RTCP and RTCP XR Reports 145 The use of RTCP for reporting is defined in [RFC3550]. [RFC3611] 146 defined an extensible structure for reporting using an RTCP Extended 147 Report (XR). This draft defines a new Extended Report block that 148 MUST be used as defined in [RFC3550] and [RFC3611]. 150 1.3. Performance Metrics Framework 152 The Performance Metrics Framework [RFC6390] provides guidance on the 153 definition and specification of performance metrics. The RTP 154 Monitoring Architectures [RFC6792] provides guideline for reporting 155 block format using RTCP XR. The Metrics Block described in this 156 document are in accordance with those guidelines. 158 1.4. Applicability 160 These metrics are applicable to audio applications of RTP and the 161 audio component of Audio/Video applications in which the packet loss 162 concealment machinery is contained at the receiving end to mitigate 163 the impact of network impairments to user's perception of media 164 quality. 166 2. Terminology 168 2.1. Standards Language 170 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 171 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 172 document are to be interpreted as described in RFC2119 [RFC2119]. 174 2.2. Notations 176 This report block makes use of binary fractions. The terminology 177 used is 179 Numeric formats S X:Y 181 where S indicates a two's complement signed representation, X 182 the number of bits prior to the decimal place and Y the number 183 of bits after the decimal place. 185 Hence 8:8 represents an unsigned number in the range 0.0 to 186 255.996 with a granularity of 0.0039. S7:8 would represent the 187 range -127.996 to +127.996. 0:16 represents a proper binary 188 fraction with range 190 0.0 to 1 - 1/65536 = 0.9999847 192 though note that use of flag values at the top of the numeric 193 range slightly reduces this upper limit. For example, if the 194 16- bit values 0xfffe and 0xffff are used as flags for "over- 195 range" and "unavailable" conditions, a 0:16 quantity has range 197 0.0 to 1 - 3/65536 = 0.9999542 199 3. Loss Concealment Block 201 The metrics block described here are intended to be used as described 202 in this section, in conjunction with information from the Measurement 203 Information block [RFC6776]. Instances of this Metrics Block refer 204 by Synchronization source (SSRC) to the separate auxiliary 205 Measurement Information block [RFC6776] which describes measurement 206 periods in use (see [RFC6776] section 4.2). This Metrics Block 207 relies on the measurement period in the Measurement Information block 208 indicating the span of the report and SHOULD be sent in the same 209 compound RTCP packet as the measurement information block. If the 210 measurement period is not received in the same compound RTCP packet 211 as this Metrics Block, this metrics block MUST be discarded. 213 3.1. Report Block Structure 215 Loss Concealment Metrics Block 217 0 1 2 3 218 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 219 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 220 | BT=NLC | I |plc| rsv. | block length=5 | 221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 222 | SSRC of Source | 223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 224 | On-time Playout Duration | 225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 226 | Loss Concealment Duration | 227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 228 | Buffer Adjustment Concealment Duration | 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 230 | Playout Interrupt Count | Reserved. | 231 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 232 | Mean Playout Interrupt Size | 233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 235 Figure 1: Report Block Structure 237 3.2. Definition of Fields in Loss Concealment Metrics Block 239 Block type (BT): 8 bits 241 A Loss Concealment Metrics Report Block is identified by the 242 constant NLC. 244 [Note to RFC Editor: please replace NLC with the IANA provided 245 RTCP XR block type for this block.] 247 Interval Metric flag (I): 2 bit 249 This field is used to indicate whether the Loss Concealment 250 metrics are Sampled, Interval or Cumulative metrics: 252 I=10: Interval Duration - the reported value applies to the 253 most recent measurement interval duration between successive 254 metrics reports. 256 I=11: Cumulative Duration - the reported value applies to the 257 accumulation period characteristic of cumulative measurements. 259 I=01: Sampled Value - the reported value is a sampled 260 instantaneous value. 262 In this document, Loss Concealment Metrics can only be measured 263 over definite intervals, and cannot be sampled. Also, the value 264 I=00 is reserved for future use. Senders MUST NOT use the values 265 I=00 or I=01. If a block is received with I=00 or I=01, the 266 receiver MUST discard the block. 268 Packet Loss Concealment Method (plc): 2 bits 270 This field is used to identify the packet loss concealment method 271 in use at the receiver, according to the following code: 273 bits 014-015 275 0 = silence insertion 277 1 = simple replay, no attenuation 279 2 = simple replay, with attenuation 281 3 = enhancement 283 Other values reserved 285 Note that the enhancement method (plc =3 )for packet loss 286 concealment offers an improved audio quality and or a better 287 robustness against packet losses [G.711] and is equivalent to 288 enhanced in section 4.7.1 of [RFC3611], 290 Reserved (resv): 4 bits 292 These bits are reserved. They MUST be set to zero by senders and 293 ignored by receivers (See [RFC6709] section 4.2). 295 block length: 16 bits 297 The length of this report block in 32-bit words, minus one. For 298 the Loss Concealment Block, the block length is equal to 5. 300 SSRC of source: 32 bits 302 As defined in Section 4.1 of [RFC3611]. 304 On-time Playout Duration: 32 bits 306 'On-time' playout is the uninterrupted, in-sequence playout of 307 valid decoded audio information originating from the remote 308 endpoint. This includes comfort noise during periods of remote 309 talker silence, if VAD [VAD] is used, and locally generated or 310 regenerated tones and announcements. 312 An equivalent definition is that on-time playout is playout of any 313 signal other than those used for concealment. 315 On-time playout duration is expressed in units of RTP timestamp 316 and MUST include both speech and silence intervals, whether VAD is 317 used or not. 319 If the measured value exceeds 0xFFFFFFFD, the value 0xFFFFFFFE 320 MUST be reported to indicate an over-range measurement. If the 321 measurement is unavailable, the value 0xFFFFFFFF MUST be reported. 323 Loss Concealment Duration: 32 bits 325 The duration, expressed in units of RTP timestamp, of audio 326 playout corresponding to Loss-type concealment. 328 Loss-type concealment is reactive insertion or deletion of samples 329 in the audio playout stream due to effective frame loss at the 330 audio decoder. "Effective frame loss" is the event in which a 331 frame of coded audio is simply not present at the audio decoder 332 when required. In this case, substitute audio samples are 333 generally formed, at the decoder or elsewhere, to reduce audible 334 impairment. 336 If the measured value exceeds 0xFFFFFFFD, the value 0xFFFFFFFE 337 MUST be reported to indicate an over-range measurement. If the 338 measurement is unavailable, the value 0xFFFFFFFF MUST be reported. 340 Buffer Adjustment Concealment Duration: 32 bits 342 The duration, expressed in units of RTP timestamp, of audio 343 playout corresponding to Buffer Adjustment-type concealment, if 344 known. 346 If the measured value exceeds 0xFFFFFFFD, the value 0xFFFFFFFE 347 MUST be reported to indicate an over-range measurement. If the 348 measurement is unavailable, the value 0xFFFFFFFF MUST be reported. 350 Buffer Adjustment-type concealment is proactive or controlled 351 insertion or deletion of samples in the audio playout stream due 352 to jitter buffer adaptation, re-sizing or re-centering decisions 353 within the endpoint. 355 Because this insertion is controlled, rather than occurring 356 randomly in response to losses, it is typically less audible than 357 loss-type concealment. For example, jitter buffer adaptation 358 events may be constrained to occur during periods of talker 359 silence, in which case only silence duration is affected, or 360 sophisticated time-stretching methods for insertion/deletion 361 during favorable periods in active speech may be employed. 363 Concealment events which cannot be classified as Buffer 364 Adjustment-type MUST be classified as Loss-type. 366 Playout Interrupt Count: 16 bits 368 The number of interruptions to normal playout which occurred 369 during the reporting period. 371 If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be 372 reported to indicate an over-range measurement. If the 373 measurement is unavailable, the value 0xFFFF MUST be reported. 375 Reserved (resv): 16 bits 377 These bits are reserved. They MUST be set to zero by senders and 378 ignored by receivers (See [RFC6709] section 4.2). 380 Mean Playout Interrupt Size: 32 bits 382 The mean duration, expressed in units of RTP timestamp, of 383 interruptions to normal playout which occurred during the 384 reporting period. 386 If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be 387 reported to indicate an over-range measurement. If the 388 measurement is unavailable, the value 0xFFFF MUST be reported. 390 4. Concealment Seconds Block 392 This sub-block described here is intended to be used as described in 393 this section, in conjunction with information from the Measurement 394 Information block [RFC6776] and provides a description of potentially 395 audible impairments due to lost and discarded packets at the 396 endpoint, expressed on a time basis analogous to a traditional PSTN 397 T1/E1 errored seconds metric. Instances of this Metrics Block refer 398 by Synchronization source (SSRC) to the separate auxiliary 399 Measurement Information block [RFC6776] which describes measurement 400 periods in use (see [RFC6776] section 4.2). This Metrics Block 401 relies on the measurement period in the Measurement Information block 402 indicating the span of the report and SHOULD be sent in the same 403 compound RTCP packet as the measurement information block. If the 404 measurement period is not received in the same compound RTCP packet 405 as this Metrics Block, this metrics block MUST be discarded. 407 The following metrics are based on successive one second intervals as 408 declared by a RTP clock. This RTP clock does not need to be 409 synchronized to any external time reference. The starting time of 410 this clock is unspecified. Note that this implies that the same loss 411 pattern could result in slightly different count values, depending on 412 where the losses occur relative to the particular one-second 413 demarcation points. For example, two loss events occurring 50ms 414 apart could result in either one concealed second or two, depending 415 on the particular one second boundaries used. 417 The seconds in this sub-block are not necessarily calendar seconds. 418 At the tail end of a session, periods of time of less than one second 419 shall be incorporated into these counts if they exceed 500ms and 420 shall be disregarded if they are less than 500ms. 422 4.1. Report Block Structure 424 Concealed Seconds Metrics Block 426 0 1 2 3 427 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 428 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 429 | BT=NCS | I |plc|Rserved| block length=4 | 430 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 431 | SSRC of Source | 432 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 433 | Unimpaired Seconds | 434 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 435 | Concealed Seconds | 436 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 437 | Severely Concealed Seconds | RESERVED | SCS Threshold | 438 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 440 Figure 2: Report Block Structure 442 4.2. Definition of Fields in Concealed Seconds Metrics Block 444 Block type (BT): 8 bits 446 A Concealed Seconds Metrics Report Block is identified by the 447 constant NCS. 449 [Note to RFC Editor: please replace NCS with the IANA provided 450 RTCP XR block type for this block.] 452 Interval Metric flag (I): 2 bit 454 This field is used to indicate whether the Concealment Seconds 455 Metrics are Sampled, Interval or Cumulative metrics: 457 I=10: Interval Duration - the reported value applies to the 458 most recent measurement interval duration between successive 459 metrics reports. 461 I=11: Cumulative Duration - the reported value applies to the 462 accumulation period characteristic of cumulative measurements. 464 I=01: Sampled Value - the reported value is a sampled 465 instantaneous value. 467 In this document, Concealment Seconds Metrics can only be measured 468 over definite intervals, and cannot be sampled. Also, the value 469 I=00 is reserved for future use. Senders MUST NOT use the values 470 I=00 or I=01. If a block is received with I=00 or I=01, the 471 receiver MUST discard the block. 473 Packet Loss Concealment Method (plc): 2 bits 475 This field is used to identify the packet loss concealment method 476 in use at the receiver, according to the following code: 478 bits 014-015 479 0 = silence insertion 481 1 = simple replay, no attenuation 483 2 = simple replay, with attenuation 485 3 = enhancement 487 Other values reserved 489 Note that the enhancement method (plc =3) for packet loss 490 concealment offers an improved audio quality and or a better 491 robustness against packet losses [G.711] and is equivalent to 492 enhanced in section 4.7.1 of [RFC3611], 494 Reserved (resv): 4 bits 496 These bits are reserved. They MUST be set to zero by senders and 497 ignored by receivers (See [RFC6709] section 4.2). 499 Block Length: 16 bits 501 The length of this report block in 32-bit words, minus one. For 502 the Concealment Seconds Block, the block length is equal to 4. 504 SSRC of source: 32 bits 506 As defined in Section 4.1 of [RFC3611]. 508 Unimpaired Seconds: 32 bits 510 A count of the number of unimpaired Seconds that have occurred. 512 An unimpaired Second is defined as a continuous period of one 513 second during which no frame loss or discard due to late arrival 514 has occurred. Every second in a session must be classified as 515 either OK or Concealed. 517 Normal playout of comfort noise or other silence concealment 518 signal during periods of talker silence, if VAD is used, shall be 519 counted as unimpaired seconds. 521 If the measured value exceeds 0xFFFFFFFD, the value 0xFFFFFFFE 522 MUST be reported to indicate an over-range measurement. If the 523 measurement is unavailable, the value 0xFFFFFFFF MUST be reported. 525 Concealed Seconds: 32 bits 527 A count of the number of Concealed Seconds that have occurred. 529 A Concealed Second is defined as a continuous period of one second 530 during which any frame loss or discard due to late arrival has 531 occurred. 533 Equivalently, a concealed second is one in which some Loss-type 534 concealment has occurred. Buffer adjustment-type concealment 535 SHALL not cause Concealed Seconds to be incremented, with the 536 following exception. An implementation MAY cause Concealed 537 Seconds to be incremented for 'emergency' buffer adjustments made 538 during talkspurts. 540 Loss-type concealment is reactive insertion or deletion of samples 541 in the audio playout stream due to effective frame loss at the 542 audio decoder. "Effective frame loss" is the event in which a 543 frame of coded audio is simply not present at the audio decoder 544 when required. In this case, substitute audio samples are 545 generally formed, at the decoder or elsewhere, to reduce audible 546 impairment. 548 Buffer Adjustment-type concealment is proactive or controlled 549 insertion or deletion of samples in the audio playout stream due 550 to jitter buffer adaptation, re-sizing or re-centering decisions 551 within the endpoint. 553 Because this insertion is controlled, rather than occurring 554 randomly in response to losses, it is typically less audible than 555 loss-type concealment. For example, jitter buffer adaptation 556 events may be constrained to occur during periods of talker 557 silence, in which case only silence duration is affected, or 558 sophisticated time-stretching methods for insertion/deletion 559 during favorable periods in active speech may be employed. For 560 these reasons, buffer adjustment-type concealment MAY be exempted 561 from inclusion in calculations of Concealed Seconds and Severely 562 Concealed Seconds. 564 However, an implementation SHOULD include buffer-type concealment 565 in counts of Concealed Seconds and Severely Concealed Seconds if 566 the event occurs at an 'inopportune' moment, with an emergency or 567 large, immediate adaptation during active speech, or for 568 unsophisticated adaptation during speech without regard for the 569 underlying signal, in which cases the assumption of low-audibility 570 cannot hold. In other words, jitter buffer adaptation events 571 which may be presumed to be audible SHOULD be included in 572 Concealed Seconds and Severely Concealed Seconds counts. 574 Concealment events which cannot be classified as Buffer 575 Adjustment- type MUST be classified as Loss-type. 577 For clarification, the count of Concealed Seconds MUST include the 578 count of Severely Concealed Seconds. 580 If the measured value exceeds 0xFFFFFFFD, the value 0xFFFFFFFE 581 MUST be reported to indicate an over-range measurement. If the 582 measurement is unavailable, the value 0xFFFFFFFF MUST be reported. 584 Severely Concealed Seconds: 16 bits 586 A count of the number of Severely Concealed Seconds. 588 A Severely Concealed Second is defined as a non-overlapping period 589 of one second during which the cumulative amount of time that has 590 been subject to frame loss or discard due to late arrival, exceeds 591 the SCS Threshold. 593 If the measured value exceeds 0xFFFD, the value 0xFFFE MUST be 594 reported to indicate an over-range measurement. If the 595 measurement is unavailable, the value 0xFFFF MUST be reported. 597 Reserved: 8 bits 599 These bits are reserved. They MUST be set to zero by senders and 600 ignored by receivers (See [RFC6709] section 4.2). 602 SCS Threshold: 8 bits 604 The SCS Threshold is defined as the percentage of packets 605 corresponding to lost or discarded frames that must occur within a 606 one second period in order for the second to be classified as a 607 Severely Concealed Second. This is expressed in numeric format 608 0:8 and hence can represent a range of 0.1 to 25.5 percent loss or 609 discard. 611 A default threshold of 5% effective frame loss (50ms effective 612 frame loss ) per second is suggested. 614 5. SDP Signaling 616 [RFC3611] defines the use of SDP (Session Description Protocol) 617 [RFC4566] for signaling the use of XR blocks. XR blocks MAY be used 618 without prior signaling. 620 5.1. SDP rtcp-xr-attrib Attribute Extension 622 This section augments the SDP attribute "rtcp-xr" [RFC3611] by 623 providing two additional values of "xr-format" to signal the use of 624 two report blocks defined in this document. 626 xr-format =/ xr-conceal-block 627 / xr-conc-sec-block 629 xr-conceal-block = "loss-conceal" 630 xr-conc-sec-block = "conc-sec" ["=" thresh] 632 thresh = 1*DIGIT ; threshold for SCS (ms) 633 DIGIT = %x30-39 635 5.2. Offer/Answer Usage 637 When SDP is used in offer-answer context, the SDP Offer/Answer usage 638 defined in [RFC3611] applies. Note that "thresh" is declared by the 639 offer. 641 6. IANA Considerations 643 New block types for RTCP XR are subject to IANA registration. For 644 general guidelines on IANA considerations for RTCP XR, refer to 645 [RFC3611]. 647 6.1. New RTCP XR Block Type values 649 This document assigns two block type values in the IANA "RTP Control 650 Protocol Extended Reports (RTCP XR) Block Type Registry ": 652 Name: LCB 653 Long Name: Loss Concealment Block 654 Value 655 Reference: Section 3.1 657 Name: CSB 658 Long Name: Concealment Seconds Block 659 Value 660 Reference: Section 4.1 662 [Note to RFC Editor: please replace and with the RTCP XR 663 block type assigned by IANA for this block.] 665 6.2. New RTCP XR SDP Parameters 667 This document also registers two new parameters in the "RTP Control 668 Protocol Extended Reports (RTCP XR) Session Description Protocol 669 (SDP) Parameters Registry": 671 o "loss-conceal" 673 o "conc-sec" 675 6.3. Contact information for registrations 677 The contact information for the registrations is: 679 Qin Wu (sunseawq@huawei.com) 680 101 Software Avenue, Yuhua District 681 Nanjing, Jiangsu 210012 682 China 684 7. Security Considerations 686 It is believed that this proposed RTCP XR report block introduces no 687 new security considerations beyond those described in [RFC3611]. 688 This block does not provide per-packet statistics so the risk to 689 confidentiality documented in Section 7, paragraph 3 of [RFC3611] 690 does not apply. 692 8. Contributors 694 Geoff Hunt wrote the initial draft of this document. 696 9. Acknowledgements 698 The authors gratefully acknowledge reviews and feedback provided by 699 Bruce Adams, Philip Arden, Amit Arora, Bob Biskner, Kevin Connor, 700 Claus Dahm, Randy Ethier, Roni Even, Jim Frauenthal, Albert Higashi, 701 Tom Hock, Shane Holthaus, Paul Jones, Rajesh Kumar, Keith Lantz, 702 Mohamed Mostafa, Amy Pendleton, Colin Perkins, Mike Ramalho, Ravi 703 Raviraj, Albrecht Schwarz, Tom Taylor, and Hideaki Yamada. 705 10. References 707 10.1. Normative References 709 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 710 Requirement Levels", March 1997. 712 [RFC3550] Schulzrinne, H., "RTP: A Transport Protocol for Real-Time 713 Applications", RFC 3550, July 2003. 715 [RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control 716 Protocol Extended Reports (RTCP XR)", November 2003. 718 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 719 Description Protocol", July 2006. 721 [RFC6776] Wu, Q., "Measurement Identity and information Reporting 722 using SDES item and XR Block", RFC 6776, August 2012. 724 10.2. Informative References 726 [RFC6390] Clark, A. and B. Claise, "Framework for Performance Metric 727 Development", RFC 6390, October 2011. 729 [RFC6709] Carpenter, B., Aboba, B., and S. Cheshire, "Design 730 Considerations for Protocol Extensions", RFC 6709, 731 September 2012. 733 [RFC6792] Hunt, G., "Monitoring Architectures for RTP", RFC 6792, 734 November 2012. 736 [VAD] "http://en.wikipedia.org/wiki/Voice_activity_detection". 738 Appendix A. Metrics represented using RFC6390 Template 740 RFC EDITOR NOTE: please change XXXX in [RFCXXXX] by the new RFC 741 number, when assigned. 743 a. On-time Playout Duration Metric 745 * Metric Name: On-time Playout Duration 747 * Metric Description: 'On-time' playout is the uninterrupted, 748 in-sequence playout of valid decoded audio information 749 originating from the remote endpoint. On-time playout 750 Duration is playout duration of any signal other than those 751 used for concealment 753 * Method of Measurement or Calculation: See section 3. 2, On- 754 time Playout Duration definition [RFCXXXX]. 756 * Units of Measurement: See section 3.2, On-time Playout 757 Duration definition [RFCXXXX]. 759 * Measurement Point(s) with Potential Measurement Domain: See 760 section 1.1, 3rd paragraph [RFCXXXX]. 762 * Measurement Timing: See section 3, 1st paragraph [RFCXXXX] for 763 measurement timing and section 3.2 [RFCXXXX] for Interval 764 Metric flag. 766 * Use and applications: See section 1.4 [RFCXXXX]. 768 * Reporting model: See RFC3611. 770 b. Loss Concealment Duration Metric 772 * Metric Name: Loss Concealment Duration 773 * Metric Description: The duration of audio playout 774 corresponding to Loss-type concealment. 776 * Method of Measurement or Calculation: See section 3.2, Loss 777 Concealment Duration definition [RFCXXXX]. 779 * Units of Measurement: See section 3.2, Loss Concealment 780 Duration definition [RFCXXXX]. 782 * Measurement Point(s) with Potential Measurement Domain: See 783 section 1.1, 3rd paragraph [RFCXXXX]. 785 * Measurement Timing: See section 3, 1st paragraph [RFCXXXX] for 786 measurement timing and section 3. 2 [RFCXXXX] for Interval 787 Metric flag. 789 * Use and applications: See section 1.4 [RFCXXXX]. 791 * Reporting model: See RFC3611. 793 c. Buffer Adjustment Concealment Duration Metric 795 * Metric Name: Buffer Adjustment Concealment Duration 797 * Metric Description: The duration of audio playout 798 corresponding to Buffer Adjustment-type concealment. 800 * Method of Measurement or Calculation: See section 3. 2, Buffer 801 Adjustment Concealment Duration definition [RFCXXXX]. 803 * Units of Measurement: See section 3.2, Buffer Adjustment 804 Concealment Duration definition [RFCXXXX]. 806 * Measurement Point(s) with Potential Measurement Domain: See 807 section 1.1, 3rd paragraph [RFCXXXX]. 809 * Measurement Timing: See section 3, 1st paragraph [RFCXXXX] for 810 measurement timing and section 3.2 [RFCXXXX] for Interval 811 Metric flag. 813 * Use and applications: See section 1.4 [RFCXXXX]. 815 * Reporting model: See RFC3611. 817 d. Playout Interrupt Count Metric 819 * Metric Name: Playout Interrupt Count 821 * Metric Description: The number of interruptions to normal 822 playout which occurred during the reporting period. 824 * Method of Measurement or Calculation: See section 3. 2, 825 Playout Interrupt Count definition [RFCXXXX]. 827 * Units of Measurement: See section 3.2, Playout Interrupt Count 828 definition [RFCXXXX]. 830 * Measurement Point(s) with Potential Measurement Domain: See 831 section 1.1, 3rd paragraph [RFCXXXX]. 833 * Measurement Timing: See section 3, 1st paragraph [RFCXXXX] for 834 measurement timing and section 3.2 [RFCXXXX] for Interval 835 Metric flag. 837 * Use and applications: See section 1.4 [RFCXXXX]. 839 * Reporting model: See RFC3611. 841 e. Mean Playout Interrupt Size Metric 842 * Metric Name: Mean Playout Interrupt Size 844 * Metric Description: The mean duration of interruptions to 845 normal playout which occurred during the reporting period. 847 * Method of Measurement or Calculation: See section 3. 2, 848 Playout Interrupt Count definition [RFCXXXX]. 850 * Units of Measurement: See section 3.2, Playout Interrupt Count 851 definition [RFCXXXX]. 853 * Measurement Point(s) with Potential Measurement Domain: See 854 section 1.1, 3rd paragraph [RFCXXXX]. 856 * Measurement Timing: See section 3, 1st paragraph [RFCXXXX] for 857 measurement timing and section 3.2 [RFCXXXX] for Interval 858 Metric flag. 860 * Use and applications: See section 1.4 [RFCXXXX]. 862 * Reporting model: See RFC3611. 864 f. Unimpaired Seconds Metric 866 * Metric Name: Unimpaired Seconds 868 * Metric Description: A count of the number of unimpaired 869 Seconds that have occurred. 871 * Method of Measurement or Calculation: See section 4. 2, 872 Unimpaired Seconds definition [RFCXXXX]. 874 * Units of Measurement: See section 4.2, Unimpaired Seconds 875 definition [RFCXXXX]. 877 * Measurement Point(s) with Potential Measurement Domain: See 878 section 1.1, 5th paragraph [RFCXXXX]. 880 * Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for 881 measurement timing and section 4.2 paragraph [RFCXXXX] for 882 Interval Metric flag. 884 * Use and applications: See section 1.4 [RFCXXXX]. 886 * Reporting model: See RFC3611. 888 g. Concealed Seconds Metric 890 * Metric Name: Concealed Seconds 892 * Metric Description: A count of the number of Concealed Seconds 893 that have occurred. 895 * Method of Measurement or Calculation: See section 4. 2, 896 Concealed Seconds definition [RFCXXXX]. 898 * Units of Measurement: See section 4.2, Concealed Seconds 899 definition [RFCXXXX]. 901 * Measurement Point(s) with Potential Measurement Domain: See 902 section 1.1, 5th paragraph [RFCXXXX]. 904 * Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for 905 measurement timing and section 4.2 [RFCXXXX] for Interval 906 Metric flag. 908 * Use and applications: See section 1.4 [RFCXXXX]. 910 * Reporting model: See RFC3611. 912 h. Severely Concealed Seconds Metric 914 * Metric Name: Severely Concealed Seconds 916 * Metric Description: A count of the number of Severely 917 Concealed Seconds that have occurred. 919 * Method of Measurement or Calculation: See section 4. 2, 920 Severely Concealed Seconds definition [RFCXXXX]. 922 * Units of Measurement: See section 4.2, Severely Concealed 923 Seconds definition [RFCXXXX]. 925 * Measurement Point(s) with Potential Measurement Domain: See 926 section 1.1, 5th paragraph [RFCXXXX]. 928 * Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for 929 measurement timing and section 4.2 [RFCXXXX] for Interval 930 Metric flag. 932 * Use and applications: See section 1.4 [RFCXXXX]. 934 * Reporting model: See RFC3611. 936 i. SCS Threshold Metric 938 * Metric Name: SCS Threshold 940 * Metric Description: The amount of time corresponding to lost 941 or discarded frames that must occur within a one second period 942 in order for the second to be classified as a Severely 943 Concealed Second. 945 * Method of Measurement or Calculation: See section 4. 2, SCS 946 Threshold definition [RFCXXXX]. 948 * Units of Measurement: See section 4.2, SCS Threshold 949 definition [RFCXXXX]. 951 * Measurement Point(s) with Potential Measurement Domain: See 952 section 1.1, 5th paragraph [RFCXXXX]. 954 * Measurement Timing: See section 4, 1st paragraph [RFCXXXX] for 955 measurement timing and section 4.2 [RFCXXXX] for Interval 956 Metric flag. 958 * Use and applications: See section 1.4 [RFCXXXX]. 960 * Reporting model: See RFC3611. 962 Appendix B. Change Log 964 Note to the RFC-Editor: please remove this section prior to 965 publication as an RFC. 967 B.1. draft-ietf-xrblock-rtcp-xr-loss-conceal-09 969 The following are the major changes to previous version : 971 o Only Version Number changes. 973 B.2. draft-ietf-xrblock-rtcp-xr-loss-conceal-07 975 The following are the major changes to previous version : 977 o Change units for threshold and units used for reporting in loss 978 concealment block and concealment seconds block. 980 o Change 16bit "Mean Playout Interrupt Size" into 32bits. 982 B.3. draft-ietf-xrblock-rtcp-xr-loss-conceal-06 984 The following are the major changes to previous version : 986 o Comments in the WGLC are addressed in this version. 988 B.4. draft-ietf-xrblock-rtcp-xr-loss-conceal-05 990 The following are the major changes to previous version : 992 o Add text to clarify the definition of enhanced method. 994 o Add appendix to apply RFC6390 template to the metrics. 996 B.5. draft-ietf-xrblock-rtcp-xr-loss-conceal-04 998 The following are the major changes to previous version : 1000 o Merge Concealment Seconds draft into this draft (i.e.,Loss 1001 Concealment draft). 1003 o Updated references. 1005 Authors' Addresses 1007 Alan Clark 1008 Telchemy Incorporated 1009 2905 Premiere Parkway, Suite 280 1010 Duluth, GA 30097 1011 USA 1013 Email: alan.d.clark@telchemy.com 1015 Glen Zorn (editor) 1016 Network Zen 1017 77/440 Soi Phoomjit, Rama IV Road 1018 Phra Khanong, Khlong Toie 1019 Bangkok 10110 1020 Thailand 1022 Phone: +66 (0) 87 502 4274 1023 Email: gwz@net-zen.net 1025 Claire Bi 1026 Shanghai Research Institure of China Telecom Corporation Limited 1027 No.1835,South Pudong Road 1028 Shanghai 200122 1029 China 1031 Email: bijy@sttri.com.cn 1033 Qin Wu (editor) 1034 Huawei 1035 101 Software Avenue, Yuhua District 1036 Nanjing, Jiangsu 210012 1037 China 1039 Email: sunseawq@huawei.com