Internet DRAFT - draft-hdesinen-avt-rtp-evrc-wb
draft-hdesinen-avt-rtp-evrc-wb
Network Working Group H. Desineni
Internet-Draft Qualcomm
Updates: YYYY (if approved) Q. Xie
Expires: May 31, 2007 Motorola
November 27, 2006
RTP payload format for EVRC-WB codec and MIME updates for EVRC-B codec
draft-hdesinen-avt-rtp-evrc-wb-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
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
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 31, 2007.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document specifies real-time transport protocol (RTP) payload
formats to be used for the EVRC wideband codec (EVRC-WB) and updates
the MIME registrations for EVRC-B codec. Several media type
registrations are included for EVRC-WB RTP payload formats. In
addition, a file format is specified for transport of EVRC-WB speech
data in storage mode applications such as e-mail.
Desineni & Xie Expires May 31, 2007 [Page 1]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. EVRC-WB codec . . . . . . . . . . . . . . . . . . . . . . . . 6
5. RTP header usage . . . . . . . . . . . . . . . . . . . . . . . 7
6. Payload format . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Congestion Control Considerations . . . . . . . . . . . . . . 9
8. Storage format for EVRC-WB Codec . . . . . . . . . . . . . . . 10
9. Media type definitions . . . . . . . . . . . . . . . . . . . . 11
9.1. Registration of Media Type EVRCWB . . . . . . . . . . . . 11
9.2. Registration of Media Type EVRCWB0 . . . . . . . . . . . . 13
9.3. Registration of Media Type EVRCWB1 . . . . . . . . . . . . 15
9.4. Updated Registration of Media Type EVRCB . . . . . . . . . 17
9.5. Updated Registration of Media Type EVRCB0 . . . . . . . . 19
9.6. Updated Registration of Media Type EVRCB1 . . . . . . . . 20
10. EVRC-B RFC XXXX Interoperability with legacy EVRC-B (RFC
YYYY) implementations . . . . . . . . . . . . . . . . . . . . 23
11. Mapping MIME Parameters into SDP . . . . . . . . . . . . . . . 24
12. Offer-Answer Model Considerations for EVRC-WB . . . . . . . . 25
13. Offer-Answer Model Considerations for EVRC-B . . . . . . . . . 27
14. Declarative SDP Considerations . . . . . . . . . . . . . . . . 28
15. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33
17. Security Considerations . . . . . . . . . . . . . . . . . . . 34
18. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35
18.1. Normative References . . . . . . . . . . . . . . . . . . . 35
18.2. Informative References . . . . . . . . . . . . . . . . . . 35
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37
Intellectual Property and Copyright Statements . . . . . . . . . . 38
Desineni & Xie Expires May 31, 2007 [Page 2]
Internet-Draft EVRC-WB RTP Payload Format November 2006
1. Introduction
This document specifies the payload formats for packetization of
EVRC-WB encoded speech signals into the real-time transport protocol
(RTP).It defines support for the header-free, interleaved/bundled and
compact bundle packet formats for the EVRC-WB codec as well as
discontinuous transmission (DTX) support for EVRC-WB encoded speech
transported via RTP.EVRC-WB codec offers better speech quality than
EVRC and EVRC-B codecs. EVRC-WB belongs to the EVRC family of
codecs.This document also updates the MIME registrations for EVRC-B
codec.
[-- RFC Editor: Please replace "YYYY" in the "Updates" header of this
document with the RFC number of [2] prior to RFC publication, and
remove this note.]
Desineni & Xie Expires May 31, 2007 [Page 3]
Internet-Draft EVRC-WB RTP Payload Format November 2006
2. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [1].
Desineni & Xie Expires May 31, 2007 [Page 4]
Internet-Draft EVRC-WB RTP Payload Format November 2006
3. Background
EVRC-WB is a wideband extension of EVRC-B [4] speech codec developed
in 3GPP2 with support for discontinuous transmission (DTX). It
provides enhanced (wideband) voice quality.
EVRC-WB codec operates on 20 ms frames, and the default sampling rate
is 16 kHz. Input and output at 8 kHz sampling rate is also
supported. EVRC-WB modes are defined in [5]. EVRC-WB mode 4 is
interoperable with EVRC-B. EVRC-WB provides a standardized solution
for packetized voice applications that allow transitions between
narrowband and wideband telephony. The most important service
addressed is IP telephony. Target devices can be IP phones or VoIP
handsets, media gateways, voice messaging servers, etc.
Desineni & Xie Expires May 31, 2007 [Page 5]
Internet-Draft EVRC-WB RTP Payload Format November 2006
4. EVRC-WB codec
EVRC-WB codec operates on 20 ms frames. It produces output frames of
one of the three different sizes: 171 bits, 80 bits or 16 bits. In
addition, there are two zero bit codec frame types: null frames and
erasure frames. The default sampling rate is 16 kHz. Input and
output at 8 kHz sampling rate is also supported.
The frame type values and size of the associated codec data frame are
listed in the table below:
Value Rate Total codec data frame size (in octets)
--------------------------------------------------------------------
0 Blank 0 (0 bit)
1 1/8 2 (16 bits)
2 1/4 5 (40 bits; not valid for EVRC-WB)
3 1/2 10 (80 bits)
4 1 22 (171 bits; 5 bits padded at the end)
5 Erasure 0 (SHOULD NOT be transmitted by sender)
Desineni & Xie Expires May 31, 2007 [Page 6]
Internet-Draft EVRC-WB RTP Payload Format November 2006
5. RTP header usage
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
in a manner consistent with RFC 3550.
EVRC-WB has also the capability to operate with 8 kHz sampled input/
output signals. The decoder does not require a priori knowledge
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
the sampling rate used at the encoder. Therefore, depending on the
implementation and the audio electro acoustic capabilities of the
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
always be used. The RTP timestamp is increased by 320 for each 20
milliseconds.
The assignment of an RTP payload type for the payload formats
described in Section 6 is outside the scope of the document, and will
not be specified here. It is expected that the RTP profile under
which this payload format is being used will assign a payload type
for this codec or specify that the payload type is to be bound
dynamically (see Section 11).
Desineni & Xie Expires May 31, 2007 [Page 7]
Internet-Draft EVRC-WB RTP Payload Format November 2006
6. Payload format
Three RTP packet formats are supported for the EVRC-WB codec - the
interleaved/bundled packet format, the header-free packet format and
the compact bundled packet format. For all these formats, the
operational details and capabilities, such as ToC, interleaving, DTX,
and bundling, of EVRC-WB are exactly the same as those of EVRC-B, as
defined in [4], except that the mode change request field in the ToC
MUST be interpreted according to the definition of the RATE_REDUC
parameter as defined in EVRC-WB [5].
Desineni & Xie Expires May 31, 2007 [Page 8]
Internet-Draft EVRC-WB RTP Payload Format November 2006
7. Congestion Control Considerations
Congestion control for RTP SHALL be used in accordance with RFC 3550
[6], and with any applicable RTP profile; e.g., RFC 3551 [13].
Due to the header overhead, the number of frames encapsulated in each
RTP packet influences the overall bandwidth of the RTP stream.
Packing more frames in each RTP packet can reduce the number of
packets sent and hence the header overhead, at the expense of
increased delay and reduced error robustness.
Desineni & Xie Expires May 31, 2007 [Page 9]
Internet-Draft EVRC-WB RTP Payload Format November 2006
8. Storage format for EVRC-WB Codec
The storage format is used for storing EVRC-WB encoded speech frames,
e.g., as a file or e-mail attachment.
The file begins with a magic number to identify the vocoder that is
used. The magic number for EVRC-WB corresponds to the ASCII
character string "#!EVCWB\n", i.e., "0x23 0x21 0x45 0x56 0x43 0x57
0x42 0x0A".
The codec data frames are stored in consecutive order, with a single
TOC entry field, extended to one octet, prefixing each codec data
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
of 4 (a full-rate frame) is stored as 0x04. See Section 4 for the
mapping from frame type to ToC value.
Speech frames lost in transmission and non-received frames MUST be
stored as erasure frames to maintain synchronization with the
original media.
Desineni & Xie Expires May 31, 2007 [Page 10]
Internet-Draft EVRC-WB RTP Payload Format November 2006
9. Media type definitions
9.1. Registration of Media Type EVRCWB
Type name: audio
Subtype names: EVRCWB
Required parameters: none
Optional parameters:
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 XX [5]).
A decoder can use this to signal an encoder to limit its modes to the
specified subset. Absence of this parameter signals a set of all
EVRC-WB modes.
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 Table XX [5]).
ptime: see RFC 4566 [10].
maxptime: The maximum amount of media which can be encapsulated in
each packet, expressed as time in milliseconds. The time MUST be
calculated as the sum of the time the media present in the packet
represents. The time SHOULD be a multiple of the duration of a
single codec data frame (20 msec). If not signaled, the default
maxptime value MUST be 200 milliseconds.
maxinterleave: Maximum number for interleaving length (field LLL in
the Interleaving Octet). The interleaving lengths used in the entire
session MUST NOT exceed this maximum value. If not signaled, the
maxinterleave length MUST be 5.
silencesupp: see Section 6.1 in [2]
dtxmax: see Section 6.1 in [2]
dtxmin: see Section 6.1 in [2]
hangover: see Section 6.1 in [2]
Encoding considerations:
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
Desineni & Xie Expires May 31, 2007 [Page 11]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Interleaved/Bundled packet format specified in RFC 3558 [14].
Security considerations: See Section 17 of RFC XXXX.
Interoperability considerations: none
Published specification:
The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C [5]. Transfer
method with Interleaved/Bundled packet format via RTP is specified in
RFC 3558 and RFC XXXX.
3GPP2 C.S0050-A, 3GPP2 File Formats for Multimedia Services.
3GPP2 specifications are publicly accessible at http://www.3gpp2.org
Applications that use this media type:
It is expected that many VoIP applications (as well as mobile
applications) will use this type.
Additional information:
The following information applies for storage format only.
Magic number: #!EVCWB\n (see Section 8 of RFC XXXX)
File extensions: evw, EVW
Macintosh file type code: none
Object identifier or OID: none
EVRC-WB speech frames may also be stored in the file format "3g2"
defined in 3GPP2 C.S0050-A, which is identified using the media types
"audio/3gpp2" or "video/3gpp2" registered by RFC4393.
Person & email address to contact for further information:
Harikishan Desineni <hd@qualcomm.com>
Intended usage: COMMON
Restrictions on usage:
This media type may be used with RTP framing (RFC 3550 [6]) and as a
storage format. When used with RTP, the procedures in Section 6 MUST
be followed. In all other contexts, the storage format defined in
Desineni & Xie Expires May 31, 2007 [Page 12]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Section 8 MAY be used.
Author:
Harikishan Desineni
Change controller:
IETF Audio/Video Transport working group delegated from the IESG.
9.2. Registration of Media Type EVRCWB0
Type name: audio
Subtype names: EVRCWB0
Required parameters:
Optional parameters:
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 XX [5]).
A decoder can use this to signal an encoder to limit its modes to the
specified subset. Absence of this parameter signals a set of all
EVRC-WB modes.
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 Table XX [5]).
ptime: see RFC 4566 [10].
silencesupp: see Section 6.1 in [2]
dtxmax: see Section 6.1 in [2]
dtxmin: see Section 6.1 in [2]
hangover: see Section 6.1 in [2]
Encoding considerations:
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
Header-Free packet format specified in RFC 3558.
Security considerations: See Section 17 of RFC XXXX.
Desineni & Xie Expires May 31, 2007 [Page 13]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Interoperability considerations: none
Published specification:
The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C [5]. Transfer
method with header free packet format via RTP is specified in RFC
3558 and RFC XXXX.
3GPP2 C.S0050-A, 3GPP2 File Formats for Multimedia Services.
3GPP2 specifications are publicly accessible at http://www.3gpp2.org
Applications that use this media type:
It is expected that many VoIP applications (as well as mobile
applications) will use this type.
Additional information:
The following information applies for storage format only.
Magic number: #!EVCWB\n (see Section 8 of RFC XXXX)
File extensions: evw, EVW
Macintosh file type code: none
Object identifier or OID: none
EVRC-WB speech frames may also be stored in the file format "3g2"
defined in 3GPP2 C.S0050-A, which is identified using the media types
"audio/3gpp2" or "video/3gpp2" registered by RFC4393.
Person & email address to contact for further information:
Harikishan Desineni <hd@qualcomm.com>
Intended usage: COMMON
Restrictions on usage:
This media type may be used with RTP framing (RFC 3550) and as a
storage format. When used with RTP, the procedures in Section 6 MUST
be followed. In all other contexts, the storage format defined in
Section 8 MAY be used.
Author:
Desineni & Xie Expires May 31, 2007 [Page 14]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Harikishan Desineni
Change controller:
IETF Audio/Video Transport working group delegated from the IESG.
9.3. Registration of Media Type EVRCWB1
Type name: audio
Subtype names: EVRCWB1
Required parameters:
Optional parameters:
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 XX [5]).
A decoder can use this to signal an encoder to limit its modes to the
specified subset. Absence of this parameter signals a set of all
EVRC-WB modes.
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 Table XX [5]).
ptime: see RFC 4566 [10].
maxptime: The maximum amount of media which can be encapsulated in
each packet, expressed as time in milliseconds. The time MUST be
calculated as the sum of the time the media present in the packet
represents. The time SHOULD be an integer multiple of the duration
of a single codec data frame (20 msec). If not signaled, the default
maxptime value MUST be 200 milliseconds.
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
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.
silencesupp: see Section 6.1 in [2]
dtxmax: see Section 6.1 in [2]
dtxmin: see Section 6.1 in [2]
hangover: see Section 6.1 in [2]
Desineni & Xie Expires May 31, 2007 [Page 15]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Encoding considerations:
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
compact bundle packet format specified in RFC YYYY.
Security considerations: See Section 17 of RFC XXXX.
Interoperability considerations: none
Published specification:
The EVRC-WB vocoder is specified in 3GPP2 C.S0014-C. Transfer method
with compact bundled packet format via RTP is specified in RFC YYYY
and RFC XXXX.
3GPP2 C.S0050-A, 3GPP2 File Formats for Multimedia Services.
3GPP2 specifications are publicly accessible at http://www.3gpp2.org
Applications that use this media type:
It is expected that many VoIP applications (as well as mobile
applications) will use this type.
Additional information:
The following information applies for storage format only.
Magic number: #!EVCWB\n (see Section 8 of RFC XXXX)
File extensions: evw, EVW
Macintosh file type code: none
Object identifier or OID: none
EVRC-WB speech frames may also be stored in the file format "3g2"
defined in 3GPP2 C.S0050-A, which is identified using the media types
"audio/3gpp2" or "video/3gpp2" registered by RFC 4393.
Person & email address to contact for further information:
Harikishan Desineni <hd@qualcomm.com>
Intended usage: COMMON
Restrictions on usage:
Desineni & Xie Expires May 31, 2007 [Page 16]
Internet-Draft EVRC-WB RTP Payload Format November 2006
This media type may be used with RTP framing (RFC 3550 [6]) and as a
storage format. When used with RTP, the procedures in Section 6 MUST
be followed. In all other contexts, the storage format defined in
Section 8 MAY be used.
Author:
Harikishan Desineni
Change controller:
IETF Audio/Video Transport working group delegated from the IESG.
9.4. Updated Registration of Media Type EVRCB
Type name: audio
Subtype names: EVRCB
Required parameters: none
Optional parameters:
recvmode: A mode of EVRC-B codec. A decoder can use this to signal
an encoder to operate in the specified mode. Possible values are a
comma separated list of modes from the set: 0..7 (see encoder
operating point column in Table 2-6 [4]).
sendmode: A mode of EVRC-B codec. An encoder can use this to signal
its current mode of operation. Possible values are a comma separated
list of modes from the set: 0..7 (see encoder operating point column
in Table 2-6 [4]).
ptime: see RFC 4566
maxptime: The maximum amount of media which can be encapsulated in
each packet, expressed as time in milliseconds. The time MUST be
calculated as the sum of the time the media present in the packet
represents. The time SHOULD be a multiple of the duration of a
single codec data frame (20 msec). If not signaled, the default
maxptime value MUST be 200 milliseconds.
maxinterleave: Maximum number for interleaving length (field LLL in
the Interleaving Octet). The interleaving lengths used in the entire
session MUST NOT exceed this maximum value. If not signaled, the
maxinterleave length MUST be 5.
silencesupp: see Section 6.1 for definition. If this parameter is
Desineni & Xie Expires May 31, 2007 [Page 17]
Internet-Draft EVRC-WB RTP Payload Format November 2006
not present, the default value 1 MUST be assumed.
dtxmax: see Section 6.1 of [2]
dtxmin: see Section 6.1 of [2]
hangover: see Section 6.1 of [2]
Encoding considerations:
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
Interleaved/Bundled packet format specified in RFC 3558.
Security considerations: See Section 9 of RFC YYYY.
Interoperability considerations: none
Published specification:
The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. Transfer method
with Interleaved/Bundled packet format via RTP is specified in RFC
3558,RFC XXXX and RFC YYYY.
Applications that use this media type:
It is expected that many VoIP applications (as well as mobile
applications) will use this type.
Additional information: The following information applies for storage
format only. Magic number: #!EVRC-B\n (see Section 5 of RFC YYYY)
File extensions: evb, EVB Macintosh file type code: none Object
identifier or OID: none
Person & email address to contact for further information:
Harikishan Desineni <hd@qualcomm.com>
Intended usage: COMMON
Restrictions on usage:
This media type depends on RTP framing, and hence is only defined for
transfer via RTP (RFC 3550). Transfer within other framing protocols
is not defined at this time.
Author:
Desineni & Xie Expires May 31, 2007 [Page 18]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Qiaobing Xie / Harikishan Desineni
Change controller:
IETF Audio/Video Transport working group delegated from the IESG.
9.5. Updated Registration of Media Type EVRCB0
Type name: audio
Subtype names: EVRCB0
Required parameters: none
Optional parameters:
recvmode: A mode of EVRC-B codec. A decoder can use this to signal
an encoder to operate in the specified mode. Possible values are a
comma separated list of modes from the set: 0..7 (see encoder
operating point column in Table 2-6 [4]).
sendmode: A mode of EVRC-B codec. An encoder can use this to signal
its current mode of operation. Possible values are a comma separated
list of modes from the set: 0..7 (see encoder operating point column
in Table 2-6 [4]).
silencesupp: see Section 6.1 for definition. If this parameter is
not present, the default value 1 MUST be assumed.
dtxmax: see Section 6.1 of [2]
dtxmin: see Section 6.1 of [2]
hangover: see Section 6.1 of [2]
Encoding considerations:
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
Header-Free packet format specified in RFC 3558.
Security considerations: See Section 9 of RFC YYYY.
Interoperability considerations: none
Published specification:
The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. Transfer method
Desineni & Xie Expires May 31, 2007 [Page 19]
Internet-Draft EVRC-WB RTP Payload Format November 2006
with Header-Free packet format via RTP is specified in RFC 3558, RFC
YYYY and RFC XXXX.
Applications that use this media type:
It is expected that many VoIP applications (as well as mobile
applications) will use this type.
Additional information: none
Person & email address to contact for further information:
Harikishan Desineni <hd@qualcomm.com>
Intended usage: COMMON
Restrictions on usage:
This media type depends on RTP framing, and hence is only defined for
transfer via RTP (RFC 3550). Transfer within other framing protocols
is not defined at this time.
Author:
Qiaobing Xie / Harikishan Desineni
Change controller:
IETF Audio/Video Transport working group delegated from the IESG.
9.6. Updated Registration of Media Type EVRCB1
Type name: audio
Subtype names: EVRCB1
Required parameters: none
Optional parameters:
recvmode: A mode of EVRC-B codec. A decoder can use this to signal
an encoder to operate in the specified mode. Possible values are a
comma separated list of modes from the set: 0..7 (see encoder
operating point column in Table 2-6 [4]).
sendmode: A mode of EVRC-B codec. An encoder can use this to signal
its current mode of operation. Possible values are a comma separated
list of modes from the set: 0..7 (see encoder operating point column
Desineni & Xie Expires May 31, 2007 [Page 20]
Internet-Draft EVRC-WB RTP Payload Format November 2006
in Table 2-6 [4]).
silencesupp: see Section 6.1 for definition. If this parameter is
not present, the default value 1 MUST be assumed.
dtxmax: see Section 6.1 of [2]
dtxmin: see Section 6.1 of [2]
hangover: see Section 6.1 of [2]
Encoding considerations:
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
compact bundle packet format specified in RFC YYYY.
Security considerations: See Section 9 of RFC YYYY.
Interoperability considerations: none
Published specification:
The EVRC-B vocoder is specified in 3GPP2 C.S0014-B. Transfer method
with compact bundle packet format via RTP is specified in RFC YYYY
and RFC XXXX.
Applications that use this media type:
It is expected that many VoIP applications (as well as mobile
applications) will use this type.
Additional information: none
Person & email address to contact for further information:
Harikishan Desineni <hd@qualcomm.com>
Intended usage: COMMON
Restrictions on usage:
This media type depends on RTP framing, and hence is only defined for
transfer via RTP (RFC 3550). Transfer within other framing protocols
is not defined at this time.
Author:
Desineni & Xie Expires May 31, 2007 [Page 21]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Qiaobing Xie / Harikishan Desineni
Change controller:
IETF Audio/Video Transport working group delegated from the IESG.
Desineni & Xie Expires May 31, 2007 [Page 22]
Internet-Draft EVRC-WB RTP Payload Format November 2006
10. EVRC-B RFC XXXX Interoperability with legacy EVRC-B (RFC YYYY)
implementations
This document adds new optional parameters "recvmode" and "sendmode"
to the original EVRC-B payload subtypes "EVRCB", "EVRCB0" and
"EVRCB1" defined in RFC YYYY. Since the new parameters are receiver
options, the existing RFC YYYY implementations will not send these
parameters in SDP and will ignore if they are received. This will
allow interoperability between RFC YYYY and RFC XXXX implementations
of EVRC-B. For an example offer and answer exchange, see Section 15.
Desineni & Xie Expires May 31, 2007 [Page 23]
Internet-Draft EVRC-WB RTP Payload Format November 2006
11. Mapping MIME Parameters into SDP
Information carried in the MIME media type specification has a
specific mapping to fields in the Session Description Protocol (SDP)
[10], which is commonly used to describe RTP sessions. When SDP is
used to specify sessions employing EVRC-WB encoded speech, the
mapping is as follows:
The MIME type ("audio") goes in SDP "m=" as the media name.
o The MIME subtype ("EVRCWB", "EVRCWB0" or "EVRCWB1") goes in SDP
"a=rtpmap" as the encoding name.
o The optional parameters "mode-set-recv" and "sendmode" (for
subtypes EVRCWB, EVRCWB0 and EVRCWB1) go in the SDP "a=fmtp"
attribute by copying them directly from the MIME media type
string.
o The optional parameters "ptime" and "maxptime" (for subtypes
EVRCWB, EVRCWB1) go in the SDP "a=ptime" and "a=maxptime"
attributes, respectively.
o The optional parameter "maxinterleave" for subtype EVRCWB goes in
the SDP "a=fmtp" attribute by copying it directly from the MIME
media type string as "maxinterleave=value".
o The optional parameter "fixedrate" for subtypes EVRCWB1 goes in
"a=fmtp" attribute by copying it directly from the MIME media type
string as "fixedrate=value".
o The optional parameters "silencesupp", "dtxmax", "dtxmin", and
"hangover" go in "a=fmtp" attribute by copying them directly from
the MIME media type string as "silencesupp=value", "dtxmax=value",
"dtxmin=value", and "hangover=value", respectively.
o The optional parameters "recvmode" and "sendmode" (for subtypes
EVRCB, EVRCB0 and EVRCB1) go in the SDP "a=fmtp" attribute by
copying them directly from the MIME media type string.
Desineni & Xie Expires May 31, 2007 [Page 24]
Internet-Draft EVRC-WB RTP Payload Format November 2006
12. Offer-Answer Model Considerations for EVRC-WB
The following considerations apply when using SDP offer-answer
procedures [7] to negotiate the use of EVRC-WB payload in RTP:
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
preferred codec. This will allow interoperability with an
answerer which supports only EVRC-B.
Below is an example of such an offer:
m=audio 55954 RTP/AVP 98 99
a=rtpmap:98 EVRCWB0/16000
a=rtpmap:99 EVRCB0/8000
a=fmtp:98 mode-set-recv=0,4 sendmode=0
a=fmtp:99 recvmode=0 sendmode=4
If the answerer supports EVRC-WB then the answerer can keep the
payload type 98 in its answer and the conversation can be done
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 conversation will be done using EVRC-B.
An example answer for the above offer:
m=audio 55954 RTP/AVP 98
a=rtpmap:98 EVRCWB0/16000
a=fmtp:98 mode-set-recv=4 sendmode=4
o "mode-set-recv" is a uni-directional receive only parameter.
o "sendmode" is a uni-directional send only parameter.
o Using "sendmode", a sender can signal its current mode of
operation.
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
"mode-set-recv". A remote sender MAY ignore "mode-set-recv"
requests.
o The parameters "maxptime" and "ptime" will in most cases not
affect interoperability, however the setting of the parameters can
affect the performance of the application. The SDP offer-answer
handling of the "ptime" parameter is described in RFC3264 [7].
The "maxptime" parameter MUST be handled in the same way.
Desineni & Xie Expires May 31, 2007 [Page 25]
Internet-Draft EVRC-WB RTP Payload Format November 2006
o For a sendonly stream, "mode-set-recv" parameter is not useful and
SHOULD NOT be used.
o For a recvonly stream, "sendmode" parameter is not useful and
SHOULD NOT be used.
o For additional rules which MUST be followed while negotiating DTX
parameters, see Section 6.8 in [2].
o Any unknown parameter in an SDP offer MUST be ignored by the
receiver and MUST NOT be included in the SDP answer.
Desineni & Xie Expires May 31, 2007 [Page 26]
Internet-Draft EVRC-WB RTP Payload Format November 2006
13. Offer-Answer Model Considerations for EVRC-B
See Section 6.8 of [2] for offer-answer usage of EVRC-B. The
following are several additional considerations for EVRC-B.
o "recvmode" is a uni-directional receive only parameter.
o "sendmode" is a uni-directional send only parameter.
o Using "recvmode", a receiver can signal the remote sender to
operate its encoder in the specified mode. A remote sender MAY
ignore "recvmode" requests.
o Using "sendmode", a sender can signal its current mode of
operation.
o For a sendonly stream, "recvmode" parameter is not useful and
SHOULD NOT be used.
o For a recvonly stream, "sendmode" parameter is not useful and
SHOULD NOT be used.
Desineni & Xie Expires May 31, 2007 [Page 27]
Internet-Draft EVRC-WB RTP Payload Format November 2006
14. Declarative SDP Considerations
For declarative use of SDP in SAP [15] and RTSP [16] , the following
considerations apply:
o Any "maxptime" and "ptime" values should be selected with care to
ensure that the session's participants can achieve reasonable
performance.
o The payload format configuration parameters are all declarative
and a participant MUST use the configuration(s) that is provided
for the session. More than one configuration may be provided if
necessary by declaring multiple RTP payload types, however the
number of types should be kept small.
Desineni & Xie Expires May 31, 2007 [Page 28]
Internet-Draft EVRC-WB RTP Payload Format November 2006
15. Examples
Some example SDP session descriptions utilizing EVRC-WB and EVRC-B
encodings follow. In these examples, long a=fmtp lines are folded to
meet the column width constraints of this document. The backslash
("\") at the end of a line and the carriage return that follows it
should be ignored. Note that MIME subtype names are case-
insensitive. Parameter names are case-insensitive both in MIME types
and in the mapping to the SDP a=fmtp attribute.
Example usage of EVRCWB:
m=audio 49120 RTP/AVP 97 98
a=rtpmap:97 EVRCWB/16000
a=rtpmap:98 EVRCB0/8000
a=fmtp:97 mode-set-recv=0,4 sendmode=0
a=fmtp:98 recvmode=0 sendmode=0
a=maxptime:120
Example usage of EVRCWB0:
m=audio 49120 RTP/AVP 97 98
a=rtpmap:97 EVRCWB0/16000
a=rtpmap:98 EVRCB0/8000
a=fmtp:97 mode-set-recv=0,4 sendmode=0
a=fmtp:98 recvmode=0 sendmode=0
Example SDP answer from a media gateway requesting a terminal to
limit its encoder operation to EVRC-WB mode 4.
m=audio 49120 RTP/AVP 97
a=rtpmap:97 EVRCWB0/16000
a=fmtp:97 mode-set-recv=4 sendmode=4
Example usage of EVRCWB1:
m=audio 49120 RTP/AVP 97 98
a=rtpmap:97 EVRCWB1/16000
a=rtpmap:98 EVRCB0/8000
a=fmtp:97 fixedrate=0.5 mode-set-recv=4 sendmode=7
a=fmtp:98 recvmode=7 sendmode=7
a=maxptime:100
Desineni & Xie Expires May 31, 2007 [Page 29]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Example usage of EVRCWB with DTX with silencesupp=1:
m=audio 49120 RTP/AVP 97 98
a=rtpmap:97 EVRCWB/16000
a=rtpmap:98 EVRCB0/8000
a=fmtp:97 silencesupp=1 dtxmax=32 dtxmin=12 hangover=1 \
mode-set-recv=0,4 sendmode=0
a=fmtp:98 recvmode=0 sendmode=0
a=maxptime:120
Examples usage of EVRCWB with DTX with silencesupp=0:
m=audio 49120 RTP/AVP 97 98
a=rtpmap:97 EVRCWB/16000
a=rtpmap:98 EVRCB0/8000
a=fmtp:97 silencesupp=0 dtxmax=32 dtxmin=12 hangover=1 \
mode-set-recv=0,4 sendmode=0
a=fmtp:98 recvmode=0 sendmode=0
a=maxptime:120
Example usage of EVRCB:
m=audio 49120 RTP/AVP 97
a=rtpmap:97 EVRCB/8000
a=fmtp:97 recvmode=0 sendmode=4
a=maxptime:120
Example usage of EVRCB0:
m=audio 49120 RTP/AVP 97
a=rtpmap:97 EVRCB0/8000
a=fmtp:97 recvmode=0 sendmode=4
Example usage of EVRCB1:
m=audio 49120 RTP/AVP 97
a=rtpmap:97 EVRCB1/8000
a=fmtp:97 fixedrate=0.5 recvmode=7 sendmode=7
a=maxptime:100
Desineni & Xie Expires May 31, 2007 [Page 30]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Example offer answer exchange between EVRC-WB and
legacy EVRC-B (RFC YYYY):
Offer:
m=audio 55954 RTP/AVP 98 99
a=rtpmap:98 EVRCWB0/16000
a=rtpmap:99 EVRCB0/8000
a=fmtp:98 mode-set-recv=0,4 sendmode=0
a=fmtp:99 recvmode=0 sendmode=0
Answer:
m=audio 55954 RTP/AVP 99
a=rtpmap:99 EVRCB0/8000
Example offer answer exchange between EVRC-WB and
updated EVRC-B (RFC XXXX):
Offer:
m=audio 55954 RTP/AVP 98 99
a=rtpmap:98 EVRCWB0/16000
a=rtpmap:99 EVRCB0/8000
a=fmtp:98 mode-set-recv=0,4 sendmode=0
a=fmtp:99 recvmode=0 sendmode=0
Answer:
m=audio 55954 RTP/AVP 99
a=rtpmap:99 EVRCB0/8000
a=fmtp:99 recvmode=0 sendmode=4
Desineni & Xie Expires May 31, 2007 [Page 31]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Example offer answer exchanges for interoperability between
legacy (RFC XXXX) and updated EVRC-B(RFC YYYY) implementations:
Offer from an offer which supports updated EVRC-B (RFC XXXX)
implementation:
m=audio 55954 RTP/AVP 99
a=rtpmap:99 EVRCB0/8000
a=fmtp:99 recvmode=0 sendmode=4
Answer from an answerer which supports only
legacy EVRC-B (RFC YYYY) implementation:
m=audio 55954 RTP/AVP 99
a=rtpmap:99 EVRCB0/8000
Offer from an offer which supports only
legacy EVRC-B (RFC YYYY) implementation:
m=audio 55954 RTP/AVP 99
a=rtpmap:99 EVRCB0/8000
Answer from an answerer which supports updated
EVRC-B (RFC XXXX) implementation:
m=audio 55954 RTP/AVP 99
a=rtpmap:99 EVRCB0/8000
a=fmtp:99 recvmode=0 sendmode=4
Desineni & Xie Expires May 31, 2007 [Page 32]
Internet-Draft EVRC-WB RTP Payload Format November 2006
16. IANA Considerations
Three new MIME subtype registrations ("EVRCWB", "EVRCWB0" and
"EVRCWB1") are defined in this document.
The MIME subtype registrations "EVRCB","EVRCB0" and "EVRCB1"
originally defined in [2] are updated with optional "recvmode" and
"sendmode" parameters (See Section 9.4, Section 9.5 and Section 9.6).
[-- RFC Editor: Please replace all instances of "RFC XXXX" in this
document with the RFC number of this document prior to IANA
registration and RFC publication, and remove this note.]
[-- RFC Editor: Please replace all instances of "RFC YYYY" in this
document with the RFC number of [2] prior to IANA registration and
RFC publication, and remove this note.]
[-- RFC Editor:Please add MIME subtypes "EVRCWB","EVRCWB0", and
"EVRCWB1" to the IANA registry for "RTP Payload Format MIME types" at
http://www.iana.org/assignments/rtp-parameters, and remove this
note.]
Desineni & Xie Expires May 31, 2007 [Page 33]
Internet-Draft EVRC-WB RTP Payload Format November 2006
17. Security Considerations
Implementations using the payload defined in this specification are
subject to the security considerations discussed in RFC3558 [14],
RFC3550 [6], and any appropriate profile (for example RFC3551 [13]).
This payload does not specify any different security services.
Desineni & Xie Expires May 31, 2007 [Page 34]
Internet-Draft EVRC-WB RTP Payload Format November 2006
18. References
18.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Xie, Q., "Enhancements to RTP Payload Formats for EVRC Family
Codecs", draft-ietf-avt-compact-bundled-evrc-11.txt(Work in
Progress) , October 2006.
[3] "Enhanced Variable Rate Codec, Speech Service Option 3 for
Wideband Spread Spectrum Digital Systems", 3GPP2 C.S0014 ,
January 1997.
[4] "Enhanced Variable Rate Codec, Speech Service Option 3 and 68
for Wideband Spread Spectrum Digital Systems", 3GPP2 C.S0014-B
v1.0 , May 2006.
[5] "Enhanced Variable Rate Codec, Speech Service Option 3,68 and
70 for Wideband Spread Spectrum Digital Systems", 3GPP2 Work
in Progress, October 2006.
[6] Schulzrinne, H., "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, March 1997.
[7] Rosenberg, J., "An Offer/Answer Model with Session Description
Protocol (SDP)", RFC 3264, June 2002.
[8] Narten, T., "Guidelines for Writing an IANA Considerations
Section in RFCs", RFC 2434, October 1998.
[9] Johnston, A., "SDP Offer/Answer Examples", RFC 4317,
December 2005.
[10] Handley, M., "SDP: Session Description Protocol", RFC 4566,
July 2006.
[11] Garudadri, H., "3GPP2 Multimedia Registrations", RFC 4393,
March 2006.
[12] "3GPP2 File Formats for Multimedia Services", 3GPP2 C.S0050-A ,
March 2006.
18.2. Informative References
[13] Schulzrinne, H., "RTP Profile for Audio and Video Conferences
with Minimal Control", STD 65, RFC 3551, July 2003.
Desineni & Xie Expires May 31, 2007 [Page 35]
Internet-Draft EVRC-WB RTP Payload Format November 2006
[14] Li, A., "RTP Payload Format for Enhanced Variable Rate Codecs
(EVRC) and Selectable Mode Vocoders (SMV)", RFC 3558,
July 2003.
[15] Handley, M., "Session Announcement Protocol", RFC 2974,
October 2000.
[16] Schulzrinne, H., "Real Time Streaming Protocol (RTSP)",
RFC 2326, April 1998.
[17] Westerlund, M., "How to Write an RTP Payload Format",
draft-ietf-avt-rtp-howto-00.txt(Work in Progress) , May 2006.
Desineni & Xie Expires May 31, 2007 [Page 36]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Authors' Addresses
Harikishan Desineni
Qualcomm
5775 Morehouse Drive
San Diego, CA 92126
USA
Phone: +1 858 845 8996
Email: hd@qualcomm.com
URI: http://www.qualcomm.com
Qiaobing Xie
Motorola
1501 W. Shure Drive, 2-F9
Arlington Heights, IL 60004
USA
Phone: +1-847-632-3028
Email: Qiaobing.Xie@Motorola.com
URI: http://www.motorola.com
Desineni & Xie Expires May 31, 2007 [Page 37]
Internet-Draft EVRC-WB RTP Payload Format November 2006
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Desineni & Xie Expires May 31, 2007 [Page 38]