draft-ietf-avt-rtp-evrc-wb-05.txt   draft-ietf-avt-rtp-evrc-wb-06.txt 
Network Working Group H. Desineni Network Working Group H. Desineni
Internet-Draft Qualcomm Internet-Draft Qualcomm
Updates: 4788 (if approved) Q. Xie Updates: 4788 (if approved) Q. Xie
Intended status: Standards Track Motorola Intended status: Standards Track Motorola
Expires: May 3, 2008 October 31, 2007 Expires: May 7, 2008 November 4, 2007
RTP payload format for EVRC-WB codec and media subtype updates for RTP payload format for EVRC-WB codec and media subtype updates for
EVRC-B codec EVRC-B codec
draft-ietf-avt-rtp-evrc-wb-05.txt draft-ietf-avt-rtp-evrc-wb-06.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 36 skipping to change at page 1, line 36
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 3, 2008. This Internet-Draft will expire on May 7, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document specifies real-time transport protocol (RTP) payload This document specifies real-time transport protocol (RTP) payload
formats to be used for the EVRC wideband codec (EVRC-WB) and updates formats to be used for the EVRC wideband codec (EVRC-WB) and updates
the media type registrations for EVRC-B codec. Several media type the media type registrations for EVRC-B codec. Several media type
skipping to change at page 2, line 32 skipping to change at page 2, line 32
7. Congestion Control Considerations . . . . . . . . . . . . . . 9 7. Congestion Control Considerations . . . . . . . . . . . . . . 9
8. Storage format for the EVRC-WB Codec . . . . . . . . . . . . . 10 8. Storage format for the EVRC-WB Codec . . . . . . . . . . . . . 10
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
9.1. Media Type Registrations . . . . . . . . . . . . . . . . . 11 9.1. Media Type Registrations . . . . . . . . . . . . . . . . . 11
9.1.1. Registration of Media Type audio/EVRCWB . . . . . . . 11 9.1.1. Registration of Media Type audio/EVRCWB . . . . . . . 11
9.1.2. Registration of Media Type audio/EVRCWB0 . . . . . . . 13 9.1.2. Registration of Media Type audio/EVRCWB0 . . . . . . . 13
9.1.3. Registration of Media Type audio/EVRCWB1 . . . . . . . 15 9.1.3. Registration of Media Type audio/EVRCWB1 . . . . . . . 15
9.1.4. Updated Registration of Media Type audio/EVRCB . . . . 17 9.1.4. Updated Registration of Media Type audio/EVRCB . . . . 17
9.1.5. Updated Registration of Media Type audio/EVRCB0 . . . 19 9.1.5. Updated Registration of Media Type audio/EVRCB0 . . . 19
10. SDP mode attributes for EVRC-WB and EVRC-B . . . . . . . . . . 21 10. SDP mode attributes for EVRC-WB and EVRC-B . . . . . . . . . . 21
11. EVRC-B RFC XXXX Interoperability with legacy EVRC-B (RFC 11. EVRC-B Interoperability with legacy implementations (RFC
4788) implementations . . . . . . . . . . . . . . . . . . . . 22 4788) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
12. Mapping EVRC-WB media type parameters into SDP . . . . . . . . 23 12. Mapping EVRC-WB media type parameters into SDP . . . . . . . . 23
13. Mapping EVRC-B media type parameters into SDP . . . . . . . . 24 13. Mapping EVRC-B media type parameters into SDP . . . . . . . . 24
14. Offer-Answer Model Considerations for EVRC-WB . . . . . . . . 25 14. Offer-Answer Model Considerations for EVRC-WB . . . . . . . . 25
15. Offer-Answer Model Considerations for EVRC-B . . . . . . . . . 27 15. Offer-Answer Model Considerations for EVRC-B . . . . . . . . . 27
16. Declarative SDP Considerations . . . . . . . . . . . . . . . . 28 16. Declarative SDP Considerations . . . . . . . . . . . . . . . . 28
17. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 17. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
18. Security Considerations . . . . . . . . . . . . . . . . . . . 33 18. Security Considerations . . . . . . . . . . . . . . . . . . . 33
19. Changes to RFC4788 . . . . . . . . . . . . . . . . . . . . . . 34 19. Changes to RFC 4788 . . . . . . . . . . . . . . . . . . . . . 34
20. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35 20. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35
20.1. Normative References . . . . . . . . . . . . . . . . . . . 35 20.1. Normative References . . . . . . . . . . . . . . . . . . . 35
20.2. Informative References . . . . . . . . . . . . . . . . . . 35 20.2. Informative References . . . . . . . . . . . . . . . . . . 35
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 36 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 36
Intellectual Property and Copyright Statements . . . . . . . . . . 37 Intellectual Property and Copyright Statements . . . . . . . . . . 37
1. Introduction 1. Introduction
This document specifies the payload formats for packetization of This document specifies the payload formats for packetization of
EVRC-WB encoded speech signals into the real-time transport EVRC-WB encoded speech signals into the real-time transport protocol
protocol(RTP). It defines support for the header-free,interleaved/ (RTP). It defines support for the header-free, interleaved/bundled
bundled and compact bundle packet formats for the EVRC-WB codec as and compact bundle packet formats for the EVRC-WB codec as well as
well as discontinuous transmission (DTX) support for EVRC-WB encoded discontinuous transmission (DTX) support for EVRC-WB encoded speech
speech transported via RTP. EVRC-WB codec offers better speech transported via RTP. The EVRC-WB codec offers better speech quality
quality than EVRC and EVRC-B codecs. EVRC-WB belongs to the EVRC than the EVRC and EVRC-B codecs. EVRC-WB belongs to the EVRC family
family of codecs. This document also updates the media type of codecs. This document also updates the media type registrations
registrations for EVRC-B codec. for the EVRC-B codec.
2. Conventions 2. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [1]. document are to be interpreted as described in RFC 2119 [1].
3. Background 3. Background
EVRC-WB is a wideband extension of the EVRC-B [4] speech codec EVRC-WB is a wideband extension of the EVRC-B [4] speech codec
skipping to change at page 7, line 9 skipping to change at page 7, line 9
1 1/8 2 (16 bits) 1 1/8 2 (16 bits)
2 1/4 5 (40 bits) 2 1/4 5 (40 bits)
3 1/2 10 (80 bits) 3 1/2 10 (80 bits)
4 1 22 (171 bits; 5 bits padded at the end) 4 1 22 (171 bits; 5 bits padded at the end)
5 Erasure 0 (SHOULD NOT be transmitted by sender) 5 Erasure 0 (SHOULD NOT be transmitted by sender)
5. RTP header usage 5. RTP header usage
The format of the RTP header is specified in RFC 3550 [6]. The The format of the RTP header is specified in RFC 3550 [6]. The
EVRC-WB payload formats (Section 6) use the fields of the RTP header EVRC-WB payload formats (Section 6) use the fields of the RTP header
in a manner consistent with RFC 3550. in a manner consistent with RFC 3550 [6].
EVRC-WB has also the capability to operate with 8 kHz sampled input/ EVRC-WB has also the capability to operate with 8 kHz sampled input/
output signals. The decoder does not require a priori knowledge output signals. The decoder does not require a priori knowledge
about the sampling rate of the original signal at the input of the about the sampling rate of the original signal at the input of the
encoder. The decoder output can be at 8kHz or 16kHz regardless of encoder. The decoder output can be at 8kHz or 16kHz regardless of
the sampling rate used at the encoder. Therefore, depending on the the sampling rate used at the encoder. Therefore, depending on the
implementation and the electro acoustic audio capabilities of the implementation and the electro acoustic audio capabilities of the
devices, the input of the encoder and/or the output of the decoder devices, the input of the encoder and/or the output of the decoder
can be configured at 8 kHz; however, a 16 kHz RTP clock rate MUST can be configured at 8 kHz; however, a 16 kHz RTP clock rate MUST
always be used. The RTP timestamp is increased by 320 for each 20 always be used. The RTP timestamp is increased by 320 for each 20
skipping to change at page 10, line 16 skipping to change at page 10, line 16
The storage format is used for storing EVRC-WB encoded speech frames, The storage format is used for storing EVRC-WB encoded speech frames,
e.g., as a file or e-mail attachment. e.g., as a file or e-mail attachment.
The file begins with a magic number to identify the vocoder that is The file begins with a magic number to identify the vocoder that is
used. The magic number for EVRC-WB corresponds to the ASCII used. The magic number for EVRC-WB corresponds to the ASCII
character string "#!EVCWB\n", i.e., "0x23 0x21 0x45 0x56 0x43 0x57 character string "#!EVCWB\n", i.e., "0x23 0x21 0x45 0x56 0x43 0x57
0x42 0x0A". 0x42 0x0A".
The codec data frames are stored in consecutive order, with a single The codec data frames are stored in consecutive order, with a single
TOC entry field, extended to one octet, prefixing each codec data ToC entry field, extended to one octet, prefixing each codec data
frame. The ToC field is extended to one octet by setting the four frame. The ToC field is extended to one octet by setting the four
most significant bits of the octet to zero. For example, a ToC value most significant bits of the octet to zero. For example, a ToC value
of 4 (a full-rate frame) is stored as 0x04. See Section 4 for the of 4 (a full-rate frame) is stored as 0x04. See Section 4 for the
mapping from frame type to ToC value. mapping from frame type to ToC value.
Speech frames lost in transmission and non-received frames MUST be Speech frames lost in transmission and non-received frames MUST be
stored as erasure frames (ToC value of 5) to maintain synchronization stored as erasure frames (ToC value of 5) to maintain synchronization
with the original media. with the original media.
9. IANA Considerations 9. IANA Considerations
skipping to change at page 11, line 17 skipping to change at page 11, line 17
This document updates the audio/EVRCB and audio/EVRCB0 media types This document updates the audio/EVRCB and audio/EVRCB0 media types
defined in RFC 4788 [3] and adds new EVRC-WB 'audio' media subtypes. defined in RFC 4788 [3] and adds new EVRC-WB 'audio' media subtypes.
[-- RFC Editor: Please replace all instances of "RFC XXXX" in this [-- RFC Editor: Please replace all instances of "RFC XXXX" in this
document with the RFC number of this document prior to IANA document with the RFC number of this document prior to IANA
registration and RFC publication, and remove this note.] registration and RFC publication, and remove this note.]
9.1. Media Type Registrations 9.1. Media Type Registrations
Following the guidelines in RFC 4288 [9], this section registers new Following the guidelines in RFC 4288 [9], this section registers new
'audio' media subtypes for EVRC-WB and updates audio/EVRCB and audio/ 'audio' media subtypes for EVRC-WB and updates the audio/EVRCB and
EVRCB0 media types defined in RFC 4788 [3]. audio/EVRCB0 media type registrations contained in RFC 4788 [3].
9.1.1. Registration of Media Type audio/EVRCWB 9.1.1. Registration of Media Type audio/EVRCWB
Type name: audio Type name: audio
Subtype names: EVRCWB Subtype names: EVRCWB
Required parameters: none Required parameters: none
Optional parameters: Optional parameters:
mode-set-recv: A subset of EVRC-WB modes. Possible values are a mode-set-recv: A subset of EVRC-WB modes. Possible values are a
comma separated list of modes from the set {0,4,7} (see Table comma separated list of modes from the set {0,4,7} (see Table
2.5.1.2-1 in 3GPP2 C.S0014-C). A decoder can use this attribute to 2.5.1.2-1 in 3GPP2 C.S0014-C). A decoder can use this attribute to
inform its preference to an encoder to operate in a specified subset inform an encoder of its preference to operate in a specified subset
of modes. Absence of this parameter signals the mode set {0,4,7}. of modes. Absence of this parameter signals the mode set {0,4,7}.
sendmode: A mode of the EVRC-WB codec. An encoder can use this to sendmode: A mode of the EVRC-WB codec. An encoder can use this to
signal its current mode of operation. Possible values are 0,4,7 (see signal its current mode of operation. Possible values are 0,4,7 (see
Table 2.5.1.2-1 in 3GPP2 C.S0014-C). Absence of this parameter Table 2.5.1.2-1 in 3GPP2 C.S0014-C). Absence of this parameter
signals mode 0. signals mode 0.
ptime: see RFC 4566. ptime: see RFC 4566.
maxptime: see RFC 4566. maxptime: see RFC 4566.
maxinterleave: Maximum number for interleaving length (field LLL in maxinterleave: Maximum number for interleaving length (field LLL in
the Interleaving Octet). The interleaving lengths used in the entire the Interleaving Octet)[0..7]. The interleaving lengths used in the
session MUST NOT exceed this maximum value. If not signaled, the entire session MUST NOT exceed this maximum value. If not signaled,
maxinterleave length MUST be 5. the maxinterleave length MUST be 5.
silencesupp: see Section 6.1 in RFC 4788. silencesupp: see Section 6.1 in RFC 4788.
dtxmax: see Section 6.1 in RFC 4788. dtxmax: see Section 6.1 in RFC 4788.
dtxmin: see Section 6.1 in in RFC 4788. dtxmin: see Section 6.1 in RFC 4788.
hangover: see Section 6.1 in in RFC 4788. hangover: see Section 6.1 in RFC 4788.
Encoding considerations: Encoding considerations:
This media type is framed binary data (see RFC 4288, Section 4.8) and This media type is framed binary data (see RFC 4288, Section 4.8) and
is defined for transfer of EVRC-WB encoded data via RTP using the is defined for transfer of EVRC-WB encoded data via RTP using the
Interleaved/Bundled packet format specified in RFC 3558 [2]. Interleaved/Bundled packet format specified in RFC 3558.
Security considerations: See Section 18 of RFC XXXX. Security considerations: See Section 18 of RFC XXXX.
Interoperability considerations: none Interoperability considerations: none
Published specification: Published specification:
The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C. The transfer The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C. The transfer
method with the Interleaved/Bundled packet format via RTP is method with the Interleaved/Bundled packet format via RTP is
specified in RFC 3558 and RFC XXXX. specified in RFC 3558 and RFC XXXX.
skipping to change at page 13, line 33 skipping to change at page 13, line 33
Type name: audio Type name: audio
Subtype names: EVRCWB0 Subtype names: EVRCWB0
Required parameters: Required parameters:
Optional parameters: Optional parameters:
mode-set-recv: A subset of EVRC-WB modes. Possible values are a mode-set-recv: A subset of EVRC-WB modes. Possible values are a
comma separated list of modes from the set {0,4,7} (see Table comma separated list of modes from the set {0,4,7} (see Table
2.5.1.2-1 [5]). A decoder can use this attribute to inform its 2.5.1.2-1 in 3GPP2 C.S0014-C). A decoder can use this attribute to
preference to an encoder to operate in a specified subset of modes. inform an encoder of its preference to operate in a specified subset
Absence of this parameter signals the mode set {0,4,7}. of modes. Absence of this parameter signals the mode set {0,4,7}.
sendmode: A mode of the EVRC-WB codec. An encoder can use this to sendmode: A mode of the EVRC-WB codec. An encoder can use this to
signal its current mode of operation. Possible values are 0,4,7 (see signal its current mode of operation. Possible values are 0,4,7 (see
Table 2.5.1.2-1 in 3GPP2 C.S0014-C). Absence of this parameter Table 2.5.1.2-1 in 3GPP2 C.S0014-C). Absence of this parameter
signals mode 0. signals mode 0.
ptime: see RFC 4566 [8]. ptime: see RFC 4566.
silencesupp: see Section 6.1 in RFC 4788. silencesupp: see Section 6.1 in RFC 4788.
dtxmax: see Section 6.1 in RFC 4788. dtxmax: see Section 6.1 in RFC 4788.
dtxmin: see Section 6.1 in RFC 4788. dtxmin: see Section 6.1 in RFC 4788.
hangover: see Section 6.1 in RFC 4788. hangover: see Section 6.1 in RFC 4788.
Encoding considerations: Encoding considerations:
skipping to change at page 14, line 18 skipping to change at page 14, line 18
is defined for transfer of EVRC-WB encoded data via RTP using the is defined for transfer of EVRC-WB encoded data via RTP using the
Header-Free packet format specified in RFC 3558. Header-Free packet format specified in RFC 3558.
Security considerations: See Section 18 of RFC XXXX. Security considerations: See Section 18 of RFC XXXX.
Interoperability considerations: none Interoperability considerations: none
Published specification: Published specification:
The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C. The transfer The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C. The transfer
method with header free packet format via RTP is specified in RFC method with the Header-Free packet format via RTP is specified in RFC
3558 and RFC XXXX. 3558 and RFC XXXX.
3GPP2 C.S0050-B, 3GPP2 File Formats for Multimedia Services. 3GPP2 C.S0050-B, 3GPP2 File Formats for Multimedia Services.
3GPP2 specifications are publicly accessible at http://www.3gpp2.org 3GPP2 specifications are publicly accessible at http://www.3gpp2.org
Applications that use this media type: Applications that use this media type:
It is expected that many VoIP applications (as well as mobile It is expected that many VoIP applications (as well as mobile
applications) will use this type. applications) will use this type.
skipping to change at page 15, line 30 skipping to change at page 15, line 30
Type name: audio Type name: audio
Subtype names: EVRCWB1 Subtype names: EVRCWB1
Required parameters: Required parameters:
Optional parameters: Optional parameters:
mode-set-recv: A subset of EVRC-WB modes. Possible values are a mode-set-recv: A subset of EVRC-WB modes. Possible values are a
comma separated list of modes from the set {0,4,7} (see Table comma separated list of modes from the set {0,4,7} (see Table
2.5.1.2-1 [5]). A decoder can use this attribute to inform its 2.5.1.2-1 in 3GPP2 C.S0014-C). A decoder can use this attribute to
preference to an encoder to operate in a specified subset of modes. inform an encoder of its preference to operate in a specified subset
A value of 0 signals the support for wideband fixed rate (full or of modes. A value of 0 signals the support for wideband fixed rate
half rate, depending on the value of 'fixedrate' parameter). A value (full or half rate, depending on the value of 'fixedrate' parameter).
of 4 signals narroband fixed full rate. A value of 7 signals A value of 4 signals narroband fixed full rate. A value of 7 signals
narrowband fixed half rate. Absence of this parameter signals mode narrowband fixed half rate. Absence of this parameter signals mode
0. 0.
sendmode: A mode of the EVRC-WB codec. An encoder can use this to sendmode: A mode of the EVRC-WB codec. An encoder can use this to
signal its current mode of operation. Possible values are 0,4,7 (see signal its current mode of operation. Possible values are 0,4,7 (see
Table 2.5.1.2-1 in 3GPP2 C.S0014-C). 'sendmode' with value 0 signals Table 2.5.1.2-1 in 3GPP2 C.S0014-C). 'sendmode' with value 0 signals
wideband fixed rate operation (full or half rate, depending on the wideband fixed rate operation (full or half rate, depending on the
value of the 'fixedrate' parameter). 'sendmode' with value 4 signals value of the 'fixedrate' parameter). 'sendmode' with value 4 signals
narrowband fixed full rate operation. 'sendmode' with value 7 signals narrowband fixed full rate operation. 'sendmode' with value 7 signals
narrowband fixed half rate operation. The 'fixedrate' parameter MUST narrowband fixed half rate operation. The 'fixedrate' parameter MUST
not be present when the 'sendmode' value is 4 or 7. Absence of this not be present when the 'sendmode' value is 4 or 7. Absence of this
parameter signals mode 0. parameter signals mode 0.
ptime: see RFC 4566 [8]. ptime: see RFC 4566.
maxptime: see RFC 4566 [8]. maxptime: see RFC 4566.
fixedrate: Indicates the EVRC-WB rate of the session while in single fixedrate: Indicates the EVRC-WB rate of the session while in single
rate operation. Valid values include: 0.5 and 1, where a value of rate operation. Valid values include: 0.5 and 1, where a value of
0.5 indicates the 1/2 rate while a value of 1 indicates the full 0.5 indicates the 1/2 rate while a value of 1 indicates the full
rate. If this parameter is not present, 1/2 rate is assumed. rate. If this parameter is not present, 1/2 rate is assumed.
silencesupp: see Section 6.1 in RFC 4788. silencesupp: see Section 6.1 in RFC 4788.
dtxmax: see Section 6.1 in RFC 4788. dtxmax: see Section 6.1 in RFC 4788.
skipping to change at page 17, line 39 skipping to change at page 17, line 39
9.1.4. Updated Registration of Media Type audio/EVRCB 9.1.4. Updated Registration of Media Type audio/EVRCB
Type name: audio Type name: audio
Subtype names: EVRCB Subtype names: EVRCB
Required parameters: none Required parameters: none
Optional parameters: Optional parameters:
recvmode: A mode of EVRC-B codec. A decoder can use this attribute recvmode: A mode of the EVRC-B codec. A decoder can use this
to inform its preference to an encoder to operate in a specified attribute to inform an encoder of its preference to operate in a
mode. Possible values are 0..7 (see the encoder operating point specified mode. Possible values are 0..7 (see the encoder operating
column in Table 2-6 of 3GPP2 C.S0014-B). point column in Table 2-6 of 3GPP2 C.S0014-B).
sendmode: A mode of EVRC-B codec. An encoder can use this to signal sendmode: A mode of the EVRC-B codec. An encoder can use this to
its current mode of operation. Possible values are 0..7 (see encoder signal its current mode of operation. Possible values are 0..7 (see
operating point column in Table 2-6 of 3GPP2 C.S0014-B). encoder operating point column in Table 2-6 of 3GPP2 C.S0014-B).
ptime: see RFC 4566 ptime: see RFC 4566.
maxptime: see RFC 4566 [8]. maxptime: see RFC 4566.
maxinterleave: Maximum number for interleaving length (field LLL in maxinterleave: Maximum number for interleaving length (field LLL in
the Interleaving Octet). The interleaving lengths used in the entire the Interleaving Octet). The interleaving lengths used in the entire
session MUST NOT exceed this maximum value. If not signaled, the session MUST NOT exceed this maximum value. If not signaled, the
maxinterleave length MUST be 5. maxinterleave length MUST be 5.
silencesupp: see Section 6.1 of RFC 4788 for a definition. If this silencesupp: see Section 6.1 of RFC 4788 for a definition. If this
parameter is not present, the default value 1 MUST be assumed. parameter is not present, the default value 1 MUST be assumed.
dtxmax: see Section 6.1 of [3] dtxmax: see Section 6.1 of RFC 4788.
dtxmin: see Section 6.1 of [3] dtxmin: see Section 6.1 of RFC 4788.
hangover: see Section 6.1 of [3] hangover: see Section 6.1 of RFC 4788.
Encoding considerations: Encoding considerations:
This media type is framed binary data (see RFC 4288, Section 4.8) and This media type is framed binary data (see RFC 4288, Section 4.8) and
is defined for transfer of EVRC-B encoded data via RTP using the is defined for transfer of EVRC-B encoded data via RTP using the
Interleaved/Bundled packet format specified in RFC 3558. Interleaved/Bundled packet format specified in RFC 3558.
Security considerations: See Section 9 of RFC 4788. Security considerations: See Section 9 of RFC 4788.
Interoperability considerations: none Interoperability considerations: none
Published specification: Published specification:
The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. Transfer method The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. The transfer
with Interleaved/Bundled packet format via RTP is specified in RFC method with the Interleaved/Bundled packet format via RTP is
3558, RFC 4788 and RFC XXXX. specified in RFC 3558, RFC 4788 and RFC XXXX.
Applications that use this media type: Applications that use this media type:
It is expected that many VoIP applications (as well as mobile It is expected that many VoIP applications (as well as mobile
applications) will use this type. applications) will use this type.
Additional information: The following information applies for the Additional information: The following information applies for the
storage format only. storage format only.
Magic number: #!EVRC-B\n (see Section 5 of RFC 4788) Magic number: #!EVRC-B\n (see Section 5 of RFC 4788)
skipping to change at page 19, line 35 skipping to change at page 19, line 35
Type name: audio Type name: audio
Subtype names: EVRCB0 Subtype names: EVRCB0
Required parameters: none Required parameters: none
Optional parameters: Optional parameters:
recvmode: A mode of the EVRC-B codec. A decoder can use this recvmode: A mode of the EVRC-B codec. A decoder can use this
attribute to inform its preference to an encoder to operate in a attribute to inform an encoder of its preference to operate in a
specified mode. Possible values are 0..7 (see the encoder operating specified mode. Possible values are 0..7 (see the encoder operating
point column in Table 2-6 of 3GPP2 C.S0014-B). point column in Table 2-6 of 3GPP2 C.S0014-B).
sendmode: A mode of EVRC-B codec. An encoder can use this to signal sendmode: A mode of the EVRC-B codec. An encoder can use this to
its current mode of operation. Possible values are a comma separated signal its current mode of operation. Possible values are 0..7 (see
list of modes from the set: 0..7 (see encoder operating point column the encoder operating point column in Table 2-6 of 3GPP2 C.S0014-B).
in Table 2-6 [4]).
silencesupp: see Section 6.1 of RFC 4788 for a definition. If this silencesupp: see Section 6.1 of RFC 4788 for a definition. If this
parameter is not present, the default value 1 MUST be assumed. parameter is not present, the default value 1 MUST be assumed.
dtxmax: see Section 6.1 of RFC 4788. dtxmax: see Section 6.1 of RFC 4788.
dtxmin: see Section 6.1 of RFC 4788. dtxmin: see Section 6.1 of RFC 4788.
hangover: see Section 6.1 of RFC 4788. hangover: see Section 6.1 of RFC 4788.
skipping to change at page 20, line 17 skipping to change at page 20, line 15
This media type is framed binary data (see RFC 4288, Section 4.8) and This media type is framed binary data (see RFC 4288, Section 4.8) and
is defined for transfer of EVRC-B encoded data via RTP using the is defined for transfer of EVRC-B encoded data via RTP using the
Header-Free packet format specified in RFC 3558. Header-Free packet format specified in RFC 3558.
Security considerations: See Section 9 of RFC 4788. Security considerations: See Section 9 of RFC 4788.
Interoperability considerations: none Interoperability considerations: none
Published specification: Published specification:
The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. Transfer method The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. The transfer
with Header-Free packet format via RTP is specified in RFC 3558, RFC method with the Header-Free packet format via RTP is specified in RFC
4788 and RFC XXXX. 3558, RFC 4788 and RFC XXXX.
Applications that use this media type: Applications that use this media type:
It is expected that many VoIP applications (as well as mobile It is expected that many VoIP applications (as well as mobile
applications) will use this type. applications) will use this type.
Additional information: none Additional information: none
Person & email address to contact for further information: Person & email address to contact for further information:
Harikishan Desineni <hd@qualcomm.com> Harikishan Desineni <hd@qualcomm.com>
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: Restrictions on usage:
This basic form of this media type depends on RTP framing, and hence This media type depends on RTP framing, and hence is only defined for
is only defined for transfer via RTP (RFC 3550). For storage and/or transfer via RTP (RFC 3550). Transfer within other framing protocols
transfer within other protocols, the storage format according to the is not defined at this time.
Additional Information clause above must be used.
Author: Author:
Qiaobing Xie / Harikishan Desineni Qiaobing Xie / Harikishan Desineni
Change controller: Change controller:
IETF Audio/Video Transport working group delegated from the IESG. IETF Audio/Video Transport working group delegated from the IESG.
10. SDP mode attributes for EVRC-WB and EVRC-B 10. SDP mode attributes for EVRC-WB and EVRC-B
skipping to change at page 22, line 5 skipping to change at page 22, line 5
'mode-set-recv' is defined for use with EVRC-WB. A decoder can use 'mode-set-recv' is defined for use with EVRC-WB. A decoder can use
this attribute to inform an encoder of its preference to operate in a this attribute to inform an encoder of its preference to operate in a
specified subset of modes. The receiver will continue to decode specified subset of modes. The receiver will continue to decode
properly even if the sender does not operate in one of the preferred properly even if the sender does not operate in one of the preferred
modes. A set has been defined so that several modes can be expressed modes. A set has been defined so that several modes can be expressed
as a preference in one attempt. For instance, the set {4,7} signals as a preference in one attempt. For instance, the set {4,7} signals
that the receiver prefers the sender to operate in narrowband modes that the receiver prefers the sender to operate in narrowband modes
of EVRC-WB. of EVRC-WB.
11. EVRC-B RFC XXXX Interoperability with legacy EVRC-B (RFC 4788) 11. EVRC-B Interoperability with legacy implementations (RFC 4788)
implementations
This document adds new optional parameters "recvmode" and "sendmode" This document adds new optional parameters "recvmode" and "sendmode"
to the original EVRC-B Media types "audio/EVRCB" and "audio/EVRCB0" to the original EVRC-B Media types "audio/EVRCB" and "audio/EVRCB0"
defined in RFC 4788. Existing RFC 4788 implementations will not send defined in RFC 4788 [3]. Existing RFC 4788 [3] implementations will
these parameters in SDP and will ignore them if they are received. not send these parameters in SDP and will ignore them if they are
This will allow interoperability between RFC 4788 and RFC XXXX received. This will allow interoperability between RFC 4788 [3] and
implementations of EVRC-B. For an example offer and answer exchange, RFC XXXX implementations of EVRC-B. For an example offer and answer
see Section 17. exchange, see Section 17.
12. Mapping EVRC-WB media type parameters into SDP 12. Mapping EVRC-WB media type parameters into SDP
Information carried in the media type specification has a specific Information carried in the media type specification has a specific
mapping to fields in the Session Description Protocol (SDP) [8], mapping to fields in the Session Description Protocol (SDP) [8],
which is commonly used to describe RTP sessions. When SDP is used to which is commonly used to describe RTP sessions. When SDP is used to
specify sessions employing EVRC-WB encoded speech, the mapping is as specify sessions employing EVRC-WB encoded speech, the mapping is as
follows. follows.
The media type ("audio") goes in SDP "m=" as the media name. o The media type ("audio") goes in SDP "m=" as the media name.
o The media subtype ("EVRCWB", "EVRCWB0" or "EVRCWB1") goes in SDP o The media subtype ("EVRCWB", "EVRCWB0" or "EVRCWB1") goes in SDP
"a=rtpmap" as the encoding name. "a=rtpmap" as the encoding name.
o The optional parameters "ptime" and "maxptime" (for subtypes o The optional parameters 'ptime and 'maxptime' (for subtypes
EVRCWB, EVRCWB1) go in the SDP "a=ptime" and "a=maxptime" EVRCWB, EVRCWB1) go in the SDP "a=ptime" and "a=maxptime"
attributes, respectively. attributes, respectively.
o Any remaining parameters (for subtypes EVRCWB, EVRCWB0 and o Any remaining parameters (for subtypes EVRCWB, EVRCWB0 and
EVRCWB1) go in the SDP "a=fmtp" attribute by copying them from the EVRCWB1) go in the SDP "a=fmtp" attribute by copying them from the
media type string as a semicolon separated list of parameter=value media type string as a semicolon separated list of parameter=value
pairs. pairs.
13. Mapping EVRC-B media type parameters into SDP 13. Mapping EVRC-B media type parameters into SDP
The new optional parameters "recvmode" and "sendmode" (for 'audio' The new optional parameters 'recvmode' and 'sendmode' (for 'audio'
subtypes EVRCB and EVRCB0) go in the SDP "a=fmtp" attribute by subtypes EVRCB and EVRCB0) go in the SDP "a=fmtp" attribute by
copying them directly from the media type string. copying them directly from the media type string.
For all other Media Type parameteres, the specification in Section For all other Media Type parameteres, the specification in Section
6.7 of RFC 4788 [3] still applies. 6.7 of RFC 4788 [3] still applies.
14. Offer-Answer Model Considerations for EVRC-WB 14. Offer-Answer Model Considerations for EVRC-WB
The following considerations apply when using the SDP offer-answer The following considerations apply when using the SDP offer-answer
procedures [7] to negotiate the use of EVRC-WB payload in RTP: procedures of RFC 3264 [7] to negotiate the use of EVRC-WB payload in
RTP:
o Since EVRC-WB is an extension of EVRC-B, the offerer SHOULD o Since EVRC-WB is an extension of EVRC-B, the offerer SHOULD
announce EVRC-B support in its "m=audio" line, with EVRC-WB as the announce EVRC-B support in its "m=audio" line, with EVRC-WB as the
preferred codec. This will allow interoperability with an preferred codec. This will allow interoperability with an
answerer which supports only EVRC-B. answerer which supports only EVRC-B.
Below is an example of such an offer: Below is an example of such an offer:
m=audio 55954 RTP/AVP 98 99 m=audio 55954 RTP/AVP 98 99
a=rtpmap:98 EVRCWB0/16000 a=rtpmap:98 EVRCWB0/16000
skipping to change at page 25, line 35 skipping to change at page 25, line 36
using EVRC-WB. Else, if the answerer supports only EVRC-B then using EVRC-WB. Else, if the answerer supports only EVRC-B then
the answerer will leave only the payload type 99 in its answer and the answerer will leave only the payload type 99 in its answer and
the conversation will be done using EVRC-B. the conversation will be done using EVRC-B.
An example answer for the above offer: An example answer for the above offer:
m=audio 55954 RTP/AVP 98 m=audio 55954 RTP/AVP 98
a=rtpmap:98 EVRCWB0/16000 a=rtpmap:98 EVRCWB0/16000
a=fmtp:98 mode-set-recv=4;sendmode=4 a=fmtp:98 mode-set-recv=4;sendmode=4
o "mode-set-recv" is a uni-directional receive only parameter. o 'mode-set-recv' is a uni-directional receive only parameter.
o "sendmode" is a uni-directional send only parameter. o 'sendmode' is a uni-directional send only parameter.
o Using 'sendmode', a sender can signal its current mode of o Using 'sendmode', a sender can signal its current mode of
operation. Note that a receiver may receive RTP media well before operation. Note that a receiver may receive RTP media well before
the arrival of SDP with a (first time, or updated) 'sendmode' the arrival of SDP with a (first time, or updated) 'sendmode'
parameter. parameter.
o An offerer can use 'mode-set-recv' to request that the remote o An offerer can use 'mode-set-recv' to request that the remote
sender's encoder be limited to the list of modes signaled in sender's encoder be limited to the list of modes signaled in
'mode-set-recv'. A remote sender MAY ignore 'mode-set-recv' 'mode-set-recv'. A remote sender MAY ignore 'mode-set-recv'
requests. requests.
o The parameters "maxptime" and "ptime" will in most cases not o The parameters 'maxptime' and 'ptime' will in most cases not
affect interoperability, however the setting of the parameters can affect interoperability, however the setting of the parameters can
affect the performance of the application. The SDP offer-answer affect the performance of the application. The SDP offer-answer
handling of the "ptime" parameter is described in RFC3264 [7]. handling of the 'ptime' parameter is described in RFC 3264 [7].
The 'maxptime' parameter MUST be handled in the same way.
The "maxptime" parameter MUST be handled in the same way.
o For a sendonly stream, the 'mode-set-recv' parameter is not useful o For a sendonly stream, the 'mode-set-recv' parameter is not useful
and SHOULD NOT be used. and SHOULD NOT be used.
o For a recvonly stream, the 'sendmode' parameter is not useful and o For a recvonly stream, the 'sendmode' parameter is not useful and
SHOULD NOT be used. SHOULD NOT be used.
o When using EVRCWB1, the entire session MUST use the same fixed o When using EVRCWB1, the entire session MUST use the same fixed
rate and mode (0-Wideband or 4,7-Narrowband). rate and mode (0-Wideband or 4,7-Narrowband).
skipping to change at page 27, line 10 skipping to change at page 27, line 10
parameters, see Section 6.8 in [3]. parameters, see Section 6.8 in [3].
o Any unknown parameter in an SDP offer MUST be ignored by the o Any unknown parameter in an SDP offer MUST be ignored by the
receiver and MUST NOT be included in the SDP answer. receiver and MUST NOT be included in the SDP answer.
15. Offer-Answer Model Considerations for EVRC-B 15. Offer-Answer Model Considerations for EVRC-B
See Section 6.8 of [3] for offer-answer usage of EVRC-B. The See Section 6.8 of [3] for offer-answer usage of EVRC-B. The
following are several additional considerations for EVRC-B. following are several additional considerations for EVRC-B.
o "recvmode" is a uni-directional receive only parameter. o 'recvmode' is a uni-directional receive only parameter.
o "sendmode" is a uni-directional send only parameter. o 'sendmode' is a uni-directional send only parameter.
o Using 'recvmode', a receiver can signal the remote sender to o Using 'recvmode', a receiver can signal the remote sender to
operate its encoder in the specified mode. A remote sender MAY operate its encoder in the specified mode. A remote sender MAY
ignore "recvmode" requests. ignore 'recvmode' requests.
o Using 'sendmode', a sender can signal its current mode of o Using 'sendmode', a sender can signal its current mode of
operation. Note that a receiver may receive RTP media well before operation. Note that a receiver may receive RTP media well before
the arrival of SDP with a (first time, or updated)'sendmode' the arrival of SDP with a (first time, or updated)'sendmode'
parameter. parameter.
o For a sendonly stream, the 'recvmode' parameter is not useful and o For a sendonly stream, the 'recvmode' parameter is not useful and
SHOULD NOT be used. SHOULD NOT be used.
o For a recvonly stream, the 'sendmode' parameter is not useful and o For a recvonly stream, the 'sendmode' parameter is not useful and
SHOULD NOT be used. SHOULD NOT be used.
16. Declarative SDP Considerations 16. Declarative SDP Considerations
For declarative use of SDP in SAP [11] and RTSP [12] , the following For declarative use of SDP in SAP [11] and RTSP [12] , the following
considerations apply: considerations apply:
o Any "maxptime" and "ptime" values should be selected with care to o Any 'maxptime' and 'ptime' values should be selected with care to
ensure that the session's participants can achieve reasonable ensure that the session's participants can achieve reasonable
performance. performance.
o The payload format configuration parameters are all declarative o The payload format configuration parameters are all declarative
and a participant MUST use the configuration(s) that is provided and a participant MUST use the configuration(s) that is provided
for the session. More than one configuration may be provided if for the session. More than one configuration may be provided if
necessary by declaring multiple RTP payload types, however the necessary by declaring multiple RTP payload types, however the
number of types should be kept small. For declarative examples, number of types should be kept small. For declarative examples,
see Section 17 see Section 17
skipping to change at page 33, line 7 skipping to change at page 33, line 7
Answer from an answerer which supports updated Answer from an answerer which supports updated
EVRC-B (RFC XXXX) implementation: EVRC-B (RFC XXXX) implementation:
m=audio 55954 RTP/AVP 99 m=audio 55954 RTP/AVP 99
a=rtpmap:99 EVRCB0/8000 a=rtpmap:99 EVRCB0/8000
a=fmtp:99 recvmode=0 sendmode=4 a=fmtp:99 recvmode=0 sendmode=4
18. Security Considerations 18. Security Considerations
Implementations using the payload defined in this specification are Since compression is applied to the payload formats end-to-end, and
subject to the security considerations discussed in RFC3558 [2], the encodings do not exhibit significant non-uniformity,
RFC3550 [6], and any appropriate profile (for example RFC3551 [10]). implementations of this specification are subject to all the security
This payload does not specify any different security services. considerations specified in RFC 3558 [2]. Implementations using the
payload defined in this specification are subject to the security
considerations discussed in RFC 3558 [2], RFC 3550 [6] and any
appropriate profile (for example RFC 3551 [10]).
19. Changes to RFC4788 19. Changes to RFC4788
This document updates RFC 4788 and the updates are summarized below: This document updates RFC 4788 [3] and the updates are summarized
below:
o Added new media type attribute "sendmode" to media sub-types EVRCB o Added new media type attribute "sendmode" to media sub-types EVRCB
and EVRCB0. This attribute can be used to signal the EVRC-B and EVRCB0. This attribute can be used to signal the EVRC-B
encoder's current mode of operation. encoder's current mode of operation.
o Added new media type attribute "recvmode" to media sub-types EVRCB o Added new media type attribute "recvmode" to media sub-types EVRCB
and EVRCB0. This attribute can be used to signal the EVRC-B and EVRCB0. This attribute can be used to signal the EVRC-B
decoder's preferred operating mode to a remote sender. decoder's preferred operating mode to a remote sender.
20. References 20. References
 End of changes. 48 change blocks. 
90 lines changed or deleted 91 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/