idnits 2.17.1 draft-ietf-avt-rtp-evrc-wb-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 16. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 1085. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1096. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1103. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1109. 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 : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC4788, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust 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 'MUST not' in this paragraph: sendmode: A mode of EVRC-WB codec. Encoder can use this to signal its current mode of operation. Possible values are a comma separated list of modes from the set: 0,4,7 (see Table2.5.1.2-1 [5]). 'sendmode' with value 0 signals wideband fixed rate (full or half rate, depending on the value of 'fixedrate' parameter) operation. 'sendmode' with value 4 signals narrowband fixed full rate operation. 'sendmode' with value 7 signals narrowband fixed half rate operation. 'fixedrate' parameter MUST not be present when 'sendmode' value is 4 or 7. The default value of 'sendmode' is 0. (Using the creation date from RFC4788, updated by this document, for RFC5378 checks: 2006-01-05) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 4, 2007) is 6204 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) == Unused Reference: '3' is defined on line 998, but no explicit reference was found in the text == Unused Reference: '8' is defined on line 1016, but no explicit reference was found in the text == Unused Reference: '10' is defined on line 1022, but no explicit reference was found in the text == Unused Reference: '11' is defined on line 1025, but no explicit reference was found in the text == Unused Reference: '13' is defined on line 1033, but no explicit reference was found in the text == Unused Reference: '17' is defined on line 1046, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. '3' -- Possible downref: Non-RFC (?) normative reference: ref. '4' -- Possible downref: Non-RFC (?) normative reference: ref. '5' ** Obsolete normative reference: RFC 2434 (ref. '8') (Obsoleted by RFC 5226) ** Obsolete normative reference: RFC 4566 (ref. '9') (Obsoleted by RFC 8866) -- Possible downref: Non-RFC (?) normative reference: ref. '11' -- Obsolete informational reference (is this intentional?): RFC 2326 (ref. '16') (Obsoleted by RFC 7826) == Outdated reference: A later version (-06) exists of draft-ietf-avt-rtp-howto-01 Summary: 3 errors (**), 0 flaws (~~), 9 warnings (==), 13 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group H. Desineni 3 Internet-Draft Qualcomm 4 Updates: 4788 (if approved) Q. Xie 5 Intended status: Standards Track Motorola 6 Expires: October 6, 2007 April 4, 2007 8 RTP payload format for EVRC-WB codec and MIME updates for EVRC-B codec 9 draft-ietf-avt-rtp-evrc-wb-01.txt 11 Status of this Memo 13 By submitting this Internet-Draft, each author represents that any 14 applicable patent or other IPR claims of which he or she is aware 15 have been or will be disclosed, and any of which he or she becomes 16 aware will be disclosed, in accordance with Section 6 of BCP 79. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 This Internet-Draft will expire on October 6, 2007. 36 Copyright Notice 38 Copyright (C) The IETF Trust (2007). 40 Abstract 42 This document specifies real-time transport protocol (RTP) payload 43 formats to be used for the EVRC wideband codec (EVRC-WB) and updates 44 the MIME registrations for EVRC-B codec. Several media type 45 registrations are included for EVRC-WB RTP payload formats. In 46 addition, a file format is specified for transport of EVRC-WB speech 47 data in storage mode applications such as e-mail. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 53 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 5 54 4. EVRC-WB codec . . . . . . . . . . . . . . . . . . . . . . . . 6 55 5. RTP header usage . . . . . . . . . . . . . . . . . . . . . . . 7 56 6. Payload format . . . . . . . . . . . . . . . . . . . . . . . . 8 57 7. Congestion Control Considerations . . . . . . . . . . . . . . 9 58 8. Storage format for EVRC-WB Codec . . . . . . . . . . . . . . . 10 59 9. Media type definitions . . . . . . . . . . . . . . . . . . . . 11 60 9.1. Registration of Media Type EVRCWB . . . . . . . . . . . . 11 61 9.2. Registration of Media Type EVRCWB0 . . . . . . . . . . . . 13 62 9.3. Registration of Media Type EVRCWB1 . . . . . . . . . . . . 15 63 9.4. Updated Registration of Media Type EVRCB . . . . . . . . . 17 64 9.5. Updated Registration of Media Type EVRCB0 . . . . . . . . 19 65 10. EVRC-B RFC XXXX Interoperability with legacy EVRC-B (RFC 66 4788) implementations . . . . . . . . . . . . . . . . . . . . 21 67 11. Mapping EVRC-WB MIME Parameters into SDP . . . . . . . . . . . 22 68 12. Mapping EVRC-B MIME Parameters into SDP . . . . . . . . . . . 23 69 13. Offer-Answer Model Considerations for EVRC-WB . . . . . . . . 24 70 14. Offer-Answer Model Considerations for EVRC-B . . . . . . . . . 26 71 15. Declarative SDP Considerations . . . . . . . . . . . . . . . . 27 72 16. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 73 17. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 74 18. Security Considerations . . . . . . . . . . . . . . . . . . . 33 75 19. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 76 20. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35 77 20.1. Normative References . . . . . . . . . . . . . . . . . . . 35 78 20.2. Informative References . . . . . . . . . . . . . . . . . . 35 79 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37 80 Intellectual Property and Copyright Statements . . . . . . . . . . 38 82 1. Introduction 84 This document specifies the payload formats for packetization of 85 EVRC-WB encoded speech signals into the real-time transport protocol 86 (RTP).It defines support for the header-free, interleaved/bundled and 87 compact bundle packet formats for the EVRC-WB codec as well as 88 discontinuous transmission (DTX) support for EVRC-WB encoded speech 89 transported via RTP.EVRC-WB codec offers better speech quality than 90 EVRC and EVRC-B codecs. EVRC-WB belongs to the EVRC family of 91 codecs.This document also updates the MIME registrations for EVRC-B 92 codec. 94 2. Conventions 96 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 97 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 98 document are to be interpreted as described in RFC 2119 [1]. 100 3. Background 102 EVRC-WB is a wideband extension of EVRC-B [4] speech codec developed 103 in 3GPP2 with support for discontinuous transmission (DTX). It 104 provides enhanced (wideband) voice quality. 106 EVRC-WB codec operates on 20 ms frames, and the default sampling rate 107 is 16 kHz. Input and output at 8 kHz sampling rate is also 108 supported. EVRC-WB modes are defined in [5]. EVRC-WB modes 4,7 are 109 interoperable with EVRC-B. EVRC-WB provides a standardized solution 110 for packetized voice applications that allow transitions between 111 narrowband and wideband telephony. The most important service 112 addressed is IP telephony. Target devices can be IP phones or VoIP 113 handsets, media gateways, voice messaging servers, etc. 115 4. EVRC-WB codec 117 EVRC-WB codec operates on 20 ms frames. It produces output frames of 118 one of the three different sizes: 171 bits, 80 bits or 16 bits. In 119 addition, there are two zero bit codec frame types: null frames and 120 erasure frames. The default sampling rate is 16 kHz. Input and 121 output at 8 kHz sampling rate is also supported. 123 The frame type values and size of the associated codec data frame are 124 listed in the table below: 126 Value Rate Total codec data frame size (in octets) 127 -------------------------------------------------------------------- 128 0 Blank 0 (0 bit) 129 1 1/8 2 (16 bits) 130 2 1/4 5 (40 bits; not valid for EVRC-WB) 131 3 1/2 10 (80 bits) 132 4 1 22 (171 bits; 5 bits padded at the end) 133 5 Erasure 0 (SHOULD NOT be transmitted by sender) 135 5. RTP header usage 137 The format of the RTP header is specified in RFC 3550 [6]. The 138 EVRC-WB payload formats (Section 6) use the fields of the RTP header 139 in a manner consistent with RFC 3550. 141 EVRC-WB has also the capability to operate with 8 kHz sampled input/ 142 output signals. The decoder does not require a priori knowledge 143 about the sampling rate of the original signal at the input of the 144 encoder. The decoder output can be at 8kHz or 16kHz regardless of 145 the sampling rate used at the encoder. Therefore, depending on the 146 implementation and the audio electro acoustic capabilities of the 147 devices, the input of the encoder and/or the output of the decoder 148 can be configured at 8 kHz; however, a 16 kHz RTP clock rate MUST 149 always be used. The RTP timestamp is increased by 320 for each 20 150 milliseconds. 152 The assignment of an RTP payload type for the payload formats 153 described in Section 6 is outside the scope of the document, and will 154 not be specified here. It is expected that the RTP profile under 155 which this payload format is being used will assign a payload type 156 for this codec or specify that the payload type is to be bound 157 dynamically (see Section 11). 159 6. Payload format 161 Three RTP packet formats are supported for the EVRC-WB codec - the 162 interleaved/bundled packet format, the header-free packet format and 163 the compact bundled packet format. For all these formats, the 164 operational details and capabilities, such as ToC, interleaving, DTX, 165 and bundling, of EVRC-WB are exactly the same as those of EVRC-B, as 166 defined in [4], except that the mode change request field in the ToC 167 MUST be interpreted according to the definition of the RATE_REDUC 168 parameter as defined in EVRC-WB [5]. 170 7. Congestion Control Considerations 172 Congestion control for RTP SHALL be used in accordance with RFC 3550 173 [6], and with any applicable RTP profile; e.g., RFC 3551 [12]. 175 Due to the header overhead, the number of frames encapsulated in each 176 RTP packet influences the overall bandwidth of the RTP stream. 177 Packing more frames in each RTP packet can reduce the number of 178 packets sent and hence the header overhead, at the expense of 179 increased delay and reduced error robustness. 181 8. Storage format for EVRC-WB Codec 183 The storage format is used for storing EVRC-WB encoded speech frames, 184 e.g., as a file or e-mail attachment. 186 The file begins with a magic number to identify the vocoder that is 187 used. The magic number for EVRC-WB corresponds to the ASCII 188 character string "#!EVCWB\n", i.e., "0x23 0x21 0x45 0x56 0x43 0x57 189 0x42 0x0A". 191 The codec data frames are stored in consecutive order, with a single 192 TOC entry field, extended to one octet, prefixing each codec data 193 frame. The ToC field is extended to one octet by setting the four 194 most significant bits of the octet to zero. For example, a ToC value 195 of 4 (a full-rate frame) is stored as 0x04. See Section 4 for the 196 mapping from frame type to ToC value. 198 Speech frames lost in transmission and non-received frames MUST be 199 stored as erasure frames (ToC value of 5) to maintain synchronization 200 with the original media. 202 9. Media type definitions 204 9.1. Registration of Media Type EVRCWB 206 Type name: audio 208 Subtype names: EVRCWB 210 Required parameters: none 212 Optional parameters: 214 mode-set-recv: A subset of EVRC-WB modes. Possible values are a 215 comma separated list of modes from the set: 0,4,7 (see Table2.5.1.2-1 216 [5]). A decoder can use this to signal an encoder to limit its modes 217 to the specified subset. Absence of this parameter signals a set of 218 all EVRC-WB modes. The default value of 'mode-set-recv' is 0,4,7. 220 sendmode: A mode of EVRC-WB codec. Encoder can use this to signal 221 its current mode of operation. Possible values are a comma separated 222 list of modes from the set: 0,4,7 (see Table2.5.1.2-1 [5]). The 223 default value of 'sendmode' is 0. 225 ptime: see RFC 4566 [9]. 227 maxptime: The maximum amount of media which can be encapsulated in 228 each packet, expressed as time in milliseconds. The time MUST be 229 calculated as the sum of the time the media present in the packet 230 represents. The time SHOULD be a multiple of the duration of a 231 single codec data frame (20 msec). If not signaled, the default 232 maxptime value MUST be 200 milliseconds. 234 maxinterleave: Maximum number for interleaving length (field LLL in 235 the Interleaving Octet). The interleaving lengths used in the entire 236 session MUST NOT exceed this maximum value. If not signaled, the 237 maxinterleave length MUST be 5. 239 silencesupp: see Section 6.1 in [2] 241 dtxmax: see Section 6.1 in [2] 243 dtxmin: see Section 6.1 in [2] 245 hangover: see Section 6.1 in [2] 247 Encoding considerations: 249 This media type is framed binary data (see RFC 4288, Section 4.8) and 250 is defined for transfer of EVRC-WB encoded data via RTP using the 251 Interleaved/Bundled packet format specified in RFC 3558 [14]. 253 Security considerations: See Section 18 of RFC XXXX. 255 Interoperability considerations: none 257 Published specification: 259 The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C [5]. Transfer 260 method with Interleaved/Bundled packet format via RTP is specified in 261 RFC 3558 and RFC XXXX. 263 3GPP2 C.S0050-B, 3GPP2 File Formats for Multimedia Services. 265 3GPP2 specifications are publicly accessible at http://www.3gpp2.org 267 Applications that use this media type: 269 It is expected that many VoIP applications (as well as mobile 270 applications) will use this type. 272 Additional information: 274 The following information applies for storage format only. 276 Magic number: #!EVCWB\n (see Section 8 of RFC XXXX) 278 File extensions: evw, EVW 280 Macintosh file type code: none 282 Object identifier or OID: none 284 EVRC-WB speech frames may also be stored in the file format "3g2" 285 defined in 3GPP2 C.S0050-B, which is identified using the media types 286 "audio/3gpp2" or "video/3gpp2" registered by RFC4393. 288 Person & email address to contact for further information: 290 Harikishan Desineni 292 Intended usage: COMMON 294 Restrictions on usage: 296 This media type may be used with RTP framing (RFC 3550 [6]) and as a 297 storage format. When used with RTP, the procedures in Section 6 MUST 298 be followed. In all other contexts, the storage format defined in 299 Section 8 MAY be used. 301 Author: 303 Harikishan Desineni 305 Change controller: 307 IETF Audio/Video Transport working group delegated from the IESG. 309 9.2. Registration of Media Type EVRCWB0 311 Type name: audio 313 Subtype names: EVRCWB0 315 Required parameters: 317 Optional parameters: 319 mode-set-recv: A subset of EVRC-WB modes. Possible values are a 320 comma separated list of modes from the set: 0,4,7 (see Table2.5.1.2-1 321 [5]). A decoder can use this to signal an encoder to limit its modes 322 to the specified subset. Absence of this parameter signals a set of 323 all EVRC-WB modes. The default value of 'mode-set-recv' is 0,4,7. 325 sendmode: A mode of EVRC-WB codec. Encoder can use this to signal 326 its current mode of operation. Possible values are a comma separated 327 list of modes from the set: 0,4,7 (see Table2.5.1.2-1 [5]). The 328 default value of 'sendmode' is 0. 330 ptime: see RFC 4566 [9]. 332 silencesupp: see Section 6.1 in [2] 334 dtxmax: see Section 6.1 in [2] 336 dtxmin: see Section 6.1 in [2] 338 hangover: see Section 6.1 in [2] 340 Encoding considerations: 342 This media type is framed binary data (see RFC 4288, Section 4.8) and 343 is defined for transfer of EVRC-WB encoded data via RTP using the 344 Header-Free packet format specified in RFC 3558. 346 Security considerations: See Section 18 of RFC XXXX. 348 Interoperability considerations: none 350 Published specification: 352 The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C [5]. Transfer 353 method with header free packet format via RTP is specified in RFC 354 3558 and RFC XXXX. 356 3GPP2 C.S0050-B, 3GPP2 File Formats for Multimedia Services. 358 3GPP2 specifications are publicly accessible at http://www.3gpp2.org 360 Applications that use this media type: 362 It is expected that many VoIP applications (as well as mobile 363 applications) will use this type. 365 Additional information: 367 The following information applies for storage format only. 369 Magic number: #!EVCWB\n (see Section 8 of RFC XXXX) 371 File extensions: evw, EVW 373 Macintosh file type code: none 375 Object identifier or OID: none 377 EVRC-WB speech frames may also be stored in the file format "3g2" 378 defined in 3GPP2 C.S0050-B, which is identified using the media types 379 "audio/3gpp2" or "video/3gpp2" registered by RFC4393. 381 Person & email address to contact for further information: 383 Harikishan Desineni 385 Intended usage: COMMON 387 Restrictions on usage: 389 This media type may be used with RTP framing (RFC 3550) and as a 390 storage format. When used with RTP, the procedures in Section 6 MUST 391 be followed. In all other contexts, the storage format defined in 392 Section 8 MAY be used. 394 Author: 396 Harikishan Desineni 398 Change controller: 400 IETF Audio/Video Transport working group delegated from the IESG. 402 9.3. Registration of Media Type EVRCWB1 404 Type name: audio 406 Subtype names: EVRCWB1 408 Required parameters: 410 Optional parameters: 412 mode-set-recv: A subset of EVRC-WB modes. Possible values are a 413 comma separated list of modes from the set: 0,4,7 (see Table2.5.1.2-1 414 [5]). A decoder can use this to signal an encoder to limit its modes 415 to the specified subset. Absence of this parameter signals a set of 416 all EVRC-WB modes. Value of 0 signals the support for wideband fixed 417 rate (full or half rate, depending on the value of 'fixedrate' 418 parameter). Value of 4 signals narroband fixed full rate. Value of 419 7 signals narrowband fixed half rate. The default value of 'mode- 420 set-recv' is 0. 422 sendmode: A mode of EVRC-WB codec. Encoder can use this to signal 423 its current mode of operation. Possible values are a comma separated 424 list of modes from the set: 0,4,7 (see Table2.5.1.2-1 [5]). 425 'sendmode' with value 0 signals wideband fixed rate (full or half 426 rate, depending on the value of 'fixedrate' parameter) operation. 427 'sendmode' with value 4 signals narrowband fixed full rate operation. 428 'sendmode' with value 7 signals narrowband fixed half rate operation. 429 'fixedrate' parameter MUST not be present when 'sendmode' value is 4 430 or 7. The default value of 'sendmode' is 0. 432 ptime: see RFC 4566 [9]. 434 maxptime: The maximum amount of media which can be encapsulated in 435 each packet, expressed as time in milliseconds. The time MUST be 436 calculated as the sum of the time the media present in the packet 437 represents. The time SHOULD be an integer multiple of the duration 438 of a single codec data frame (20 msec). If not signaled, the default 439 maxptime value MUST be 200 milliseconds. 441 fixedrate: Indicates the EVRC-WB rate of the session while in single 442 rate operation. Valid values include: 0.5 and 1, where a value of 443 0.5 indicates the 1/2 rate while a value of 1 indicates the full 444 rate. If this parameter is not present, 1/2 rate is assumed. 446 silencesupp: see Section 6.1 in [2] 448 dtxmax: see Section 6.1 in [2] 450 dtxmin: see Section 6.1 in [2] 452 hangover: see Section 6.1 in [2] 454 Encoding considerations: 456 This media type is framed binary data (see RFC 4288, Section 4.8) and 457 is defined for transfer of EVRC-WB encoded data via RTP using the 458 compact bundle packet format specified in RFC 4788. 460 Security considerations: See Section 18 of RFC XXXX. 462 Interoperability considerations: none 464 Published specification: 466 The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C. Transfer method 467 with compact bundled packet format via RTP is specified in RFC 4788 468 and RFC XXXX. 470 3GPP2 C.S0050-B, 3GPP2 File Formats for Multimedia Services. 472 3GPP2 specifications are publicly accessible at http://www.3gpp2.org 474 Applications that use this media type: 476 It is expected that many VoIP applications (as well as mobile 477 applications) will use this type. 479 Additional information: 481 The following information applies for storage format only. 483 Magic number: #!EVCWB\n (see Section 8 of RFC XXXX) 485 File extensions: evw, EVW 487 Macintosh file type code: none 489 Object identifier or OID: none 490 EVRC-WB speech frames may also be stored in the file format "3g2" 491 defined in 3GPP2 C.S0050-B, which is identified using the media types 492 "audio/3gpp2" or "video/3gpp2" registered by RFC 4393. 494 Person & email address to contact for further information: 496 Harikishan Desineni 498 Intended usage: COMMON 500 Restrictions on usage: 502 This media type may be used with RTP framing (RFC 3550 [6]) and as a 503 storage format. When used with RTP, the procedures in Section 6 MUST 504 be followed. In all other contexts, the storage format defined in 505 Section 8 MAY be used. 507 Author: 509 Harikishan Desineni 511 Change controller: 513 IETF Audio/Video Transport working group delegated from the IESG. 515 9.4. Updated Registration of Media Type EVRCB 517 Type name: audio 519 Subtype names: EVRCB 521 Required parameters: none 523 Optional parameters: 525 recvmode: A mode of EVRC-B codec. A decoder can use this to signal 526 an encoder to operate in the specified mode. Possible values are a 527 comma separated list of modes from the set: 0..7 (see encoder 528 operating point column in Table 2-6 [4]). 530 sendmode: A mode of EVRC-B codec. An encoder can use this to signal 531 its current mode of operation. Possible values are a comma separated 532 list of modes from the set: 0..7 (see encoder operating point column 533 in Table 2-6 [4]). 535 ptime: see RFC 4566 537 maxptime: The maximum amount of media which can be encapsulated in 538 each packet, expressed as time in milliseconds. The time MUST be 539 calculated as the sum of the time the media present in the packet 540 represents. The time SHOULD be a multiple of the duration of a 541 single codec data frame (20 msec). If not signaled, the default 542 maxptime value MUST be 200 milliseconds. 544 maxinterleave: Maximum number for interleaving length (field LLL in 545 the Interleaving Octet). The interleaving lengths used in the entire 546 session MUST NOT exceed this maximum value. If not signaled, the 547 maxinterleave length MUST be 5. 549 silencesupp: see Section 6.1 for definition. If this parameter is 550 not present, the default value 1 MUST be assumed. 552 dtxmax: see Section 6.1 of [2] 554 dtxmin: see Section 6.1 of [2] 556 hangover: see Section 6.1 of [2] 558 Encoding considerations: 560 This media type is framed binary data (see RFC 4288, Section 4.8) and 561 is defined for transfer of EVRC-B encoded data via RTP using the 562 Interleaved/Bundled packet format specified in RFC 3558. 564 Security considerations: See Section 9 of RFC 4788. 566 Interoperability considerations: none 568 Published specification: 570 The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. Transfer method 571 with Interleaved/Bundled packet format via RTP is specified in RFC 572 3558,RFC XXXX and RFC 4788. 574 Applications that use this media type: 576 It is expected that many VoIP applications (as well as mobile 577 applications) will use this type. 579 Additional information: The following information applies for storage 580 format only. Magic number: #!EVRC-B\n (see Section 5 of RFC 4788) 581 File extensions: evb, EVB Macintosh file type code: none Object 582 identifier or OID: none 584 Person & email address to contact for further information: 586 Harikishan Desineni 588 Intended usage: COMMON 590 Restrictions on usage: 592 This media type depends on RTP framing, and hence is only defined for 593 transfer via RTP (RFC 3550). Transfer within other framing protocols 594 is not defined at this time. 596 Author: 598 Qiaobing Xie / Harikishan Desineni 600 Change controller: 602 IETF Audio/Video Transport working group delegated from the IESG. 604 9.5. Updated Registration of Media Type EVRCB0 606 Type name: audio 608 Subtype names: EVRCB0 610 Required parameters: none 612 Optional parameters: 614 recvmode: A mode of EVRC-B codec. A decoder can use this to signal 615 an encoder to operate in the specified mode. Possible values are a 616 comma separated list of modes from the set: 0..7 (see encoder 617 operating point column in Table 2-6 [4]). 619 sendmode: A mode of EVRC-B codec. An encoder can use this to signal 620 its current mode of operation. Possible values are a comma separated 621 list of modes from the set: 0..7 (see encoder operating point column 622 in Table 2-6 [4]). 624 silencesupp: see Section 6.1 for definition. If this parameter is 625 not present, the default value 1 MUST be assumed. 627 dtxmax: see Section 6.1 of [2] 629 dtxmin: see Section 6.1 of [2] 631 hangover: see Section 6.1 of [2] 633 Encoding considerations: 635 This media type is framed binary data (see RFC 4288, Section 4.8) and 636 is defined for transfer of EVRC-B encoded data via RTP using the 637 Header-Free packet format specified in RFC 3558. 639 Security considerations: See Section 9 of RFC 4788. 641 Interoperability considerations: none 643 Published specification: 645 The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. Transfer method 646 with Header-Free packet format via RTP is specified in RFC 3558, RFC 647 4788 and RFC XXXX. 649 Applications that use this media type: 651 It is expected that many VoIP applications (as well as mobile 652 applications) will use this type. 654 Additional information: none 656 Person & email address to contact for further information: 658 Harikishan Desineni 660 Intended usage: COMMON 662 Restrictions on usage: 664 This media type depends on RTP framing, and hence is only defined for 665 transfer via RTP (RFC 3550). Transfer within other framing protocols 666 is not defined at this time. 668 Author: 670 Qiaobing Xie / Harikishan Desineni 672 Change controller: 674 IETF Audio/Video Transport working group delegated from the IESG. 676 10. EVRC-B RFC XXXX Interoperability with legacy EVRC-B (RFC 4788) 677 implementations 679 This document adds new optional parameters "recvmode" and "sendmode" 680 to the original EVRC-B payload subtypes "EVRCB" and "EVRCB0" defined 681 in RFC 4788. Since the new parameters are receiver options, the 682 existing RFC 4788 implementations will not send these parameters in 683 SDP and will ignore if they are received. This will allow 684 interoperability between RFC 4788 and RFC XXXX implementations of 685 EVRC-B. For an example offer and answer exchange, see Section 16. 687 11. Mapping EVRC-WB MIME Parameters into SDP 689 Information carried in the MIME media type specification has a 690 specific mapping to fields in the Session Description Protocol (SDP) 691 [9], which is commonly used to describe RTP sessions. When SDP is 692 used to specify sessions employing EVRC-WB encoded speech, the 693 mapping is as follows. 695 The MIME type ("audio") goes in SDP "m=" as the media name. 697 o The MIME subtype ("EVRCWB", "EVRCWB0" or "EVRCWB1") goes in SDP 698 "a=rtpmap" as the encoding name. 700 o The optional parameters "ptime" and "maxptime" (for subtypes 701 EVRCWB, EVRCWB1) go in the SDP "a=ptime" and "a=maxptime" 702 attributes, respectively. 704 o Any remaining parameters (for subtypes EVRCWB, EVRCWB0 and 705 EVRCWB1) go in the SDP "a=fmtp" attribute by copying them from the 706 MIME media type string as a semicolon separated list of 707 parameter=value pairs. 709 12. Mapping EVRC-B MIME Parameters into SDP 711 The optional parameters "recvmode" and "sendmode" (for subtypes EVRCB 712 and EVRCB0) go in the SDP "a=fmtp" attribute by copying them directly 713 from the MIME media type string. 715 13. Offer-Answer Model Considerations for EVRC-WB 717 The following considerations apply when using SDP offer-answer 718 procedures [7] to negotiate the use of EVRC-WB payload in RTP: 720 o Since EVRC-WB is an extension of EVRC-B, the offerer SHOULD 721 announce EVRC-B support in its "m=audio" line, with EVRC-WB as the 722 preferred codec. This will allow interoperability with an 723 answerer which supports only EVRC-B. 725 Below is an example of such an offer: 727 m=audio 55954 RTP/AVP 98 99 728 a=rtpmap:98 EVRCWB0/16000 729 a=rtpmap:99 EVRCB0/8000 730 a=fmtp:98 mode-set-recv=0,4;sendmode=0 731 a=fmtp:99 recvmode=0 sendmode=4 733 If the answerer supports EVRC-WB then the answerer can keep the 734 payload type 98 in its answer and the conversation can be done 735 using EVRC-WB. Else, if the answerer supports only EVRC-B then 736 the answerer will leave only the payload type 99 in its answer and 737 the conversation will be done using EVRC-B. 739 An example answer for the above offer: 741 m=audio 55954 RTP/AVP 98 742 a=rtpmap:98 EVRCWB0/16000 743 a=fmtp:98 mode-set-recv=4;sendmode=4 745 o "mode-set-recv" is a uni-directional receive only parameter. 747 o "sendmode" is a uni-directional send only parameter. 749 o Using "sendmode", a sender can signal its current mode of 750 operation. 752 o An offerer can use "mode-set-recv" to request that the remote 753 sender's encoder be limited to the list of modes signaled in 754 "mode-set-recv". A remote sender MAY ignore "mode-set-recv" 755 requests. 757 o The parameters "maxptime" and "ptime" will in most cases not 758 affect interoperability, however the setting of the parameters can 759 affect the performance of the application. The SDP offer-answer 760 handling of the "ptime" parameter is described in RFC3264 [7]. 761 The "maxptime" parameter MUST be handled in the same way. 763 o For a sendonly stream, "mode-set-recv" parameter is not useful and 764 SHOULD NOT be used. 766 o For a recvonly stream, "sendmode" parameter is not useful and 767 SHOULD NOT be used. 769 o When using EVRCWB1, the entire session MUST use the same fixed 770 rate and mode (0-Wideband or 4,7-Narrowband). 772 o For additional rules which MUST be followed while negotiating DTX 773 parameters, see Section 6.8 in [2]. 775 o Any unknown parameter in an SDP offer MUST be ignored by the 776 receiver and MUST NOT be included in the SDP answer. 778 14. Offer-Answer Model Considerations for EVRC-B 780 See Section 6.8 of [2] for offer-answer usage of EVRC-B. The 781 following are several additional considerations for EVRC-B. 783 o "recvmode" is a uni-directional receive only parameter. 785 o "sendmode" is a uni-directional send only parameter. 787 o Using "recvmode", a receiver can signal the remote sender to 788 operate its encoder in the specified mode. A remote sender MAY 789 ignore "recvmode" requests. 791 o Using "sendmode", a sender can signal its current mode of 792 operation. 794 o For a sendonly stream, "recvmode" parameter is not useful and 795 SHOULD NOT be used. 797 o For a recvonly stream, "sendmode" parameter is not useful and 798 SHOULD NOT be used. 800 15. Declarative SDP Considerations 802 For declarative use of SDP in SAP [15] and RTSP [16] , the following 803 considerations apply: 805 o Any "maxptime" and "ptime" values should be selected with care to 806 ensure that the session's participants can achieve reasonable 807 performance. 809 o The payload format configuration parameters are all declarative 810 and a participant MUST use the configuration(s) that is provided 811 for the session. More than one configuration may be provided if 812 necessary by declaring multiple RTP payload types, however the 813 number of types should be kept small. 815 16. Examples 817 Some example SDP session descriptions utilizing EVRC-WB and EVRC-B 818 encodings follow. In these examples, long a=fmtp lines are folded to 819 meet the column width constraints of this document. The backslash 820 ("\") at the end of a line and the carriage return that follows it 821 should be ignored. Note that MIME subtype names are case- 822 insensitive. Parameter names are case-insensitive both in MIME types 823 and in the mapping to the SDP a=fmtp attribute. 825 Example usage of EVRCWB: 827 m=audio 49120 RTP/AVP 97 98 828 a=rtpmap:97 EVRCWB/16000 829 a=rtpmap:98 EVRCB0/8000 830 a=fmtp:97 mode-set-recv=0,4;sendmode=0 831 a=fmtp:98 recvmode=0 sendmode=0 832 a=maxptime:120 834 Example usage of EVRCWB0: 836 m=audio 49120 RTP/AVP 97 98 837 a=rtpmap:97 EVRCWB0/16000 838 a=rtpmap:98 EVRCB0/8000 839 a=fmtp:97 mode-set-recv=0,4;sendmode=0 840 a=fmtp:98 recvmode=0 sendmode=0 842 Example SDP answer from a media gateway requesting a terminal to 843 limit its encoder operation to EVRC-WB mode 4. 845 m=audio 49120 RTP/AVP 97 846 a=rtpmap:97 EVRCWB0/16000 847 a=fmtp:97 mode-set-recv=4;sendmode=4 849 Example usage of EVRCWB1: 851 m=audio 49120 RTP/AVP 97 98 852 a=rtpmap:97 EVRCWB1/16000 853 a=fmtp:97 mode-set-recv=4;sendmode=4 854 a=maxptime:100 856 Example usage of EVRCWB with DTX with silencesupp=1: 858 m=audio 49120 RTP/AVP 97 98 859 a=rtpmap:97 EVRCWB/16000 860 a=rtpmap:98 EVRCB0/8000 861 a=fmtp:97 silencesupp=1;dtxmax=32;dtxmin=12;hangover=1 \ 862 mode-set-recv=0,4; sendmode=0 863 a=fmtp:98 recvmode=0 sendmode=0 864 a=maxptime:120 866 Examples usage of EVRCWB with DTX with silencesupp=0: 868 m=audio 49120 RTP/AVP 97 98 869 a=rtpmap:97 EVRCWB/16000 870 a=rtpmap:98 EVRCB0/8000 871 a=fmtp:97 silencesupp=0;dtxmax=32;dtxmin=12;hangover=1 \ 872 mode-set-recv=0,4;sendmode=0 873 a=fmtp:98 recvmode=0 sendmode=0 874 a=maxptime:120 876 Example usage of EVRCB: 878 m=audio 49120 RTP/AVP 97 879 a=rtpmap:97 EVRCB/8000 880 a=fmtp:97 recvmode=0 sendmode=4 881 a=maxptime:120 883 Example usage of EVRCB0: 885 m=audio 49120 RTP/AVP 97 886 a=rtpmap:97 EVRCB0/8000 887 a=fmtp:97 recvmode=0 sendmode=4 889 Example offer answer exchange between EVRC-WB and 890 legacy EVRC-B (RFC 4788): 892 Offer: 894 m=audio 55954 RTP/AVP 98 99 895 a=rtpmap:98 EVRCWB0/16000 896 a=rtpmap:99 EVRCB0/8000 897 a=fmtp:98 mode-set-recv=0,4;sendmode=0 898 a=fmtp:99 recvmode=0 sendmode=0 900 Answer: 902 m=audio 55954 RTP/AVP 99 903 a=rtpmap:99 EVRCB0/8000 905 Example offer answer exchange between EVRC-WB and 906 updated EVRC-B (RFC XXXX): 908 Offer: 910 m=audio 55954 RTP/AVP 98 99 911 a=rtpmap:98 EVRCWB0/16000 912 a=rtpmap:99 EVRCB0/8000 913 a=fmtp:98 mode-set-recv=0,4; sendmode=0 914 a=fmtp:99 recvmode=0 sendmode=0 916 Answer: 918 m=audio 55954 RTP/AVP 99 919 a=rtpmap:99 EVRCB0/8000 920 a=fmtp:99 recvmode=0 sendmode=4 922 Example offer answer exchanges for interoperability between 923 legacy (RFC XXXX) and updated EVRC-B(RFC 4788) implementations: 925 Offer from an offer which supports updated EVRC-B (RFC XXXX) 926 implementation: 928 m=audio 55954 RTP/AVP 99 929 a=rtpmap:99 EVRCB0/8000 930 a=fmtp:99 recvmode=0 sendmode=4 932 Answer from an answerer which supports only 933 legacy EVRC-B (RFC 4788) implementation: 935 m=audio 55954 RTP/AVP 99 936 a=rtpmap:99 EVRCB0/8000 938 Offer from an offer which supports only 939 legacy EVRC-B (RFC 4788) implementation: 941 m=audio 55954 RTP/AVP 99 942 a=rtpmap:99 EVRCB0/8000 944 Answer from an answerer which supports updated 945 EVRC-B (RFC XXXX) implementation: 947 m=audio 55954 RTP/AVP 99 948 a=rtpmap:99 EVRCB0/8000 949 a=fmtp:99 recvmode=0 sendmode=4 951 17. IANA Considerations 953 Three new MIME subtype registrations ("EVRCWB", "EVRCWB0" and 954 "EVRCWB1") are defined in this document. 956 The MIME subtype registrations "EVRCB" and "EVRCB0" originally 957 defined in [2] are updated with optional "recvmode" and "sendmode" 958 parameters (See Section 9.4 and Section 9.5). 960 [-- RFC Editor: Please replace all instances of "RFC XXXX" in this 961 document with the RFC number of this document prior to IANA 962 registration and RFC publication, and remove this note.] 964 [-- RFC Editor:Please add MIME subtypes "EVRCWB","EVRCWB0", and 965 "EVRCWB1" to the IANA registry for "RTP Payload Format MIME types" at 966 http://www.iana.org/assignments/rtp-parameters, and remove this 967 note.] 969 18. Security Considerations 971 Implementations using the payload defined in this specification are 972 subject to the security considerations discussed in RFC3558 [14], 973 RFC3550 [6], and any appropriate profile (for example RFC3551 [12]). 974 This payload does not specify any different security services. 976 19. Changes 978 This document updates RFC 4788 and the updates are summarized below: 980 o Added new media type attribute "sendmode" to MIME sub-types EVRCB 981 and EVRCB0. This attribute can be used to signal EVRC-B encoder's 982 current mode of operation. 984 o Added new media type attribute "recvmode" to MIME sub-types EVRCB 985 and EVRCB0. This attribute can be used to signal EVRC-B decoder's 986 preferred operating mode to a remote sender. 988 20. References 990 20.1. Normative References 992 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 993 Levels", BCP 14, RFC 2119, March 1997. 995 [2] Xie, Q., "Enhancements to RTP Payload Formats for EVRC Family 996 Codecs", RFC 4788, January 2007. 998 [3] "Enhanced Variable Rate Codec, Speech Service Option 3 for 999 Wideband Spread Spectrum Digital Systems", 3GPP2 C.S0014 , 1000 January 1997. 1002 [4] "Enhanced Variable Rate Codec, Speech Service Option 3 and 68 1003 for Wideband Spread Spectrum Digital Systems", 3GPP2 C.S0014-B 1004 v1.0 , May 2006. 1006 [5] "Enhanced Variable Rate Codec, Speech Service Option 3,68 and 1007 70 for Wideband Spread Spectrum Digital Systems", 3GPP2 1008 C.S0014-C v1.0 , October 2006. 1010 [6] Schulzrinne, H., "RTP: A Transport Protocol for Real-Time 1011 Applications", STD 64, RFC 3550, March 1997. 1013 [7] Rosenberg, J., "An Offer/Answer Model with Session Description 1014 Protocol (SDP)", RFC 3264, June 2002. 1016 [8] Narten, T., "Guidelines for Writing an IANA Considerations 1017 Section in RFCs", RFC 2434, October 1998. 1019 [9] Handley, M., "SDP: Session Description Protocol", RFC 4566, 1020 July 2006. 1022 [10] Garudadri, H., "3GPP2 Multimedia Registrations", RFC 4393, 1023 March 2006. 1025 [11] "3GPP2 File Formats for Multimedia Services", 3GPP2 C.S0050-B , 1026 April 2007. 1028 20.2. Informative References 1030 [12] Schulzrinne, H., "RTP Profile for Audio and Video Conferences 1031 with Minimal Control", STD 65, RFC 3551, July 2003. 1033 [13] Johnston, A., "SDP Offer/Answer Examples", RFC 4317, 1034 December 2005. 1036 [14] Li, A., "RTP Payload Format for Enhanced Variable Rate Codecs 1037 (EVRC) and Selectable Mode Vocoders (SMV)", RFC 3558, 1038 July 2003. 1040 [15] Handley, M., "Session Announcement Protocol", RFC 2974, 1041 October 2000. 1043 [16] Schulzrinne, H., "Real Time Streaming Protocol (RTSP)", 1044 RFC 2326, April 1998. 1046 [17] Westerlund, M., "How to Write an RTP Payload Format", 1047 draft-ietf-avt-rtp-howto-01.txt(Work in Progress) , Dec 2006. 1049 Authors' Addresses 1051 Harikishan Desineni 1052 Qualcomm 1053 5775 Morehouse Drive 1054 San Diego, CA 92126 1055 USA 1057 Phone: +1 858 845 8996 1058 Email: hd@qualcomm.com 1059 URI: http://www.qualcomm.com 1061 Qiaobing Xie 1062 Motorola 1063 1501 W. Shure Drive, 2-F9 1064 Arlington Heights, IL 60004 1065 USA 1067 Phone: +1-847-632-3028 1068 Email: Qiaobing.Xie@Motorola.com 1069 URI: http://www.motorola.com 1071 Full Copyright Statement 1073 Copyright (C) The IETF Trust (2007). 1075 This document is subject to the rights, licenses and restrictions 1076 contained in BCP 78, and except as set forth therein, the authors 1077 retain all their rights. 1079 This document and the information contained herein are provided on an 1080 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1081 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 1082 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 1083 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 1084 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1085 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1087 Intellectual Property 1089 The IETF takes no position regarding the validity or scope of any 1090 Intellectual Property Rights or other rights that might be claimed to 1091 pertain to the implementation or use of the technology described in 1092 this document or the extent to which any license under such rights 1093 might or might not be available; nor does it represent that it has 1094 made any independent effort to identify any such rights. Information 1095 on the procedures with respect to rights in RFC documents can be 1096 found in BCP 78 and BCP 79. 1098 Copies of IPR disclosures made to the IETF Secretariat and any 1099 assurances of licenses to be made available, or the result of an 1100 attempt made to obtain a general license or permission for the use of 1101 such proprietary rights by implementers or users of this 1102 specification can be obtained from the IETF on-line IPR repository at 1103 http://www.ietf.org/ipr. 1105 The IETF invites any interested party to bring to its attention any 1106 copyrights, patents or patent applications, or other proprietary 1107 rights that may cover technology that may be required to implement 1108 this standard. Please address the information to the IETF at 1109 ietf-ipr@ietf.org. 1111 Acknowledgment 1113 Funding for the RFC Editor function is provided by the IETF 1114 Administrative Support Activity (IASA).