RTP Payload Format for ITU-T Recommendation G.711.1
Extracted elements (25)
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.
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.
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.
All MI values other than 1–4 are reserved and MUST NOT be used. Payloads received with an undefined MI value MUST be discarded.
Any unknown parameter in an SDP offer MUST be ignored by the receiver and MUST NOT be included in the answer.
Congestion control for RTP SHALL be used in accordance with RFC 3550 and any appropriate profile (e.g., RFC 3551).
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.
For declarative SDP use, the configuration given by the SDP MUST be used when sending and/or receiving media in the session.
For multicast sessions, if mode-set is supplied in the offer, the answerer SHALL only participate if it supports the offered mode-set.
If a restricted mode-set has been negotiated via signaling, payloads received with an MI value not in the negotiated set MUST be discarded.
If mode-set is specified in the media type, frames encoded with modes outside the subset MUST NOT be sent in any RTP payload.
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.
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.
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.
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.
The RTP clock rate in the SDP a=rtpmap attribute MUST be 16000 for G.711.1 (both PCMA-WB and PCMU-WB).
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.
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.
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.
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.
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.
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.
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.
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).
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.