Cisco Unity Troubleshooting Guide, Release 3.1(3)
Audio Quality

Table Of Contents

Audio Quality

About Audio Quality Problems

Audio Quality Problems in Cisco Unity Version 3.1(x)

Set Volume Level Utility

Advanced Audio Quality Troubleshooting

Set Record Format

Cisco Unity-CM TSP Wave Gain Utility

Comfort Noise

Automatic Gain Control


Audio Quality


About Audio Quality Problems

Audio quality problems can manifest themselves in a variety of ways, and can be difficult to diagnose and correct. For example, subscribers may report volume differences between messages and system prompts, or report that messages are distorted or garbled. Audio quality symptoms may not be present for every subscriber, or consistently appear on every message or every system prompt.

The entire device topology can affect audio quality, both within and outside of the control of Cisco Unity. Cisco Unity-controlled features include automatic gain control (AGC), the Cisco Unity-CM TSP wave gain, and the audio codec chosen for message storage. Cisco CallManager controls the region setting for the audio codec. Finally, the Cisco gateway gain and attenuation settings can also affect audio quality.

Audio Quality Problems in Cisco Unity Version 3.1(x)

The most common symptom of audio quality problems in Cisco Unity version 3.1(x) is when the volume of greetings and voice names is higher or lower than the volume of Cisco Unity prompts.

See Table 5-1 for basic corrective action to level all WAV files on the Cisco Unity server to the same value, and then to adjust the playback level if needed.

Table 5-1 Basic Audio Quality Troubleshooting for Cisco Unity Version 3.1(x) Systems

Symptom
General Circumstances
Corrective Action

The volume of greetings and voice names is higher or lower than the volume of Cisco Unity prompts.

Only certain greetings and voice names may be affected on a version 3.1(1) or later system, and/or an upgrade to version 3.1(3) was recently performed.

1. Check and adjust the Cisco Unity AGC settings, if necessary (set to -26 dB default value).

2. Confirm that the Cisco Unity-CM TSP wave gain playback and record settings are both set to 0.

3. Run the Set Volume Level utility to bring pre-upgrade greetings and voice names to the 3.1(3) dB levels.

4. Check and adjust the Cisco Unity-CM wave gain playback setting, if necessary.

For detailed instructions, see the "Set Volume Level Utility" section.


Set Volume Level Utility

The Set Volume Level utility allows you to level all WAV files on the Cisco Unity server to the same value, and to adjust the playback level, if needed.

Do the procedures in this section on all Cisco Unity systems upgraded to version 3.1(3), and as the initial step in troubleshooting audio volume problems on any 3.1(x) system.

The Set Volume Level utility can be used multiple times to adjust the dB level of greetings and voice name recordings. However, the probability of introducing hiss and distortion onto the recordings increases each time the utility is run on the same recording. To avoid this potential problem, save a copy of the voice name and greeting files before making any adjustments.

To download the latest version of the Set Volume Level utility

Before using the utility, install the updated version from Cisco.com.


Step 1 Go to the Software Center website at http://www.cisco.com/public/sw-center/sw-voice.shtml.

Step 2 Click Unity Utilities (found under "Cisco Unity Software").

Step 3 Download Setvolume.exe.

Step 4 Specify a directory to which the files will be extracted.

Step 5 In Winzip, double-click Setup.exe.

Step 6 Click OK.

Step 7 Click Change Directory, browse to the CommServer\Utilities\VolumeAdjust directory, and follow the on-screen instructions.


To adjust greeting and recorded name recordings


Step 1 On the Cisco Unity server, browse to the directory CommServer\Localize\DefaultConfiguration\<Language>, and make a backup copy of the WAV greeting and recorded name files.

Step 2 Close the Cisco Unity Administrator.

Step 3 Start Regedit.


Caution Changing the wrong registry key or entering an incorrect value can cause the server to malfunction. Before you edit the registry, confirm that you know how to restore it if a problem occurs. (Refer to the "Restoring" topics in Registry Editor Help.) Note that a typical backup of the Cisco Unity server does not back up the registry. Also note that for a Cisco Unity failover system, registry changes on one Cisco Unity server must be made manually on the other Cisco Unity server, because registry changes are not replicated. If you have any questions about changing registry key settings, contact Cisco TAC.

Step 4 If you do not have a current backup of the registry, click Registry > Export Registry File, and save the registry settings to a file.

Step 5 Go to the AGC registry key in HKEY_LOCAL_MACHINE\Software\Active Voice\Miu\1.0.\Initialization.

Step 6 Confirm the AGCsampleSize registry setting is 8000 (Decimal).

Step 7 Confirm the ACGgainThreshold registry setting is 5 (Decimal).

Step 8 Exit Regedit.

Step 9 Browse to the directory CommServer\Utilities\ToolsDepot, and double-click ToolsDepot.exe.

Step 10 In the left pane of the Tools Depot window, double-click Advanced Settings Tool.

Step 11 In the Unity settings pane, double-click AGC.

Step 12 Confirm that the value is set to -26 dB.

Step 13 If you have a Cisco CallManager or dual integration, and if the Cisco CallManager region is set to use the G.711 codec, continue with Step 14. Otherwise skip to
Step 16.

Step 14 In the left pane, under Administrative Tools, double-click Wave Gain.

Step 15 Confirm that both Record Gain and Playback Gain are set to 0.

Step 16 In the left pane of the Tools Depot window, go to Administrative Tools and double-click Volume Adjust. Confirm that the Target dB level is -26.

Step 17 In the Set Volume Level window, click Select All, then click Set DB Level.

When "Finished" appears in the lower pane, all existing greetings and recorded names have been adjusted to the new Target dB level.

Step 18 If you have a Cisco CallManager or dual integration, and if the Cisco CallManager region is set to use the G.711 codec, continue with Step 19. Otherwise, skip to Step 25.

Step 19 Start the Cisco Unity Administrator. Listen to a recording of your choice (for example, a subscriber greeting) by using the Media Master and TRaP (Telephony Record and Playback).

If the volume of the recording is acceptable, skip to Step 25.

If the volume of the recording is too quiet, continue with Step 20.

Step 20 In the left pane, under Administrative Tools, double-click Wave Gain.

Step 21 Increase the Playback Gain by one or two dB. Listen to the volume of a recording. If the volume of the recording is acceptable, continue with Step 22.

If the volume of the recording is still too quiet, repeat this step until the volume is acceptable.

Step 22 In the left pane, under Administrative Tools, double-click Advanced Settings Tool.

Step 23 In the Unity Settings pane, click Wave Gain dB Adjustment for Playback.

Step 24 Enter the desired value, as determined in Step 21, and click Set.

Step 25 Click Exit.

Step 26 Restart the Cisco Unity Administrator.


Advanced Audio Quality Troubleshooting

See Table 5-2 for advanced corrective actions and links to other troubleshooting procedures and information for these symptoms:

Messages and/or Cisco Unity prompts sound garbled or distorted.

A hissing sound is heard when there is no audio from Cisco Unity.

Message playback volume is higher or lower than the volume of Cisco Unity prompts, in special cases.

Table 5-2 Advanced Audio Quality Troubleshooting 

Symptom
General Circumstances
Corrective Action

Messages and/or Cisco Unity prompts sound garbled or distorted.

You are using the G729a codec for message storage and retrieval.

1. Confirm that the G.729a codec is enabled for message storage on Cisco Unity. See the "Set Record Format" section.

2. Confirm that the Cisco CallManager region is set to G.729a. Refer to the appropriate Cisco CallManager Administration Guide, available on Cisco.com at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_callmg/index.htm.

3. Confirm that the Cisco Unity G.729a prompts are installed. Refer to the CiscoUnity3.1.G729aPrompts.Readme, available on the Software Center download website at http://www.cisco.com/public/sw-center/sw-voice.shtml.

4. For more information, refer to White Paper: Audio Codecs and Cisco Unity, available on Cisco.com at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_unity/whitpapr/codecs.htm.

You are using the G.711 codec for message storage and retrieval.

Confirm that the Cisco CallManager region is set to G.711. Refer to the appropriate Cisco CallManager Administration Guide, available on Cisco.com at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_callmg/index.htm.

Hissing noise is heard when there is no audio from Cisco Unity, such as between system prompts or during transfers.

You are using Cisco IP phones.

Check the comfort noise registry setting. See the "Comfort Noise" section.

Message playback volume is higher or lower than the volume of Cisco Unity prompts, in special cases.

Only outside caller messages are affected on a Cisco Unity system version 3.0(x) and earlier.

1. Check the Cisco gateway gain and attenuation levels. Refer to the guide for your gateway, available on Cisco.com at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_access/index.htm.

2. Check the Cisco Unity-CM TSP wave gain playback and record settings. See the "Cisco Unity-CM TSP Wave Gain Utility" section.

Both subscriber and outside caller messages are affected system-wide on a Cisco Unity system version 3.0(x) and earlier.

Check the Cisco Unity-CM TSP wave gain playback and record settings. See the "Cisco Unity-CM TSP Wave Gain Utility" section.

Both subscriber and outside caller messages are affected on a Cisco Unity system version 3.1(x) and later, but only on a certain port or ports.

Check and adjust the port-specific Cisco Unity AGC settings. See the "Automatic Gain Control" section.


Set Record Format

The Set Record Format utility changes the codec used for message storage. Note that the change will apply only to messages stored after the change takes place; the utility does not convert any existing messages or greetings to the new codec.

If a Cisco Unity system has been running for a while and the codec is then changed, Cisco Unity will have messages stored in more than one format. Cisco Unity can transcode between message formats; however, mixed message formats on very busy systems with a Cisco CallManager integration have been known to cause the problem described in caveat CSCae08069.

Note that the registry setting

HKEY_LOCAL_MACHINE\Software\Active Voice\AvSkinny\G729 Enabled = 1

means that the G729a codec is installed on Cisco Unity. This is the default condition on Cisco Unity versions 3.1(1) and later. However, contrary to the name of this registry key, the G729a codec is not used for message storage unless it is enabled by using the Set Record Format utility. See the procedure, To change the Cisco Unity message storage codec.

If you have a Cisco CallManager integration, the registry key

HKEY_LOCAL_MACHINE\Software\Active Voice\AvSkinny\G729 Enabled = 1

means that the Cisco Unity-CM TSP communicates to Cisco CallManager that G.729a is supported in addition to G.711.

For more information on choosing and implementing codecs, refer to White Paper: Audio Codecs and Cisco Unity, available on Cisco.com at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_unity/whitpapr/codecs.htm.

To change the Cisco Unity message storage codec


Step 1 Exit the Cisco Unity software (right-click the Cisco Unity icon in the system tray, then click Stop Cisco Unity).

Step 2 To use the G.711 Mu-law or A-Law, G729a, or GSM 6.10 codec, skip to Step 3.

To use one of the optional Dialogic OKI ADPCM codecs:

a. Go to the Software Center website at http://www.cisco.com/public/sw-center/sw-voice.shtml
Click Other Components under Cisco Unity.

b. Click CiscoUnityDialogicCodec.exe, and download the file to the directory of your choice on the Cisco Unity server.

c. Unzip the CiscoUnityDialogicCodec.exe file to the directory of your choice.

d. Double-click Avvox_setup.exe, and follow the on-screen prompts.

Step 3 Browse to the CommServer\Utilities directory.

Step 4 Double-click SetRecordFormat.exe.

Step 5 In the Format list, select a supported codec, and click OK.

Step 6 Restart the Cisco Unity Administrator.


Cisco Unity-CM TSP Wave Gain Utility

The registry keys shown in Table 5-3 determine how the Cisco Unity-CM TSP adjusts record and playback volume for all recordings (messages, prompts, voice names, and greetings) on a system-wide basis. These registry settings are only applicable with a Cisco CallManager or dual integration where the CallManager region is set to use the G.711 codec.

Use the Wave Gain utility to adjust and test the WaveDBGainPlayback and WaveDBGainRecord levels. The record and playback settings determined by using the Wave Gain utility must be manually entered into the registry by using either the Advanced Settings Tool or Regedit.

Table 5-3 Wave Gain Utility Registry Keys 

Key Name
Purpose
Recommended Setting

WaveDBGainPlayback

Controls the wave driver boost or the reduction of system-wide playback levels for all recordings.

0—When Cisco Unity automatic gain control (AGC) is enabled. This value may be changed if necessary after adjustments are made to the AGC setting.

0xfffffff6 (the default)—version 3.0(x) and earlier systems where Cisco Unity AGC is not present.

WaveDBGainRecord

Controls the wave driver boost or the reduction of recordings system-wide.

0—When AGC is enabled.

5 (the default)— version 3.0(x) and earlier systems where AGC is not present.


For Cisco Unity versions 3.1(x) and later, set both the Cisco Unity-CM TSP Wave Gain record and playback levels to 0 to begin the volume adjustment process. If you have not already done so, first do the procedure, To adjust greeting and recorded name recordings.

If Cisco Unity automatic gain control is not present (version 3.0(x) and earlier systems), then the Cisco Unity-CM TSP Wave Gain playback level setting alone can be adjusted as needed for best sound quality, one or two dB at a time.

To determine the optimum Cisco Unity-CM TSP wave gain settings for Cisco Unity version 3.0(x) and earlier


Step 1 Start Regedit.


Caution Changing the wrong registry key or entering an incorrect value can cause the server to malfunction. Before you edit the registry, confirm that you know how to restore it if a problem occurs. (Refer to the "Restoring" topics in Registry Editor Help.) Note that a typical backup of the Cisco Unity server does not back up the registry. Also note that for a Cisco Unity failover system, registry changes on one Cisco Unity server must be made manually on the other Cisco Unity server, because registry changes are not replicated. If you have any questions about changing registry key settings, contact Cisco TAC.

Step 2 If you do not have a current backup of the registry, click Registry > Export Registry File, and save the registry settings to a file, then close Regedit.

Step 3 Browse to the CommServer\Utilities directory.

Step 4 Double-click Tools Depot.exe.

Step 5 In the left pane, under Administrative Tools, double-click Wave Gain.

Step 6 To increase the recording volume, enter a positive number in the field. To decrease the recording volume, enter a negative number in the field. Do not adjust the value by more than one or two dB.

Step 7 To increase the playback volume, enter a positive number in the field. To decrease the playback volume, enter a negative number in the field. Do not adjust the value by more than one or two dB.

Step 8 Leave a message for a test subscriber.

Step 9 Log on to Cisco Unity and listen to the test subscriber message.

Step 10 If you are not satisfied with the volume of the test subscriber message, repeat Step 6 or Step 7, as necessary.

When you are satisfied with the volume of the test subscriber message, write down the recording and playback volume settings, which you will enter into the registry in the procedure, To update wave gain settings in the registry.


To update wave gain settings in the registry


Step 1 Browse to the CommServer\Utilities directory.

Step 2 Double-click Tools Depot.exe.

Step 3 In the left pane, under Administrative Tools, double-click Advanced Settings Tool.

Step 4 In the Unity Settings pane, click the wave gain adjustment registry key to be edited.

Step 5 Enter a new value, as recorded in Step 10 of the procedure, To determine the optimum Cisco Unity-CM TSP wave gain settings for Cisco Unity version 3.0(x) and earlier, and then click Set.

Step 6 Restart the Cisco Unity server.


Comfort Noise

Comfort noise controls how much background noise a Cisco IP phone generates when there is no audio from Cisco Unity, for example, during a transfer or between system prompts. Comfort noise is controlled by a registry setting, is set system-wide, and is applicable to Cisco CallManager or dual integrations with IP phones only.

If subscribers hear an audible hissing noise when there is no audio from Cisco Unity, confirm that the comfort noise setting is enabled (set to a value other than zero), and then adjust the setting to a lower value if needed. The default value set during the Cisco Unity-CM TSP install is -50dB.


Note The registry setting for comfort noise does not reflect the minus sign, so a registry setting of 50 is actually -50dB.


There will always be some amount of hissing noise between prompts. The comfort noise registry setting only tells the IP phone how loud that hiss should be. A value of zero causes the IP phone to use its default hiss level.

To view and adjust the comfort noise registry setting


Step 1 Start Regedit.


Caution Changing the wrong registry key or entering an incorrect value can cause the server to malfunction. Before you edit the registry, confirm that you know how to restore it if a problem occurs. (Refer to the "Restoring" topics in Registry Editor Help.) Note that a typical backup of the Cisco Unity server does not back up the registry. Also note that for a Cisco Unity failover system, registry changes on one Cisco Unity server must be made manually on the other Cisco Unity server, because registry changes are not replicated. If you have any questions about changing registry key settings, contact Cisco TAC.

Step 2 If you do not have a current backup of the registry, click Registry > Export Registry File, and save the registry settings to a file.

Step 3 Go to the registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
Avaudio\Parameters\ComfortNoise

Modify the ComfortNoise setting as needed. To decrease the volume of background noise between prompts and other audio, increase the setting (for example, to 60 dB). To increase the volume of background noise, reduce the setting (for example, to 40 dB).

To disable comfort noise, set the value to 0.

Step 4 Restart the Cisco Unity server.


Automatic Gain Control

Cisco Unity automatic gain control (AGC) gives subscribers consistent message playback levels through the normalization of recordings. AGC affects recordings only. It is on by default, is controlled by registry settings, and is applied to voice samples after they have passed through all external hardware.

AGC does not improve the quality of recordings; it only addresses volume issues. For example, it cannot improve garbled incoming messages.

Because AGC is enabled by default in Cisco Unity version 3.1(3) and later, systems upgraded from earlier versions to 3.1(3) may experience a problem where the existing greetings and voice name recordings sound louder than new recordings made after the upgrade. To prevent or resolve this problem after an upgrade, use the Set Volume Level utility to match the volume of existing greetings and voice names to the gain levels of the 3.1(3) release. For upgrades from Cisco Unity 3.1(x) to 3.1(3), the AGC target dB is not changed from the pre-upgrade setting; in this case, confirm that it is set to -26 dB.

If your Cisco CallManager region is set to use the G.711 codec, the record and playback settings in the Cisco Unity-CM TSP may need to be changed prior to adjusting AGC settings. If you have not already done so, first do the procedure, To adjust greeting and recorded name recordings.

If you are using Dialogic voice cards, Cisco Unity AGC should be turned on, and the recommended settings for AGC in Table 5-4 are applicable.

The following registry keys determine how Cisco Unity AGC normalizes recordings.

Table 5-4 Automatic Gain Control Registry Keys 

Key Name
Purpose
Recommended Setting

AGCtargetDB

Target root mean square (RMS) power to which all recordings are normalized.

The setting is system-wide, with an optional port-specific override available.

-26 dB.

The accepted range is -18dB to -30dB.

A setting of 0 (zero) disables AGC.

See the procedure, To adjust the Cisco Unity AGC settings.

AGCsampleSize

Buffer sample size used to calculate the average RMS power level.

8000.

AGCuseCompression

Determines if a sample is clipped when a gain adjustment is applied. A value of 1 will not clip the sample; 0 clips the sample to the minimum/maximum values.

1.

(0 = clipped sample; disables compression).

ACGgainThreshold

Maximum dB gain (+/-) applied to a sample to bring it to the target dB level.

5dB


To determine if Cisco Unity AGC is on or off


Step 1 Using the Advanced Settings Tool or Regedit, go to the AGC registry key in HKEY_LOCAL_MACHINE\Software\Active Voice\Miu\1.0.\Initialization.

Automatic gain control is off if the registry setting is 0 (zero).

Automatic gain control is on if the registry setting has a value other than 0 (zero). The default setting is -26 dB.


To adjust the Cisco Unity AGC settings


Step 1 Start Regedit.


Caution Changing the wrong registry key or entering an incorrect value can cause the server to malfunction. Before you edit the registry, confirm that you know how to restore it if a problem occurs. (Refer to the "Restoring" topics in Registry Editor Help.) Note that a typical backup of the Cisco Unity server does not back up the registry. Also note that for a Cisco Unity failover system, registry changes on one Cisco Unity server must be made manually on the other Cisco Unity server, because registry changes are not replicated. If you have any questions about changing registry key settings, contact Cisco TAC.

Step 2 If you do not have a current backup of the registry, click Registry > Export Registry File, and save the registry settings to a file.

Step 3 Using the Advanced Settings Tool or Regedit, go to the AGC registry key in HKEY_LOCAL_MACHINE\Software\Active Voice\Miu\1.0.\Initialization.

The AGCtargetDB default setting is -26 dB, which should be used for all Cisco Unity version 3.1(x) and later systems. If you are using Regedit to make the change, use a hex calculator (such as the one provided with Windows) to convert the -26 dB value to hex, or use the -26 dB value provided in the table in Step 6.

Step 4 Using Regedit, confirm the AGCsampleSize and ACGgainThreshold registry settings are consistent with the recommended values in Table 5-4.

Step 5 If inconsistent recording levels are found on a certain port or group of ports—due to gateways, external trunks, or other port-specific factors—AGC can be configured on a per-port basis. Add the following key as needed for each affected port:

HKEY_LOCAL_MACHINE\Software\Active Voice\Miu\1.0.\Initialization
\Port n\

where n is the port number to which the AGC setting will be applied.

Step 6 Add the new DWORD value AGCtargetDB for each port key created in Step 5 and set it to an appropriate hex value within the recommended range. If you are using Regedit to make the change, use a hex calculator (such as the one provided with Windows) to convert the desired value to hex, or use a value provided in the table below. Use caution when choosing a value other than -26 dB.

Decimal dB Value
Hex Value

-18 dB

0xFFFFFFEE

-20 dB

0xFFFFFFEC

-22 dB

0xFFFFFFEA

-24 dB

0xFFFFFFE8

-26 dB

0xFFFFFFE6

-28 dB

0xFFFFFFE4

-30 dB

0xFFFFFFE2


Step 7 Restart the Cisco Unity server.