rfc-5459

G.729.1 RTP Payload Format Update: Discontinuous Transmission (DTX) Support

A. Sollaud
date2009-01 streamIETF arearai wgavt statusPROPOSED STANDARD pages7 canonicalhttps://www.rfc-editor.org/rfc/rfc5459 doi10.17487/RFC5459
This document updates the Real-time Transport Protocol (RTP) payload format to be used for the International Telecommunication Union (ITU-T) Recommendation G.729.1 audio codec. It adds Discontinuous Transmission (DTX) support to the RFC 4749 specification, in a backward-compatible way. An updated media type registration is included for this payload format. [STANDARDS-TRACK]

updates

Extracted elements (17)

design-rationale §5.2.1

The 'dtx' SDP parameter is used even though the DTX payload format is backward-compatible at the binary level. Without the parameter, a legacy RFC 4749 receiver would silently use packet loss concealment rather than comfort noise during silence periods, causing poor audio quality. The parameter ensures both endpoints explicitly agree on DTX behavior.

rtp, realtime

interoperability-note §5.2.1

An RTP receiver compliant with only RFC 4749 (not this specification) will ignore the 'dtx' parameter and omit it from its answer, preventing DTX activation. Such receivers would use packet loss concealment during silence periods instead of comfort noise generation, resulting in degraded audio quality.

rtp, realtime

interoperability-note §4

This document overrides RFC 4749 Section 5.4's mandate to ignore remaining bytes after complete frames; receivers MUST now treat those remaining bytes as a SID frame (if the size is a valid SID size).

rtp, realtime

normative-requirement §5.2.1 MUST

Both sides of a bi-directional session MUST have the same DTX setting. DTX is activated if and only if 'dtx=1' appears in both the SDP offer and the answer.

rtp, realtime

normative-requirement §5.2.1 MUST NOT

For multicast sessions, the 'dtx' parameter is declarative and MUST NOT be negotiated; a participant MUST use the configuration provided for the session.

rtp, realtime, multicast

normative-requirement §3 MUST

If DTX is not used, the M bit MUST be set to 0 in all packets.

rtp, realtime

normative-requirement §4 MUST

If the remaining bytes after complete audio frames do not constitute a valid SID frame size (2, 3, or 6 octets), the receiver MUST ignore those bytes.

rtp, realtime

normative-requirement §5.1 MUST NOT

When DTX is turned off, the RTP payload MUST NOT contain a SID, and the FT value 14 MUST NOT be used.

rtp, realtime

normative-requirement §3 MUST

When DTX is used, the first packet of a talkspurt (first packet after a silence period) MUST have the RTP Marker (M) bit set to 1. All other packets MUST have the M bit set to 0.

rtp, realtime

normative-requirement §4 REQUIRED

When using FT=14 (SID-only payload), only a single SID frame SHALL be included in the payload.

rtp, realtime

protocol-element §5.1

A new optional 'dtx' parameter is added to the audio/G7291 media subtype. Permissible values are 0 (no DTX) and 1 (DTX support per G.729.1 Annex C). The parameter is omitted or 0 by default.

rtp, realtime

protocol-element §4

FT value 14 is assigned to the SID (Silence Insertion Descriptor) frame type to allow transporting a SID without any accompanying audio frames. The actual SID size (2, 3, or 6 octets) is inferred from the remaining payload size after the 1-octet header.

rtp, realtime

protocol-element §2

The G.729.1 SID has an embedded structure: the core SID is identical to the legacy G.729 SID (G.729 Annex B), the first enhancement layer adds narrowband comfort noise parameters, and the second adds wideband information. The SID can be 2, 3, or 6 octets long.

rtp, realtime

registry §8

IANA has assigned a new optional parameter 'dtx' to the audio/G7291 media subtype. The parameter accepts values 0 (DTX off) or 1 (DTX on per G.729.1 Annex C), with 0 as the default when the parameter is absent.

registry, rtp, realtime

security-consideration §7

By observing an RTP flow that uses DTX, an attacker can determine when and for how long participants are speaking. This is a general property of DTX schemes; G.729.1 DTX introduces no new specific issue beyond what applies to DTX in general.

security, privacy, rtp, realtime

wire-format §4

The complete RTP payload consists of: a 1-octet header (MBS and FT fields), followed by zero or more consecutive audio frames at the same bit rate, followed by zero or one SID frame. FT values 0-11 map to encoding rates 8-32 kbps with frame sizes 20-80 octets; FT=14 indicates a SID (2, 3, or 6 octets); FT=15 indicates NO_DATA (0 octets).

rtp, realtime

wire-format §4

When a SID is appended to actual audio frames, the FT value in the payload header reflects the audio encoding rate, not the SID. The SID is identified as the remaining bytes after all complete audio frames, and its size (2, 3, or 6 octets) is inferred from payload length.

rtp, realtime