rfc-5391

RTP Payload Format for ITU-T Recommendation G.711.1

A. Sollaud
date2008-11 streamIETF arearai wgavt statusPROPOSED STANDARD pages14 canonicalhttps://www.rfc-editor.org/rfc/rfc5391 doi10.17487/RFC5391
This document specifies a Real-time Transport Protocol (RTP) payload format to be used for the ITU Telecommunication Standardization Sector (ITU-T) G.711.1 audio codec. Two media type registrations are also included. [STANDARDS-TRACK]

Extracted elements (25)

design-rationale §7

The embedded nature of G.711.1 audio (truncatable layered bitstream) makes it useful for congestion control: a lower-bit-rate mode can be selected when network capacity decreases, but only when multiple modes have been negotiated.

rtp, congestion, realtime

design-rationale §5

Two separate media types (PCMA-WB for A-law and PCMU-WB for mu-law) are defined because A-law and mu-law G.711 core layers are not interoperable, mirroring the existing PCMA/PCMU separation for G.711.

rtp, realtime

interoperability-note §6

The G.711.1 L0 layer is fully interoperable with G.711. A gateway can extract a G.711-compatible payload from a G.711.1 packet by stripping the L1/L2 layers without decoding and re-encoding the audio. For multi-frame packets, the concatenated L0 layers form a valid G.711 payload.

rtp, realtime, voip

normative-requirement §4.1 MUST NOT

All MI values other than 1–4 are reserved and MUST NOT be used. Payloads received with an undefined MI value MUST be discarded.

rtp, realtime

normative-requirement §5.3.1 MUST

Any unknown parameter in an SDP offer MUST be ignored by the receiver and MUST NOT be included in the answer.

rtp, realtime, sip

normative-requirement §7 REQUIRED

Congestion control for RTP SHALL be used in accordance with RFC 3550 and any appropriate profile (e.g., RFC 3551).

rtp, congestion, realtime

normative-requirement §3 MUST

For applications using silence suppression, the first packet of a talkspurt SHOULD have the RTP marker bit set to one; all other packets MUST have it set to zero. Applications without silence suppression MUST set the marker bit to zero.

rtp, realtime

normative-requirement §5.3.2 MUST

For declarative SDP use, the configuration given by the SDP MUST be used when sending and/or receiving media in the session.

rtp, realtime, sip

normative-requirement §5.3.1 REQUIRED

For multicast sessions, if mode-set is supplied in the offer, the answerer SHALL only participate if it supports the offered mode-set.

rtp, realtime, multicast

normative-requirement §4.1 MUST

If a restricted mode-set has been negotiated via signaling, payloads received with an MI value not in the negotiated set MUST be discarded.

rtp, realtime

normative-requirement §5.1 MUST NOT

If mode-set is specified in the media type, frames encoded with modes outside the subset MUST NOT be sent in any RTP payload.

rtp, realtime

normative-requirement §4.2 MUST

Only complete frames are considered valid. If the audio data length is not an exact multiple of the frame size, the remaining bytes MUST be ignored.

rtp, realtime

normative-requirement §4.1 MUST

The five most significant bits of the payload header are reserved and MUST be set to zero by senders and MUST be ignored by receivers.

rtp, realtime

normative-requirement §5.3.1 MUST

The mode-set parameter is bidirectional. If present in an SDP offer, the answerer MUST return the same mode-set or a subset; the answerer MAY reorder preferences. The offerer MUST NOT send frames of a mode removed by the answerer.

rtp, realtime, sip

normative-requirement §5.3.1 SHOULD

The offerer SHOULD announce G.711 support alongside G.711.1 in the m=audio line (offering PCMA alongside PCMA-WB and/or PCMU alongside PCMU-WB) to allow interoperability with G.711-only parties.

rtp, realtime, sip

normative-requirement §5.3 MUST

The RTP clock rate in the SDP a=rtpmap attribute MUST be 16000 for G.711.1 (both PCMA-WB and PCMU-WB).

rtp, realtime, sip

normative-requirement §3 MUST

The RTP timestamp clock frequency MUST always be 16 kHz regardless of whether the encoder/decoder is configured for 8-kHz or 16-kHz I/O. The timestamp increments by 80 per 5-ms frame.

rtp, realtime

protocol-element §2

G.711.1 is an embedded wideband extension of G.711 operating at 64, 80, and 96 kbps using three layers: L0 (G.711-compatible, 64 kbps), L1 (narrowband enhancement, 16 kbps), and L2 (wideband enhancement, 16 kbps). These layers combine into four modes: R1, R2a, R2b, and R3.

realtime, rtp

protocol-element §2

G.711.1 operates on 5-ms frames at a default sampling rate of 16 kHz. The encoder produces an embedded bitstream that can be truncated at the decoder or any intermediate component to adjust the bit rate on the fly.

realtime, rtp

registry §5.1

IANA registered a new media subtype audio/PCMA-WB for A-law G.711.1. Optional parameters are mode-set (comma-separated list of mode indices 1–4, listed in preference order), ptime, and maxptime. Transfer is only defined via RTP.

registry, rtp, realtime

registry §5.2

IANA registered a new media subtype audio/PCMU-WB for mu-law G.711.1. Optional parameters are mode-set (comma-separated list of mode indices 1–4, listed in preference order), ptime, and maxptime. Transfer is only defined via RTP.

registry, rtp, realtime

security-consideration §8

The payload format has no built-in security mechanisms; confidentiality, integrity, and authentication must be provided by external mechanisms such as SRTP (RFC 3711). The format does not exhibit non-uniform receiver-end computational load and is unlikely to pose a denial-of-service threat via pathological datagrams.

security, rtp, realtime

wire-format §4.2

Audio frames are packed oldest-first after the payload header. Within each frame, layers are always in order: L0 only for R1; L0 then L1 for R2a; L0 then L2 for R2b; L0 then L1 then L2 for R3. All frames in a payload MUST be the same mode.

rtp, realtime

wire-format §4.1

The 1-octet payload header has 5 reserved bits (MSBs, MUST be set to zero and ignored by receivers) followed by a 3-bit Mode Index (MI) field indicating R1 (MI=1, 40 octets/frame), R2a (MI=2, 50 octets/frame), R2b (MI=3, 50 octets/frame), or R3 (MI=4, 60 octets/frame).

rtp, realtime

wire-format §4

The complete RTP payload consists of a 1-octet payload header followed by one or more consecutive G.711.1 audio frames, all of the same mode. The mode may change between packets but not within a packet.

rtp, realtime