rfc-4348

Real-Time Transport Protocol (RTP) Payload Format for the Variable-Rate Multimode Wideband (VMR-WB) Audio Codec

S. Ahmadi
date2006-01 streamIETF arearai wgavt statusPROPOSED STANDARD pages32 canonicalhttps://www.rfc-editor.org/rfc/rfc4348 doi10.17487/RFC4348
This document specifies a real-time transport protocol (RTP) payload format to be used for the Variable-Rate Multimode Wideband (VMR-WB) speech codec. The payload format is designed to be able to interoperate with existing VMR-WB transport formats on non-IP networks. A media type registration is included for VMR-WB RTP payload format. VMR-WB is a variable-rate multimode wideband speech codec that has a number of operating modes, one of which is interoperable with AMR-WB (i.e., RFC 3267) audio codec at certain rates. Therefore, provisions have been made in this document to facilitate and simplify data packet exchange between VMR-WB and AMR-WB in the interoperable mode with no transcoding function involved. [STANDARDS-TRACK]

updated by

Extracted elements (30)

design-rationale §6.1

A single fixed 16 kHz RTP clock rate was chosen even though VMR-WB can process 8 kHz input because the VMR-WB decoder does not require a priori knowledge of encoder input sampling frequency and always outputs 16 kHz by default. This avoids the need to renegotiate the RTP clock rate mid-session when narrowband media is injected.

rtp, realtime

design-rationale §4.1

The FEC redundancy scheme (retransmitting prior frame-blocks alongside current ones using a sliding window) was designed to require no signaling at session setup, because a packet with redundant frames is indistinguishable from one with only new frames. This is simpler than RFC 2198 for spreads of up to 5 frame times.

rtp, realtime

design-rationale §7

The multimode capability of VMR-WB provides an advantage for congestion control over single-rate codecs: bandwidth demand can be adjusted by selecting a different operating mode, and the number of frame-blocks per RTP payload can also be tuned to reduce header overhead at the expense of increased delay.

rtp, congestion, realtime

interoperability-note §6.2

The header-free payload format is not compatible with AMR-WB RTP payload; only non-interoperable VMR-WB modes may use it. For interoperable interconnection with AMR-WB, only the octet-aligned payload format may be used.

rtp, realtime

interoperability-note §9.3 SHOULD

To maintain interoperability with AMR-WB, a VMR-WB-enabled terminal SHOULD also declare itself capable of AMR-WB with a limited mode set (AMR-WB codec modes 0, 1, and 2 only) and octet-aligned operation in SDP offer-answer exchanges.

rtp, realtime, voip

interoperability-note §3

VMR-WB mode 3 is interoperable with AMR-WB (RFC 3267) at 6.60, 8.85, and 12.65 kbps (FT=0, 1, 2). The octet-aligned VMR-WB payload format in interoperable mode is identical to that of AMR-WB, enabling Transcoder-Free (TrFO) interconnection between CDMA2000 and GSM/WCDMA networks.

rtp, realtime, voip

normative-requirement §3.1 MUST

A fixed RTP clock rate of 16000 Hz MUST always be used for VMR-WB, regardless of whether the encoder input is 8 kHz or 16 kHz sampled media. This allows injection and processing of 8-kHz narrowband media without changing the RTP clock rate during a session.

rtp, realtime

normative-requirement §7 SHALL

Congestion control for RTP SHALL be used in accordance with RFC 3550 and any applicable RTP profile (e.g., RFC 3551). This is required for any transmission over unmanaged best-effort networks.

rtp, congestion, realtime

normative-requirement §6.3.4 MUST

Each speech frame MUST be octet-aligned: the last octet MUST be padded with zeroes at the end if not all bits are used. When multiple speech frames are present, they MUST be arranged one whole frame after another.

rtp, realtime

normative-requirement §6.2 SHALL NOT

Frame types FT=0, 1, 2, and 9 (the AMR-WB interoperable and CNG types) SHALL NOT be used with the header-free payload format, because the header-free format is not compatible with AMR-WB RTP payload.

rtp, realtime

normative-requirement §6.3.3 MUST

If a payload with an invalid FT value is received, the payload MUST be discarded. For ToC entries with FT=14 (Erasure) or FT=15 (Blank), there will be no corresponding speech frame data in the payload.

rtp, realtime

normative-requirement §6.3.2 MUST

If ILP is found greater than ILL in a received payload, the payload SHOULD be discarded. ILL and ILP fields MUST be present in every packet in a session if interleaving is signaled for the session.

rtp, realtime

normative-requirement §6.4.1 SHOULD

If the calculated payload length based on session information and payload header field values does not match the received packet size, the receiver SHOULD discard the packet to avoid speech quality degradation and invoke the VMR-WB built-in frame error concealment mechanism. Invalid packets SHALL be treated as lost packets.

rtp, realtime

normative-requirement §6.4 SHALL

Implementations SHALL support both header-free and octet-aligned payload formats. Support for interleaving is optional. An implementation using SDP is required to understand all payload parameters in SDP-mapped form.

rtp, realtime

normative-requirement §9.3 SHALL

In offer-answer negotiation, rate, channel, and payload configuration parameters (octet-align and interleaving) SHALL be used symmetrically—offer and answer must use the same values. Only operating modes supported by both endpoints SHALL be used.

rtp, realtime

normative-requirement §6.3.2 MUST

Reserved R bits in the payload header MUST be set to zero by the sender. The receiver MUST ignore all R bits.

rtp, realtime

normative-requirement §6.3.2 MUST

The CMR field MUST be set to 15 (no preference) for packets sent to a multicast group. The encoder SHOULD ignore mode requests when sending to a multicast session but MAY use RTCP feedback as a hint.

rtp, realtime, multicast

normative-requirement §9.2 MUST

The RTP clock rate in the SDP a=rtpmap attribute MUST be 16000 for VMR-WB. The parameter 'channels', if present, is specified subsequent to the MIME subtype and clock rate in the a=rtpmap attribute.

rtp, realtime

normative-requirement §6.1 SHALL

The RTP header marker bit SHALL be set to 0 during continuous transmission. During DTX, it SHALL be set to 1 if the first frame-block in the packet is the first speech frame of a talkspurt; otherwise it SHALL be set to 0.

rtp, realtime

normative-requirement §6.3.2 MUST

The sender MUST only apply interleaving if the receiver has signaled its support through out-of-band means. The number of frame-blocks per payload (N) and ILL MUST NOT change inside an interleave group; all payloads in a group MUST contain the same number of speech frame-blocks.

rtp, realtime

protocol-element §6.3.3

Table 3 defines 16 VMR-WB frame types (FT 0–15): FT 0–2 are AMR-WB interoperable rates (132, 177, 253 bits); FT 3–6 are native VMR-WB rates (266, 124, 54, 20 bits); FT 9 is CNG/SID (40 bits); FT 14 is Erasure and FT 15 is Blank (both 0 bits); others are reserved.

rtp, realtime

protocol-element §6.3.2

The CMR (Codec Mode Request) field is a 4-bit value in the payload header indicating the desired VMR-WB operating mode for the encoder at the receiver. CMR=15 means no preference; CMR values 7–14 are reserved. The mode request remains valid until overridden by a new CMR.

rtp, realtime

registry §9.1

IANA registered the MIME subtype audio/VMR-WB for the Variable-Rate Multimode Wideband audio codec, allocated from the IETF tree. Optional parameters include mode-set, channels, octet-align, interleaving, ptime, maxptime, and dtx.

registry, rtp, realtime

security-consideration §8 MUST

The VMR-WB RTP payload format has no built-in security mechanisms. For confidentiality, all audio data bits MUST be encrypted; external mechanisms such as SRTP MAY be used. The payload header and ToC need less protection as they only carry frame type metadata.

security, rtp, realtime

security-consideration §8.2 MUST

To authenticate the sender, an external mechanism MUST be used. It is RECOMMENDED that such a mechanism protect both the complete RTP header and the payload. Tampering with the CMR field by a man-in-the-middle attacker may result in speech of a different quality than desired.

security, rtp, realtime

security-consideration §8.1

Using interleaving in conjunction with encryption can compromise confidentiality: because frame-blocks are distributed across multiple packets, changing an encryption key at a given timestamp does not prevent earlier-keyed packets from supplying frames that extend past the key-change boundary.

security, rtp, realtime

wire-format §6.3.3

Each ToC entry in the octet-aligned format is 8 bits: F (1 bit, more-frames flag), FT (4 bits, frame type index per Table 3), Q (1 bit, frame quality indicator; 0=corrupted), and 2 padding P bits (MUST be zero, MUST be ignored).

rtp, realtime

wire-format §6.2

The header-free payload format contains exactly one speech data frame with no payload header fields or ToC entries. The encoding rate is determined solely from the length of the speech data frame.

rtp, realtime

wire-format §6.3.2

The octet-aligned payload header consists of a 4-bit CMR field, 4 reserved (R) bits, and an optional 8-bit interleaving header composed of ILL (4-bit interleaving length) and ILP (4-bit interleaving index) fields, present only when interleaving is signaled out-of-band.

rtp, realtime

wire-format §6.1

The RTP timestamp for VMR-WB is incremented by 320 per 20 ms frame-block (at 16 kHz, 320 samples per frame), and this increment applies to both 8 kHz and 16 kHz sampled media.

rtp, realtime