rfc-3389

Real-time Transport Protocol (RTP) Payload for Comfort Noise (CN)

R. Zopf
date2002-10 streamIETF arearai wgavt statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc3389 doi10.17487/RFC3389 errataview
This document describes an RTP [2] payload format for transporting comfort noise (CN). The CN payload type is primarily for use with audio codecs that do not support comfort noise as part of the codec itself such as ITU-T Recommendations G.711 [3], G.726 [4], G.727 [5], G.728 [6], and G.722 [7].

Extracted elements (18)

design-rationale §3.1

Noise level is expressed in -dBov (relative to system overload) rather than absolute dBm because digital implementations do not need to know the analog calibration. For a mu-law system, 0 dBov corresponds to a +/-8031 square wave, equating to 6.18 dBm0.

rtp, realtime, voip

design-rationale §2

The CN payload format specifies only the minimum interoperability parameters (noise level and optional spectral coefficients); VAD, DTX, and CNG algorithms are intentionally left implementation-specific to allow flexibility.

rtp, realtime, voip

interoperability-note §2

The extended payload format defined here (with spectral information) is intended to be backward compatible with the earlier RFC 1890 draft version that contained only the noise level byte, assuming receivers ignore additional spectral bytes.

rtp, realtime, voip

interoperability-note §5.1

When CN is used with a codec whose RTP timestamp clock rate differs from 8000 Hz, a dynamic payload type mapping via the SDP rtpmap attribute is required rather than using static payload type 13.

rtp, realtime, voip

normative-requirement §4 MUST

Each RTP packet containing comfort noise MUST contain exactly one CN payload per channel, because the CN payload has variable length. If multiple audio channels are used, each channel MUST use the same spectral model order M.

rtp, realtime, voip

normative-requirement §3.3 MUST

The first byte of the CN payload MUST contain the noise level as defined in Section 3.1. Quantized reflection coefficients are packed in subsequent bytes in ascending order.

rtp, realtime, voip

normative-requirement §4 SHOULD

The RTP header for the comfort noise packet SHOULD be constructed as if the comfort noise were an independent codec, with the RTP timestamp designating the beginning of the comfort noise period.

rtp, realtime, voip

normative-requirement §4 SHOULD NOT

The RTP packet carrying CN SHOULD NOT have the marker bit set.

rtp, realtime, voip

normative-requirement §3 OPTIONAL

The spectral information (reflection coefficients) is OPTIONAL; the model order is unspecified and left to the encoder. The decoder may reduce the model order by zeroing higher-order coefficients.

rtp, realtime, voip

normative-requirement §4 MUST

Under the RTP/AVP profile (RFC 1890), static payload type 13 is assigned for CN at an RTP timestamp clock rate of 8,000 Hz. If other clock rates are needed, they MUST be defined through dynamic payload types.

rtp, realtime, voip, registry

protocol-element §5

At the beginning of an inactive voice segment, a CN packet is transmitted in the same RTP stream indicated by the CN payload type. The CN packet update rate is implementation-specific (e.g., periodic or only on significant background noise change).

rtp, realtime, voip

protocol-element §5.1

Comfort noise is signaled in SDP by including a CN payload type on the media description line. Omission of CN from the media line implies this format will not be used but does not prohibit silence suppression via discontinuous transmission.

rtp, realtime, voip

protocol-element §3

The CN payload (also known as a Silence Insertion Descriptor or SID frame) consists of a single octet noise level byte followed by optional spectral information in the form of reflection coefficients for an all-pole model of the noise. The total payload length is M+1 bytes where M is the model order.

rtp, realtime, voip

protocol-element §3

The model order M is not explicitly transmitted in the payload; it is implicitly derived at the receiver from the payload length (M = payload_length - 1). A 0th order model transmits only the energy level byte.

rtp, realtime, voip

registry §6

This document registers the MIME media type audio/CN with an optional 'rate' parameter (default 8000 Hz) specifying the RTP timestamp clock rate, and assigns static RTP payload type 13 in the IANA RTP Payload Types registry.

rtp, realtime, voip, registry

security-consideration §7

CN RTP packets are subject to the general RTP security considerations (RFC 1889). Confidentiality is achieved by encryption, which MAY be performed after encapsulation with no conflict. Because the payload carries only background noise, there are no significant security, confidentiality, or authentication concerns specific to this format.

rtp, realtime, voip, security

wire-format §3.2

Each reflection coefficient is quantized uniformly using 8 bits into an index N (0..254); index 255 is reserved. The quantized value k_i is derived as k_i = 258*(N_i-127)/32768. Each index is packed into a separate byte, MSB first.

rtp, realtime, voip

wire-format §3.1

The noise level byte packs the magnitude into the 7 least significant bits (bits 0–6), with the most significant bit always set to 0. Values range from 0 to 127 representing 0 to -127 dBov.

rtp, realtime, voip