Comfort Noise is defined as synthetic background noise used in wireless communications to fill the artificial silence in a transmission resulting from voice activity detection or from the audio clarity of modern digital lines. The Sonus SBC Portfolio uses the Silence Suppression feature for G.729 and G.723 codecs because no Comfort Noise packets are sent with these codec. For G.729 Annex B support, the Silence Suppression feature is enabled and silence packets sent using IPP library to decode and generate the corresponding silence packets. The SBC uses the same technique with G.723 where support of Annex A involves enabling Silence Suppression and sending the Silence Packets as G.723 packets. The only difference is that the size of the normal voice data differs from silence packets in each codec.
For all other codecs, Silence Suppression for SBC 5000/7000 series is accomplished by sending Comfort Noise packets whenever a change in noise frequency occurs, or periodically to keep the call active.
The SBC SWe only supports sending SIDs when silence suppression is configured for the following codecs:
- G711 uLaw
- G711 aLaw
Comfort Noise Packet Structure
Every Comfort Noise packet contains a description of the noise level and spectral information in the form of reflection coefficients for an all-pole model of the noise. The inclusion of spectral information is OPTIONAL and the model order (number of coefficients) is left unspecified. The magnitude of the noise level is packed into the least significant bits of the noise-level byte with the most significant bit unused and always set to "0". The noise level is expressed in -dBov (dB below overload point), with values from 0 to 127 representing 0 to -127 dBov.
The first byte of the payload MUST contain the noise level. Quantized reflection coefficients are packed in subsequent bytes in ascending order, where M is the model order. The total length of the payload is M+1 bytes.
Comfort Noise Initialization
While establishing a call, when DSP receives enable channel command, the Silence Suppression parameters are checked to observe if it is set or not. If it is set, the extra memory for IPP is allocated to decode CNG packets.
A new data structure is introduced for IPP codecs. Basically it will have pointers of IPP codec memory banks.
To configure a Packet Service Profile using codecs with Silence Suppression for Comfort Noise, see:
To create a codec entry and enable Silence Suppression, see: