Cisco Unity Troubleshooting Guide (With Microsoft Exchange), Release 4.0(5)
Audio Quality

Table Of Contents

Audio Quality

About Audio Quality Problems

Audio Quality Problems in Cisco Unity

Setting the Volume Level of Greetings and Recorded Names

Setting the Speed Level of System Prompts

Setting the Speed Level for Subscriber Messages

Advanced Audio Quality Troubleshooting in Cisco Unity

Viewing and Changing the Codec In Use on a Cisco Unity System

Cisco Unity-CM TSP Wave Gain

Automatic Gain Control

Cisco Unity Automatic Gain Control and Registry Settings

Dialogic Voice Card Automatic Gain Control and Registry Settings

Comfort Noise

Audio Troubleshooting Utilities

AudioStat

CAP Ripper

RTP Parser


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. Audio quality symptoms may not be present for every subscriber, or may not consistently appear for every message or 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

The most common symptoms of audio quality problems in Cisco Unity are:

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

The speed of Cisco Unity system prompts, messages, voice names, and greetings is too slow or too fast for some subscribers, or the speed at which Cisco Unity plays menus, voice names, greetings, and messages is inconsistent.

There is an excessive amount of leading or trailing silence on voice names or greetings.

Audio is broken up during message playback.

See Table 8-1 for basic corrective action.

Table 8-1 Basic Audio Quality Troubleshooting for Cisco Unity 

Symptom
General Circumstances
Corrective Action(s)

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

The problem may affect only certain greetings and voice names.

The problem may occur only after an upgrade.

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

2. Run the Set Volume Level utility to bring pre-upgrade greetings and voice names to the correct dB levels.

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

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

For detailed instructions, see the "Setting the Volume Level of Greetings and Recorded Names" section.

The speed of Cisco Unity system prompts, messages, voice names, and greetings is too slow or too fast for some subscribers.

Some subscribers may want or need Cisco Unity to play menus and messages at a different rate than other subscribers prefer.

Adjust the speed of system prompts for individual subscribers, or tell them how to do it themselves. Subscribers can adjust the speed for message playback themselves.

For details, see the "Setting the Speed Level of System Prompts" section and the "Setting the Speed Level for Subscriber Messages" section.

The speed at which Cisco Unity plays menus, voice names, greetings, and messages is inconsistent.

For example, subscribers may report that when they listen to a message, it is played at a different speed than the voice name of the subscriber who left the message, and the message properties (such as the timestamp and message number).

Such inconsistencies are expected. Consider the following:

Cisco Unity plays recorded voice names and greetings at the speed at which they were recorded. Neither you nor subscribers can change the playback speed of voice names and greetings.

The speed that you or a subscriber specifies for system prompts—the standard recordings that come with the Cisco Unity system, including prompts for message properties—does not affect the playback speed used for messages.

The speed that subscribers specify for message playback does not affect system prompts.

Adjust the system prompt and message speed so that they are similar. You can adjust the speed of system prompts for all subscribers or for a single individual. Subscribers can adjust the speed for system prompts and messages themselves.

For details, see the "Setting the Speed Level of System Prompts" section and the "Setting the Speed Level for Subscriber Messages" section.

Greetings and/or voice names have excessive amounts of leading or trailing silence.

Voice names may be synchronized with an external system.

Run the Silence Trimmer tool, available in Tools Depot. For instructions on using Silence Trimmer, refer to Help for the tool.

When subscribers listen to messages, the audio is broken up.

Subscribers have the Media Master control bar set to use their computer speakers as the preferred playback device and they are working with Cisco Unity ViewMail for Microsoft Outlook and/or the Cisco Unity Inbox in a low-bandwidth environment (for example, with a slow modem or in a branch office).

As applicable, set up Cisco Unity ViewMail for Microsoft Outlook and/or the Cisco Unity Inbox to download messages before playing them.

For details, refer to the "Customizing ViewMail for Optimal Performance" and the "Customizing Cisco Unity Inbox for Low Bandwidth Deployments" sections in the "Setting Up Cisco Unity Applications on Subscriber Workstations" chapter of the Cisco Unity System Administration Guide. The guide is available at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_unity/unity40/sag/sag405/ex/index.htm.


Setting the Volume Level of Greetings and Recorded Names

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.

Because automatic gain control is enabled by default (in Cisco Unity version 3.1(2c) and later systems, and in Cisco CallManager and dual integration version 4.0(3) and later systems), after an upgrade you may experience a problem in which the existing greeting and name recordings sound louder than new greetings and names recorded after the upgrade.

The Cisco Unity registry setting AGCminimumThreshold controls the minimum dB level of an incoming recording that Cisco Unity attempts to adjust. The setting prevents both silence in a message and background hiss from being adjusted. The AGCminimumThreshold has a default setting of -45 dB and an allowable range of -35 dB to -55 dB.

The following procedure levels all WAV files on the Cisco Unity server to the same value, and provides instructions for adjusting the playback level, if necessary.


Note For Cisco Unity failover, registry changes on one Cisco Unity server must be made manually on the other Cisco Unity server in the failover pair, because registry changes are not replicated.


To Adjust Greeting and Name Recordings by Using the Set Volume Utility


Step 1 On the Cisco Unity server desktop, double-click the Cisco Unity Tools Depot icon.

Step 2 If you do not have a Cisco CallManager integration, skip to Step 4.

If you have a Cisco CallManager integration, and the Cisco CallManager region is set to use the G.711 codec, in the left pane, under Administrative Tools, double-click Wave Gain.

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

Step 4 In the left pane of the Tools Depot window, browse to Audio Management Tools, and double-click Set Volume.

Step 5 In the Set Greetings and Voice Names window, click Select All.

Step 6 Confirm that the Save Original Files check box is checked, then enter the location to which the backup copy of the original recorded names and greetings files will be saved.

Step 7 In the Options section, verify that the values match those shown in the following table.

New Target dB

-26

Sample Size

8000

Max dB Adjustment

5

Min. dB Threshold

-45


Step 8 Confirm that the Save Above Volume Options check box is checked. Note that setting New Target dB to a value other than zero turns on automatic gain control.

Step 9 Click Set Volume Level.

Step 10 When "Done" appears in the Set Volume window, all existing greeting and name recordings have been adjusted to the New Target dB level. Click OK, and then click Exit.

Step 11 If you do not have a Cisco CallManager integration, you have completed all necessary steps in this procedure.

If you have a Cisco CallManager integration, and the Cisco CallManager region is set to use the G.711 codec, start the Cisco Unity Administrator.

Step 12 Go to any page in the Cisco Unity Administrator that contains a Media Master control bar, and verify that the phone is selected as the playback device.


Note In order to use the phone as a recording and playback device, Cisco Unity must have at least one port assigned for a TRAP Connection per session on the System > Ports page. Refer to the "Voice Messaging Port Settings" section in the "System Settings" chapter of the Cisco Unity System Administration Guide for more information. The guide is available at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_unity/unity40/sag/sag405/ex/index.htm.


Step 13 Click Play on the Media Master control bar to listen to a recording (for example, a subscriber greeting) over the phone.

If the volume of the recording is acceptable, you have completed all necessary steps in this procedure.

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

Step 14 In the left pane of the Tools Depot window, under Audio Management Tools, double-click Wave Gain.

Step 15 Increase the Playback Gain value by one or two dB. Listen to the volume of a recording.

If the volume of the recording is acceptable, note the Playback Gain value and continue with Step 16.

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

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

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

Step 18 Enter the new value determined in Step 15, and click Set.

Step 19 When prompted, click OK. You do not need to restart the Cisco Unity server to enable the registry change.

Step 20 Click Exit.

Step 21 If the Cisco Unity system is configured for failover, repeat Step 1 through Step 20 on the secondary server in the failover pair.


Setting the Speed Level of System Prompts

You can specify how fast Cisco Unity plays all system prompts in two ways, as described below.


Note The speed you specify for system prompts does not affect the playback speed of recorded voice names, greetings, or messages.


Run the Set Prompt Speed utility to set the speed at which Cisco Unity plays system prompts for all subscribers on a Cisco Unity server. For instructions, refer to the Set Prompt Speed utility Help. In particular, review the Requirements/Special Notes section before you run the utility.

Alternatively, consider specifying appropriate prompt speeds for each subscriber on the applicable Conversation page for a subscriber template or for an individual subscriber in the Cisco Unity Administrator, or by using the Bulk Edit utility. Refer to the "Subscriber Template Conversation Settings" section or the "Subscriber Conversation Settings" section in the Cisco Unity System Administration Guide. The guide is available at http://www.cisco.com/univercd/cc/td/doc/product/voice/c_unity/unity40/sag/sag405/ex/index.htm.

In addition, subscribers can use the Cisco Unity Assistant to adjust prompt speed themselves. Refer subscribers to the "Overview: Changing Recording and Playback Settings" chapter in the Cisco Unity User Guide, available at http://www.cisco.com/en/US/products/sw/voicesw/ps2237/products_user_guide_list.html.

Setting the Speed Level for Subscriber Messages

You cannot specify the speed at which Cisco Unity plays all subscriber messages. Instead, subscribers can adjust the playback speed of their messages by phone or from a Media Master control bar. (Not all phone system integrations support speed control by phone.)

Instructions for adjusting the playback speed of messages can be found in the "Overview: Changing Recording and Playback Settings" chapter in the Cisco Unity User Guide. The guide is available at http://www.cisco.com/en/US/products/sw/voicesw/ps2237/products_user_guide_list.html.

Advanced Audio Quality Troubleshooting in Cisco Unity

See Table 8-2 for advanced corrective actions and links to other troubleshooting procedures and information for the following symptoms:

Messages and/or Cisco Unity system prompts sound 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 system prompts, in certain cases.

TTY characters are garbled or missing.

Callers can hear Cisco Unity system prompts, but Cisco Unity does not transmit any audio when a caller speaks.

For additional advanced audio troubleshooting tools, see the "Audio Troubleshooting Utilities" section.

Table 8-2 Advanced Audio Quality Troubleshooting 

Symptom
General Circumstances
Corrective Action

Messages and/or Cisco Unity system prompts sound distorted.

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

1. Confirm that the G.729a codec is being used for message recording on the Cisco Unity server. See the "To View the Message Recording and Storage Codec" procedure.

Note that when subscribers use a computer microphone as the recording device with Cisco Unity ViewMail for Microsoft Outlook and the Cisco Unity Inbox, their recordings are saved on the Cisco Unity server in the G.711 format—even when this is not the recording and storage codec specified for the Cisco Unity server.

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

3. Confirm that the greetings, system prompts, and recorded names are in G.729a format. See the "To View the Codec Format of Existing Greetings, Recorded Names, and System Prompts" procedure.

Note that when a subscribers record their names and greetings by pasting a WAV file that is stored on their computers into the Media Master control bar, the file is converted and saved on the Cisco Unity server in the G.711 format—even when this is not the recording and storage codec specified for the Cisco Unity server.

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

1. Confirm that the G.711 codec is being used for message recording on the Cisco Unity server. See the "To View the Message Recording and Storage Codec" procedure.

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

3. Confirm that the greetings, system prompts, and recorded names are in G.711 format. See the "To View the Codec Format of Existing Greetings, Recorded Names, and System Prompts" procedure.

Only messages from unidentified callers are affected.

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

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

The problem can be reproduced on multiple subscriber phones.

Check the Cisco Unity comfort noise registry setting. See the "To View and Adjust the Cisco Unity Comfort Noise Registry Setting" procedure.

TTY characters are garbled or missing.

The problem occurs when using TTY phones.

1. Disable the Cisco Unity comfort noise registry setting. See the "To View and Adjust the Cisco Unity Comfort Noise Registry Setting" procedure.

2. Confirm that the G.711 codec is being used for message recording on the Cisco Unity server. See the "To View the Message Recording and Storage Codec" procedure. G.711 MuLaw must be selected as the message recording and storage codec if you are using the Cisco Unity TTY language. Cisco Unity TTY is not compatible with G.729a or any other message recording and storage codecs.

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

Affects unidentified caller messages only.

1. Check the Cisco gateway gain and attenuation levels. Refer to the guide for your gateway, available 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" section.

Both subscriber and unidentified caller messages are affected.

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

Cisco Unity plays system prompts but does not transmit voice.

The Cisco Unity server has dual NICs.

See the "Cisco Unity Plays System Prompts but Does Not Transmit Voice" section on page 11-1.


Viewing and Changing the Codec In Use on a Cisco Unity System

When the recording and storage codec is changed on a Cisco Unity system that has been running for a while, it is possible that greetings, voice names, prompts, and messages may be stored in more than one format. Cisco Unity can transcode between formats; however, we do not recommend that you use mixed formats on very busy systems.

To troubleshoot this problem, do the following procedures, as applicable:

To view the codec currently in use for message recording and storage, do the "To View the Message Recording and Storage Codec" procedure.

To view codec information for existing greetings, voice names, and system prompts, do the "To View the Codec Format of Existing Greetings, Recorded Names, and System Prompts" procedure.

To change the codec format for message recording and storage, do the "To Change the Message Recording and Storage Codec" procedure.

To change the codec format for existing greetings and voice names, do the "To Change the Codec Format of Existing Greetings and Recorded Names" procedure.

To change the codec format of system prompts, do the "To Run the Cisco Unity Installation and Configuration Assistant to Change the System Prompt Codec Format" procedure.


Note For Cisco Unity failover, codec changes on one Cisco Unity server must be made manually on the other Cisco Unity server in the failover pair, because codec changes are not replicated.


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

To View the Message Recording and Storage Codec


Step 1 On the Cisco Unity desktop, double-click the Cisco Unity Tools Depot icon.

Step 2 In the left pane, under Audio Management Tools, double-click Set Record Format.

Step 3 The codec in use for Cisco Unity message recording and storage is displayed in the Format field.


To View the Codec Format of Existing Greetings, Recorded Names, and System Prompts


Step 1 On the Cisco Unity desktop, double-click the Cisco Unity Tools Depot icon.

Step 2 In the left pane, under Audio Management Tools, double-click Codec Checker. In the Codec Checker window, codec information appears in the first column of the Greetings and Voice Names table and of the Prompts table.

Step 3 Export a CSV copy of the information displayed by the Codec Checker, if applicable.

Step 4 Click Exit.


To Change the Message Recording and Storage Codec


Step 1 Stop Cisco Unity (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, G.729a, G.726, or GSM 6.10 codec, skip to Step 3.

To use one of the optional OKI ADPCM codecs (6 kHz or 8 kHz):

a. Go to the Other Cisco Unity Components Software Download page at http://www.cisco.com/cgi-bin/tablebuild.pl/unity.


Note To access the software download page, you must be logged on to Cisco.com as a registered user.


b. Click CiscoUnityDialogicCodec.exe, and download the file to the directory of your choice on the Cisco Unity server and on the server on which the Cisco Unity Voice Connector is installed, if applicable.

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 On the Cisco Unity desktop, double-click the Cisco Unity Tools Depot icon.

Step 4 In the left pane, under Audio Management Tools, double-click Set Record Format.

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

Step 6 Restart the Cisco Unity server.

Step 7 If the Cisco Unity system is configured for failover, repeat Step 1 through Step 6 on the secondary server.


To Change the Codec Format of Existing Greetings and Recorded Names


Step 1 On the Cisco Unity desktop, double-click the Cisco Unity Tools Depot icon.

Step 2 In the left pane, under Audio Management Tools, double-click Set WAV Format.

Step 3 Under Select Greetings and Voice Names to Adjust, click Select All.

Step 4 Under Back Up Original Voice Names and Greetings, check the Save Original Files To check box, and enter a location to which to save the files.

Step 5 In the New WAV File Format list, click the new codec.

Step 6 Click Set WAV Format.

Step 7 When the Set Wave Format dialog box displays "Finished," click OK to view the log file, which lists the greetings and recorded names that were updated.

Step 8 Close the log file, and click Exit.

Step 9 If the Cisco Unity system is configured for failover, repeat Step 1 through Step 8 on the secondary server.


To Run the Cisco Unity Installation and Configuration Assistant to Change the System Prompt Codec Format

For a Cisco Unity system running version 4.0(1) or later, you choose either the G.711 or the G.729a system prompt codec format during installation or during an upgrade. To change the format at any other time, do the following procedure. If you change the system prompt format from G.711 to G.729a, also do the "To Change the Record Beep Prompt Codec Format" procedure.

When you run the Cisco Unity Installation and Configuration Assistant to add or change features, you may be required to complete wizards that are not directly related to the change that you are making to Cisco Unity because the assistant removes and recopies Cisco Unity files.


Step 1 Log on to Windows by using the Cisco Unity installation account.


Note If you have not already done so, disable virus-scanning and Cisco Security Agent services on the server, if applicable. Otherwise, the installation may fail.


Step 2 On Cisco Unity DVD 1 or CD 1, or from the location to which you saved the downloaded Cisco Unity CD 1 image files, browse to the root directory and double-click Setup.exe.

Step 3 If Cisco Unity is not set up to use SSL, the Set Up the Cisco Personal Communications Assistant to Use SSL page appears. Click Do Not Set Up Cisco Personal Communications Assistant to Use SSL, and click Next.


Note If you want to set up Cisco Unity to use SSL, see the "Manual Procedures for Setting Up Cisco Unity to Use SSL" chapter of the applicable Cisco Unity installation guide at http://www.cisco.com/en/US/products/sw/voicesw/ps2237/prod_installation_guides_list.html.


Step 4 On the Summary screen, click Add or Change Cisco Unity Features.

Step 5 On the Install Cisco Unity screen, click Run the Cisco Unity Setup Program.


Note Note that by running the Cisco Unity Setup program, you are reinstalling the version of Cisco Unity on the disc.


Step 6 In the Setup dialog box, click Next.

Step 7 Follow the on-screen prompts until the Select Features dialog box appears.

Step 8 In the Select Features dialog box:

a. Check the Upgrade Cisco Unity check box.

b. If the Cisco Unity license includes text to speech, check the Enable TTS check box.

If not, uncheck the Enable TTS check box.

c. Uncheck the Install Voice Card Software check box.

Step 9 Follow the on-screen prompts until the Choose the System Prompt Set dialog box appears.

Step 10 In the Choose the System Prompt Set dialog box, choose either the G.711 or G.729a prompt set format.

Step 11 Follow the on-screen prompts until you are prompted to restart the Cisco Unity server.

Step 12 Check the Yes, I Want to Restart My Computer Now check box, and click Finish.

Step 13 In the main window of the Cisco Unity Installation and Configuration Assistant, click Run the Cisco Unity Services Configuration Wizard. (Note that you should be logged on to Windows with the Cisco Unity installation account.)

Step 14 On the Welcome screen, click Next.

Step 15 Follow the on-screen prompts to complete the services configuration.

Step 16 In the main window of the assistant, click Run the Cisco Unity Message Store Configuration Wizard. (Note that you should be logged on to Windows with the Cisco Unity installation account.)

Step 17 On the Welcome screen, click Next.

Step 18 Follow the on-screen prompts to complete the message store configuration.

Step 19 Click Finish.

Step 20 On the Summary screen, click Close.

Step 21 If the Cisco Unity system is configured for failover, repeat Step 1 through Step 20 on the secondary server.


Do the following procedure only if you changed the system prompt codec format from G.711 to G.729a.

To Change the Record Beep Prompt Codec Format


Step 1 On the Cisco Unity server, on the Windows Start menu, click Programs > Accessories > Entertainment > Sound Recorder.

Step 2 In the Sound - Sound Recorder dialog box, on the File menu, click Open.

Step 3 Browse to the directory CommServer\Support.

Step 4 Double-click the Recordbeep.wav file.

Step 5 In the Recordbeep Sound Recorder dialog box, on the File menu, click Properties.

Step 6 In the Properties for Recordbeep.wav dialog box, click Convert Now.

Step 7 In the Sound Selection dialog box, in the Format list, click G.729a.

Step 8 Click OK twice to close the Sound Selection and the Properties for Recordbeep.wav dialog boxes.

Step 9 In the Recordbeep Sound Recorder dialog box, on the File menu, click Save.

Step 10 On the File menu, click Exit.

Step 11 If the Cisco Unity system is configured for failover, repeat Step 1 through Step 10 on the secondary server.


Cisco Unity-CM TSP Wave Gain

The registry keys shown in Table 8-3 determine how the Cisco Unity-CM TSP adjusts record and playback volume for all recordings (messages, prompts, voice names, and greetings) for IP devices in a Cisco CallManager region that contains Cisco Unity and is set to use the G.711 codec.

These registry settings are only applicable with a Cisco CallManager integration. If you have a PBX integration that uses Dialogic voice cards, see the "Dialogic Voice Card Automatic Gain Control and Registry Settings" section.

Table 8-3 Cisco Unity-CM TSP Wave Gain Registry Settings 

Key Name
Purpose
Recommended Setting

WaveDBGainPlayback

Controls the wave driver boost or the reduction of systemwide playback levels for all recordings.

0

WaveDBGainRecord

Controls the wave driver boost or the reduction of recordings systemwide.

0


Confirm that both the Cisco Unity-CM TSP Wave Gain record and playback levels are set to 0 by using the Wave Gain utility, available in the Audio Management section of Tools Depot.

If you have not already done so, do the "To Adjust Greeting and Name Recordings by Using the Set Volume Utility" procedure.

Automatic Gain Control

Cisco Unity Automatic Gain Control and Registry Settings

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 except for single legacy PBX integrations, 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.

Systems upgraded from versions 3.1(2c) and earlier may experience a problem where the existing greeting and name recordings sound louder than new greetings and names recorded after the upgrade. To prevent or resolve this problem after an upgrade, use the Set Volume utility to match the existing greeting and name recordings to the gain levels of Cisco Unity after the upgrade. The default values for the registry settings should be used for all Cisco Unity upgrades. If you have not already done so, do the procedures in the "Setting the Volume Level of Greetings and Recorded Names" section.

The registry keys shown in Table 8-4 determine how Cisco Unity AGC normalizes recordings.

If you are using Dialogic voice cards with a single legacy PBX integration, Cisco Unity AGC is disabled by default for all upgrades and new installations beginning with version 4.0(3). Cisco Unity AGC can be disabled manually in earlier versions if audio quality problems are encountered. See the "To Disable Cisco Unity AGC (For a Single Legacy PBX Integration Only)" procedure.

If you are using Dialogic voice cards with a dual integration, we recommend that you disable Cisco Unity AGC on the ports assigned to the legacy PBX integration. See the "To Disable Cisco Unity AGC (For a Legacy PBX in a Dual Integration Only)" procedure.

Table 8-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 systemwide.

-26 dB

The accepted range is -18dB to -30dB

A setting of 0 (zero) disables AGC

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)

AGCgainThreshold

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

5 dB

AGCminimumThreshold

Controls the minimum dB level of an incoming recording that Cisco Unity attempts to adjust. The setting prevents silence in a message and background hiss from being adjusted.

-45 dB

The accepted range is -35 dB to -55 dB


To Disable Cisco Unity AGC (For a Single Legacy PBX Integration Only)


Step 1 Exit the Cisco Unity Administrator.

Step 2 On the Cisco Unity server desktop, double-click the Cisco Unity Tools Depot icon.

Step 3 In the left pane of the Tools Depot window, browse to Audio Management Tools, and double-click Set Volume.

Step 4 In the Set Greetings and Voice Names window, click Select All.

Step 5 Confirm that the Save Original Files check box is checked, then enter the location to which the backup copy of the original recorded names and greetings files will be saved.

Step 6 In the Options section, set New Target dB to 0 (zero).

Step 7 Confirm that the Save Above Volume Options check box is checked. Note that setting New Target dB to a value other than zero turns on automatic gain control.

Step 8 Click Set Volume Level.

Step 9 When "Done" appears in the Set Volume window, all existing greeting and name recordings have been adjusted to the New Target dB level with AGC disabled.

Step 10 Click OK, and then click Exit.

Step 11 If you are using failover, repeat this procedure to apply the setting to the secondary server.


To Disable Cisco Unity AGC (For a Legacy PBX in a Dual Integration Only)


Step 1 On the Cisco Unity server, click Programs > Cisco Unity > Manage Integrations. The Cisco Unity Telephony Integration Manager (UTIM) appears.

Step 2 In the left pane, click Integration > Properties for the integration that is using Dialogic voice cards.

Step 3 Click the Gain Control tab.

Step 4 Uncheck the Enable Automatic Gain Control for this Integration check box.

Step 5 In the UTIM window, click Save.

Step 6 If you are using failover, repeat this procedure on the secondary server in the failover pair.


Dialogic Voice Card Automatic Gain Control and Registry Settings

Dialogic voice cards adjust the volume of recorded messages by using their own on-board AGC. Adjusting the playback volume for all recordings on systems equipped with Dialogic voice cards is done by changing the Median Volume registry setting. This setting is also used in the case of a dual integration, when you want to change the output volume level on the PBX side without affecting the Cisco CallManager side.

If you are using Dialogic voice cards with a single switch integration, Cisco Unity AGC is disabled by default for all upgrades and new installations beginning with version 4.0(3), and can be disabled manually in earlier versions if audio problems are encountered. See the "To Disable Cisco Unity AGC (For a Single Legacy PBX Integration Only)" procedure.

If you are using Dialogic voice cards with a dual integration, we recommend that you disable Cisco Unity AGC on the ports assigned to the legacy PBX integration. See the "To Disable Cisco Unity AGC (For a Legacy PBX in a Dual Integration Only)" procedure.

To Adjust the Playback Volume of Recordings for Cisco Unity Systems Equipped with Dialogic Voice Cards


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 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 Regedit, expand the registry key

HKEY_LOCAL_MACHINE\Software\Active Voice\Miu\1.0.\Initialization\Service Provider <n>

where <n> is a single digit number. (There may be more than one Service Provider key on your system.) Locate the Service Provider key whose Service Provider Name is D41MT.TSP.

Step 4 Expand the MedianVolume key.

Step 5 In the Base window, click Decimal.

The default setting for analog voice cards is 50, and the accepted range is between 0 and 100. Note that this setting is not in decibels, and that the numerical values are not linear. For example, a setting of 100 is louder, but not twice as loud as 50. Make a small adjustment to this setting of no more than 10 units louder or quieter.

Step 6 To adjust the playback volume for Text to Speech recordings (TTS), browse to the Median TTS Volume key.

Step 7 In the Base window, click Decimal.

The default setting for analog voice cards is 50, and the accepted range is between 0 and 100. Like the Median Volume key, this setting is not in decibels, and the adjustments are not linear. Make a small adjustment to this setting of no more than 10 units louder or quieter.

Step 8 Restart the Cisco Unity server.

Step 9 Test the playback levels of several recordings. If the volume levels are acceptable, you have completed all steps necessary in this procedure. If the volume levels are too high or too low, repeat Step 3 through Step 8, and retest until you are satisfied with the results.

Step 10 If you are using failover, repeat this procedure on the secondary server in the failover pair.


Comfort Noise

Comfort noise is low-level background noise generated on a IP device. Its purpose is to simulate the hiss produced in a circuit-switched connection, and it can be generated to help provide reassurance to callers when there is no audio from Cisco Unity, for example, during a transfer or between system prompts.

Comfort noise is not sent over the network, and is audible only on the IP device that receives a comfort noise generation packet. Comfort noise generation packets are sent by Cisco Unity when it is integrated with Cisco CallManager, and when the registry setting HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Avaudio\Parameters\ComfortNoise is enabled.

The Cisco Unity ComfortNoise registry setting is a systemwide setting that controls the ability of Cisco Unity to send comfort noise generation packets to an IP phone, or to a gateway that is enabled to receive and respond to comfort noise generation packets. This registry setting does not affect comfort noise generation on a call between two IP phones. Cisco Unity also does not respond to comfort noise generation packets sent by other devices. These packets are treated as silence at the wave driver level.

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

If subscribers report that some Cisco Unity prompts sound mechanical or computerized when played back over the phone, this may be the result of a gateway-induced jitter buffer problem. Disabling Cisco Unity comfort noise resolves this issue.

If you are using the Cisco Unity TTY (ENX) language and TTY phones, and you are using direct connect mode to an FXS port (H.323 or MGCP to CCM3.3(2)), TTY subscribers may encounter occasional dropped or garbled TTY characters. Disabling the Cisco Unity comfort noise setting will correct this problem.


Note The registry setting for Cisco Unity 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 Cisco Unity ComfortNoise registry setting only tells the IP phone or gateway how loud that hiss should be. A value of 128 causes the IP phone or gateway to use its default hiss level.

To View and Adjust the Cisco Unity 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 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 Expand the registry key

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Avaudio\Parameters\ComfortNoise

Step 4 In the Edit Dword Value window, click Decimal.

Step 5 Modify the Cisco Unity comfort noise setting as needed (valid settings are 0 through 128):

To decrease the volume of background noise between prompts and other audio, increase the setting (for example, to 60 dB). Make small adjustments to this setting of no more than 10 units.

To increase the volume of background noise, reduce the setting (for example, to 40 dB). Make small adjustments to this setting of no more than 10 units.

To disable Cisco Unity comfort noise, set the value to 128.

Step 6 Click OK.

Step 7 Restart the Cisco Unity server.

Step 8 If you are using failover, repeat this procedure on the secondary server in the failover pair.


Audio Troubleshooting Utilities

The following advanced audio utilities can be used to troubleshoot audio problems.


Caution We recommend that you use these tools only with Cisco TAC supervision.

AudioStat

The AudioStat utility, available in Tools Depot, allows audio driver statistics to be viewed in real time. The information provided by the AudioStat utility can help isolate audio quality issues caused by packet delay and codec-related problems.

The AudioStat utility requires version 7.0(3) or later of the Cisco Unity-CM TSP to properly display audio information.

The Global tab displays information about the number of incoming and outgoing packets, RTP header errors, playback and recording counts, the number of out-of-sequence packets, and the number of times silence was inserted. See Table 8-5.

Table 8-5 AudioStat Utility Global Tab 

Field Name
Description

G711 Packets

G729 Packets

Number of incoming and outgoing G.711 and G.729a Real-Time Transport Protocol (RTP) packets.

Note that packets are constantly being received, even if a recording is not in progress.

Other Packets

Number of other types of RTP packets sent and received, such as AVT tones or unknown audio formats received.

Out of Sequence

Number of packets received out of sequence.

RTP Header Errors

Number of RTP headers that were invalid.

Exceeded Silence Threshold

Usually indicates that silence was inserted by the audio driver, due to a missing packet.

Note that a missing packet does not necessarily mean that there is a network issue. Some IP devices may not send any audio packets when the audio that would otherwise be sent is silence.

Playback Count and Record Count

Number of playbacks and recordings.


The Device tab displays the current status for each device. A red icon in the Device column indicates a recording in progress. When a recording ends, the data from that recording is displayed in the Record Log tab. To sort by a column, click the column heading. See Table 8-6.

Table 8-6 AudioStat Utility Device Tab 

Field Name
Description

Device

Audio device number used for the recording. A red icon indicates a recording in progress.

State

Current activity.

Start Time

Time that the recording started.

Avg (ms)

Average time between packets (in milliseconds).

Src IP Addr

Source IP address of the recording (for example, IP phone or gateway).

Src Port

Source port of the recording.

Local Port

UDP port number used by Cisco Unity for the recording.

Codec

Recording format.

Duration

Length of the recording (in seconds).

Silence Inserted

Silence inserted in the recording (in seconds).


The Record Log tab displays a log of recording sessions. By default, the log is sorted by recording end time. To sort by a column, click the column heading. The Record Log Settings menu offers the following options for data collection and display:

To change the maximum number of lines that are displayed in the Record Log window, click Settings > Options.

To save the data in the Record Log window to an output file, click Settings > Logging, and then specify a file name and location.

See Table 8-7.

Table 8-7 AudioStat Utility Record Log Tab 

Field Name
Description

Device

Audio device number used for the recording.

Start Time

Time that the recording started.

End Time

Time that the recording ended.

Avg (ms)

Average time between packets (in milliseconds).

Src IP Addr

Source IP address of the recording (for example, an IP phone or gateway).

Src Port

Source port of the recording.

Local Port

User Datagram Protocol (UDP) port number used by Cisco Unity for the recording.

Codec

Recording format.

Duration

Length of the recording (in seconds).

Silence inserted

Silence inserted in the recording (in seconds).


CAP Ripper

The CAP Ripper utility extracts RTP audio from .cap files created by Sniffer Pro or Network Monitor.

Network Monitor (also known as NetMon) is a utility that comes with Microsoft Systems Management Server and Microsoft Windows 2000 Server. You use NetMon to capture and observe network traffic patterns and problems. For information on using NetMon, refer to the Microsoft Knowledge Base Article Q294818, available on the Microsoft Product Support website.

The CAP Ripper utility creates WAV files for each unique IP source and destination.

To Extract Audio by Using the CAP Ripper Utility


Step 1 Create a .cap file containing RTP audio by using NetMon or Sniffer Pro.

Step 2 Copy the .cap file to the \CommServer\Utilities\Audio directory on the Cisco Unity server.

Step 3 At a command prompt, browse to the \CommServer\Utilities\Audio directory, and enter capripper <Name of .cap file>.

For example, enter capripper capture1.cap.

WAV file output is generated for each unique IP source/destination combination. For example:

Creating 10.93.248.235(31640) to 10.93.248.227(22818).wav

Creating 10.93.248.227(22816) to 10.93.248.235(31640).wav

Step 4 Use the -s option to provide additional troubleshooting information about timing delays and sequencing of packets. For example, enter capripper -s capture1.cap.

The output shows detailed information from each of the WAV files. For example:

10.93.248.235(31640) to 10.93.248.227(22818).wav
RTP packets processed 275
Start seq 4881 End seq 5155
Format g729a
No packets out of sequence
Avg. time between packets 20.03ms
Longest packet delay 20ms
Total frames in .cap file 1433

Step 5 If you receive the error message "No voice RTP packets found" when attempting to extract audio from a .cap file, verify that the capture file you are working with contains RTP packets.

If you are using a NetMon capture, and you are sure that the file contains RTP data, it may be possible that the starting offset of the capture data could not be determined. Use the -d option to view the binary data. For example, enter capripper -d netmon.cap.

A sample section of the output shows the following information:

000000A0 98 05 00 00 8D 7F 02 00 00 00 00 00 CE 01 00 00 ................
000000B0 00 00 00 00 00 00 00 00 29 04 00 00 00 00 00 00 ........).......
000000C0 FF FF FF FF FF FF FF FF 00 00 00 00 FF FF FF FF ................
000000D0 FF FF FF FF 00 00 00 00 C8 4A 02 00 00 00 00 00 .........J......
000000E0 3C 00 00 00 3C 00 00 00 FF FF FF FF FF FF 00 02 <...<...........
000000F0 A5 07 2A 18 08 06 00 01 08 00 ..*.......

Step 6 To determine the starting offset, subtract 8 bytes from the first of two repeating DWORD values that you see in the .cap file. In the preceding example, the 3C value repeats on line E0. Note that the numbers in the file are in hex, and that there are 16 bytes displayed on each line. Eight bytes back from the first repeating DWORD value 0x3C is at 0x000000E0. Therefore, the starting offset of the first packet is
0xE0 - 8 = 0xD8 or 216.

Step 7 Indicate the starting offset obtained in Step 6 with the -o option. For example, enter capripper -o 216 netmon.cap.

The output will show the delay and packet sequencing information.


RTP Parser

The RTP Parser add-on can be used to expand NetMon capability to decode RTP packets when viewing capture files in real time, or when viewing saved .cap files.

Network Monitor (also known as NetMon) is a utility that comes with Microsoft Systems Management Server and Microsoft Windows 2000 Server. You use NetMon to capture and observe network traffic patterns and problems. For information on using NetMon, refer to the Microsoft Knowledge Base Article Q294818, available on the Microsoft Product Support website.

To Install the RTP Parser


Step 1 Copy the RtpParser.dll file from the CommServer\Utilities\Audio directory to the Winnt\System32\Netmon\Parsers directory on the Cisco Unity server.

Step 2 Restart NetMon.


To View a Capture File by Using the RTP Parser


Step 1 Create a .cap file containing RTP audio by using NetMon.

Step 2 View the .cap by file using NetMon Capture Summary View.

Step 3 Double-click on a frame row in the Summary View to see the RTP Parser View.