This document discusses voice quality problems such as hissing or
static sounds observed during a voice conversation. This document also provides
suggestions to help you solve these voice quality issues.
Readers of this document should have knowledge of these topics:
The information in this document is based on these software and
The information in this document was created from the devices in a
specific lab environment. All of the devices used in this document started with
a cleared (default) configuration. If your network is live, make sure that you
understand the potential impact of any command.
Refer to the
Technical Tips Conventions for more information on document
Most IP-based Telephony systems include a voice activity detector. The
purpose of the detector is to detect silence periods in the voice signal and
temporarily discontinue transmission of the signal during the silence period.
This saves bandwidth and allows the far-end to adjust its jitter-buffer. The
downside is that during silence periods, the far-end phone has to generate its
own signal to play to the listener. Usually, comfort noise is played out to the
listener to mask the absence of an audio signal from the far-end. Comfort noise
is usually modeled on the far-end noise so that there is not a stark contrast
when you switch from the actual background noise to the comfort noise.
Figure 1 illustrates a typical IP Telephony system. The IP voice
devices referred to can be IP telephones, IP analog gateways, IP digital
gateways, and so on.
Figure 1: IP Telephony System
During a call between device A and device B, device A reaches a silence
interval (Figure 2). The voice activity detector uses an algorithm in order to
determine if a silence interval has been reached. Typically, the voice activity
detector has a holdover period of time t1 at the end of each speech burst.
During this time it continues to send packets to the far-end. This helps to
avoid excessive switching and choppy speech. If additional speech is detected
during this holdover interval, the voice stream between the devices continues
uninterrupted. After a period of length t1 (T2 in Figure 2 ) has elapsed, IP
voice device A stops sending packets if no additional voice is detected.
Figure 2: Device A VAD Events
At time T1 (Figure 2), an indication is sent to device B that alerts it
to the fact that the VAD holdover is starting. This also contains the duration
of the VAD holdover. When this message is received, device B starts to
attenuate down the voice signal that it receives from device A and mixes it
with the generated comfort noise that it should attenuate up (as in Figure 3).
Figure 3: Background Noise vs. Comfort Noise
Attenuation during Holdover Period
This attenuation provides a smooth transition between real background
noise and generated comfort noise. It makes the transitions from environments
where the characteristics of the background noise are much different from those
of generated comfort noise smoother and much less noticeable. The length of the
VAD holdover interval (t1) determines how effective this technique is. Longer
intervals result in smoother sounding transitions.
If the voice signal cuts in before time T2 (Figure 2), the attenuation
is halted immediately and the full scale incoming audio is played. Such a
cut-in should be signaled through another indication from device A to device B.
Since the voice signal is significantly louder than the background noise, it
masks the transition back and is not as noticeable.
The previously mentioned signaling may be in-band (for instance, via a
new payload type in RTP or a named signaling event) or out-of-band (for
instance, an H.245 signaling event).
The only cause of hearing a hissing sound or a static sound during a
voice call is the introduction of comfort noise in a conversation. There are
two possibilities to which comfort noise is injected in a voice call. The
foremost is the use of VAD. Whenever VAD kicks-in, comfort noise packets are
introduced in the audio stream. The second possibility (not a major
contributor) is the kicking-in of echo-cancellation. Whenever echo-cancellation
becomes active, comfort noise packets are introduced in the audio stream. The
characteristics of these comfort packets is determined through an algorithm
which includes monitoring on-going speech and receiving a signature of the
background noise. This comfort noise is the hissing.
In this scenario, if device A pauses, device B can experience some
hissing. This can be taken care of by a proper adjustment of the VAD
parameters. Cisco recommends that you disable VAD if the fine-tuning of these
parameters does not resolve the issue.
There are two parameters that dictate VAD functionality:
An initial threshold is decided which governs when VAD becomes active.
This is controlled when you define the
<threshold_value> command on a voice port. The range for
this is from -70 dBm to -30 dBm. The default value is -38 dBm. If you configure
a lower value (towards -70 dBm), VAD becomes active at a much lower signal
strength. The volume must drop really low before it is considered as silence.
If you configure a higher value (closer to -30 dBm), VAD becomes active for
even a small drop of voice signal strength. This drives the playout to play
comfort noise packets more often. However, this can lead to minor clipping of
Enter configuration commands, one per line. End with CNTL/Z.
!--- WORD: Enter a number between -70 to -30.
3640-6#show run | begin voice-port
voice-port 3/0/0 music-threshold -50
Once the VAD becomes active, you can control the component of
background noise and comfort noise when you configure the
vad-time <timer_value> command under the global
configuration. This is the delay time in milliseconds for silence detection and
suppression of voice packet transmission. The default value for the holdover
time is 250 msec. This means that within 250 msec, comfort noise completely
kicks in. The range for this timer is 250 msec to 65,536 msec. If a high value
is configured, comfort noise comes into play much later (background noise
continues to be played). If this is configured for 65,536 msec, comfort noise
is turned off. A higher value for this timer is desired for smoother transition
between background noise and comfort noise. The downside to a high vad-time
configuration is not entirely achieving the desired 30%-35% bandwidth saving.
Enter configuration commands, one per line. End with CNTL/Z.
3640-6(config)#voice vad-time ?
3640-6(config)#voice vad-time 750
3640-6#show run | begin vad-time
voice vad-time 750
Note: After you configure VAD, issue the shut
and no shut commands on the voice port in order for
the configuration changes to take effect.
If you continue to observe the hissing and/or static, even after you
tune the parameters mentioned earlier in this document, then Cisco recommends
that you disable VAD. This needs to be done on the gateways as well as on the
Cisco CallManagers. These sections explain how to disable VAD on Cisco gateways
and Cisco CallManager.
On Cisco gateways that run H.323, you can disable VAD when you
configure the no vad command under the VoIP
dial-peers. If this is the terminating gateway, make sure that no
vad is configured on the appropriate inbound VoIP dial-peer
matched. It might be helpful to configure incoming called-number
<number_dialed> to match the appropriate incoming
dial-peer. For the originating gateway, no vad can
be configured on VoIP dial-peers based on which selective terminating gateways
require to turn this off.
dial-peer voice 100 voip
!--- In order to match all called numbers
session target ipv4:10.10.10.10
dtmf-relay h245-alpha ip precedence 5
Ensure that these parameters in the Cisco CallManager are set to
False (F) to disable VAD on Cisco CallManager:
Complete these steps in order to find these parameters.
Choose Service > Service
Parameters from the Cisco CallManager Administration
From the Server drop-down menu choose the Cisco CallManager IP
address or name and select Cisco CallManager from the Services
The parameters are located in the Service Parameters Configuration
Set the Silence Suppression and Silence Suppression for Gateways
parameters to False in the Service Parameter configuration
window, under the Cluster-wide parameters.
Click Update in order to turn off VAD in Cisco
CallManager. This procedure is similar for Cisco CallManager 3.3 and