The Cisco Unity-CallManager TAPI Service Provider (TSP) allows Cisco Unity and Cisco CallManager to communicate, and is used only for the Cisco CallManager integration. The TSP is vital in order to maintain proper voice mail service. Overall, it performs a simple function: It translates Cisco CallManager Skinny messages into native Cisco Unity messages, and native Cisco Unity messages into Skinny messages. If something goes wrong, however, complete voice mail connectivity can be lost. Because of its single-minded function, the TSP can be relatively easy to troubleshoot. This document discusses troubleshooting techniques and how to deal with common issues.
There are no specific requirements for this document.
The information in this document is based on these software and hardware versions:
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.
Before in-depth troubleshooting begins, a series of steps must be taken in order to ensure that the TSP is configured properly and that the working environment is stable. A single misconfiguration or network issue can prevent the TSP from fully functioning, and in turn, disrupt voicemail service. Before you call Cisco Technical Support, check the status of your system against this checklist.
Does complete IP connectivity exist between Cisco Unity, Exchange, and Cisco CallManager? Is the network stable?
Network connectivity is vitally important. Cisco Unity and Cisco CallManager exchange keepalive messages every 15 seconds. After three lost keepalives, the TSP ports unregister and attempt to reregister. Keepalives can be lost due to network congestion, switch port errors, and other network malfunctions. Before you troubleshoot Cisco Unity-Cisco CallManager connectivity, it is essential to verify that network problems do not exist.
Do the device name prefixes match between the TSP and the Cisco CallManager voice mail port configurations?
If the device name prefixes do not match, the TSP does not register with Cisco CallManager, and calls to Cisco Unity subsequently receive a reorder tone. In fact, if auto-registration is enabled, the TSP registers with Cisco CallManager as a Cisco IP Phone 12 SP. Double-check the device name prefix in the TSP and Cisco CallManager configurations.
Complete these steps in order to verify the device names on the Cisco Unity server:
Choose Start > Settings Control Panel > Phone and Modem Options.
Choose Av-Cisco Service Provider, and choose Configure.
The Av-Cisco Service Provider Settings window appears, as shown.
The value in the Device Name Prefix field is set to CiscoUM-VI. The Cisco CallManager Device List, which is on the right side of the window, contains the device names that you ideally see in Cisco CallManager, as shown in this window.
Verify that the names in the Cisco CallManager Device List, which is in the Av-Cisco Service Provider Settings window, match what is configured in the Cisco Voice Mail Ports list in the Cisco CallManager Voice Mail Port Configuration window.
Were any changes made to the Cisco CallManager voice mail port configuration without the need to stop and restart the Cisco CallManager service?
If you move a voice mail port into a different partition, change the calling search space, or make any other change, this requires the Cisco CallManager service to be restarted. Refer to the Control Center section of Cisco CallManager Serviceability Administration Guide, Release 3.0(1) and the Control Center section of Cisco CallManager Serviceability Administration Guide, Release 3.1(1) for more information. If you make changes and do not restart the Cisco CallManager service, this causes unexpected connection problems.
Are the Forward No Answer and Forward Busy settings for each voice mail port correct?
If the voice mail ports are busy or cannot answer, it is important that they are forwarding to the proper directory numbers. The standard configuration is for each port to forward to the next consecutive port, with the last port that points to either the first port or a live operator. This is configured from the Cisco CallManager Voice Mail Port Configuration window.
If the voice mail ports are assigned partitions, the port ideally has a calling search space that can reach the partition of the other port, and that can reach phone partitions so the ports that have Message Waiting Indication (MWI) can reach the phones. The Call Forwarding Calling Search Space settings need to include the voice mail ports. A reorder tone is played if they are not.
In this example, the forwarding for extension 16601 shows 16602 as its forward target. The Calling Search Spaces of these forwarding extensions are set to None because the voice mail ports are not assigned to any partitions, in the previous Voice Mail Port Configuration window example. If partitions were assigned to the Cisco Unity ports, then the Calling Search Space field needs to indicate the Calling Search Space to use when forwarding to the specified destination port.
Stop and restart the Cisco CallManager service as explained in step 3 if any of these settings are changed.
Are the Cisco Unity switch settings correct?
When Cisco Unity is first installed, the installer is asked to enter the integration type. If the wrong type is selected, Cisco Unity expects certain messages that legacy PBXs provide. There can be long delays during login and between prompts. Callers are possibly sent to the wrong mailboxes. Verify the switch settings in the Switch window, and also verify that these registry settings are set properly.
HKLM\SOFTWARE\Active Voice\MIU\1.0\Initialization\Switch 0
"Switch Configuration File"="CISCO0002.INI"
HKLM\SOFTWARE\Active Voice\MIU\1.0\Initialization\Switch 1
"Switch Configuration File"="CISCO0002.INI"
If you troubleshoot a dual integration system, a Switch 0 and Switch 1 registry key are both present. The switch assigned to Switch 0 is expected to be the legacy PBX, and Switch 1 is Cisco CallManager. If it is not a dual integration system, only a Switch 0 registry key is present.
Caution: If you change the wrong registry key or enter an incorrect value, this can cause the server to malfunction. Before you edit the registry, verify that you know how to restore it if a problem occurs. Note that a typical backup of the Cisco Unity server does not back up the registry. Refer to the Restoring the Registry Help topic in Regedit.exe or the Restoring a Registry Key Help topic in Regedt32.exe for more information. If you have any questions about how to change this registry key setting, contact Cisco Technical Support.
Choose Switch > Switch and Switch > IP Switch in the Unity System Administrator page, and scroll to the bottom in order to configure the active switch setting in order to configure the active switch setting.
Was the TSP properly installed?
TSP installation instructions can be found in the release notes. Refer to Cisco Unity—Release Notes and find the release notes for your version of TSP.
Has the G.729 codec been installed?
By default, the G.711 codec is installed by Cisco Unity in versions prior to 3.1.3, and the G.729 and G.711 codec is installed for versions 3.1.3 and later. The potential for codec mismatches when Cisco Unity is called exists. The code mismatches result in dropped calls once a connection is made, which is characterized by a reorder tone after the proper ringback tones are received. Check the recording and streaming format settings in order to see if they conflict with the rest of the network.
Recording format—From the console of the Cisco Unity server, run the SetRecordFormat.exe utility found under the CommServer > Utilities directory. This informs you of the Cisco Unity recording format. The G.729 codec appears as an option only if it has been installed by default, or if the \CommServer\Utilities\sl_g729a_setup.exe utility has run.
Streaming format—From the console of the Cisco Unity server, run the \CommServer\Utilities\UnityAdvancedSettingsTool.exe utility. In the Cisco Unity Settings column, you can choose Enable G.729 codec support and change the value to either 0 or 1, then choose Set, then Exit. This turns G.729 on and off. G.729 is needed if Cisco CallManager has a region of G.729, a device in this region tries to connect to Cisco Unity, and there is no hard transcoder resource to do this transcoding.
The registry setting that indicates that G.729 is enabled:
Another method to verify that the G.729 codec has been installed is the presence of this message in the application event log at the time that you install or enable G.729.
Event Type: Information
Event Source: AvCiscoTsp_MC
Event Category: None
Event ID: 103
Time: 5:18:00 PM
AvCiscoTsp device 0: G729a enabled.
Refer to Cisco Unity Installation and Troubleshooting: G.729a Codec and Audio Codecs and Cisco Unity (All Versions of Cisco Unity) for more information on instructions on how to install the G.729 codec.
In this example, the G.729 codec appears as ITU G.729A by Sipro Lab in the SetRecordFormat.exe utility. This is not an option if the G.729 codec is not installed.
Check the application event log for errors.
When you call Cisco Technical Support, this is one of the first things that the engineer asks for, after your Cisco Unity, TSP, and Exchange versions. TSP problems are frequently a symptom of a more serious problem. Find the first TSP errors and warnings, and go back through the log file to see if any prior errors exist.
Note: The application event log is key in how to determine the overall health of the Cisco Unity server. It is good practice to monitor it regularly.
Call each voice mail port individually.
At times, calls incorrectly disconnect from Cisco Unity, which leaves the port in a bad state. When this happens, the port status recorded in Cisco CallManager can differ from the port status recorded in Cisco Unity. This, of course, can cause connection problems. If you dial into the Cisco Unity pilot number and this yields a reorder tone, try to call the next extension in the voice mail hunt group. If that extension also yields a reorder tone, call each voice mail port and take note of which ports work and which do not. If only a few ports do not work, adjust the hunt group to skip those ports as a temporary workaround.
Stop and restart the Cisco CallManager service.
As previously mentioned, changes to the voice mail port configuration in Cisco CallManager require you to stop and restart the Cisco CallManager service. If you bounce this service, this can also help reestablish connectivity with the TSP if the Cisco Unity server was recently rebooted.
Reinstall or upgrade the TSP.
It is good practice to keep software versions current. If the reboot of the server does not correct the problem with connectivity, upgrade to the most current software version in order to resolve the issue. This can also resolve any problems related to incorrectly installed TSPs.
Configure and capture Skinny traces.
If you cannot resolve the problem with any of the previous methods, and TSP connectivity issues continue to appear after you reboot, configure Skinny traces for the TSP since it is essential for Cisco Technical Support engineer to troubleshoot. The Skinny traces need to run before the problem occurs, and the engineer needs to know the most approximate time the ports start to have problems.
Refer to Configuring Unity Traces with MaestroTools.exe for more information on how to configure Skinny traces in Cisco Unity 3.0.x and earlier.
The Cisco Unity Diagnostic Tool replaced Maestro Tools, which begins with Cisco Unity 3.1. Refer to the The Cisco Unity Diagnostic Tool section for more information on how to use this tool.
Refer to Set Up Cisco CallManager Traces for Cisco Technical Support for more information on how to configure Cisco CallManager traces.
The previous sections describe TSP issues that you can troubleshoot without Cisco Technical Support involvement. Use these procedures in order to correct most of these problems. This section lists the common problems, their cause, and their solutions.
The TSP repeatedly disconnects and reconnects with Cisco CallManager.
As mentioned earlier, sketchy network connectivity can cause the keepalives between the TSP and Cisco CallManager to become lost. After a number of consecutive keepalives are lost, the TSP disconnects and attempts to reconnect to Cisco CallManager(s). If there are no other errors prior to these warning messages in the application event log on the Cisco Unity server, the problem is more than likely a network issue.
Event Type: Warning
Event Source: AvCiscoTsp_MC
Event Category: None
Event ID: 102
Time: 5:34:13 PM
AvCiscoTsp device 5: Disconnected from CallManager 192.168.200.4.
Event Type: Information
Event Source: AvCiscoTsp_MC
Event Category: None
Event ID: 101
Time: 5:37:48 PM
AvCiscoTsp device 5: Reconnected to CallManager 192.168.200.4.
Disconnects and reconnects can also occur if processing resources on either the Cisco Unity or Cisco CallManager server are in short supply. Again, be sure to check for any warnings or errors prior to the disconnects in the event log for anything that may cause connectivity problems.
If there is a sequence of non-recovering TSP disconnect and reconnects, to the point where Cisco Unity must be restarted, it is likely that a problem exists in the Cisco Unity MIU or UnityAvWav. The disconnect and reconnect sequence is really a symptom, not the problem. See the Configure and Capture Skinny Traces, which is step 5 in the If Problems Still Exist section, for more information and assistance on how to troubleshoot this issue.
Note: Some warning messages appear in the application event log during Cisco Unity startup. This is normal. The concern is when errors appear during regular operation.
Voice mail connectivity cannot be established after the initial installation, or the TSP refuses to register with the Cisco CallManager voice mail ports.
These are the major reasons that the TSP does not register with Cisco CallManager:
If the device name prefix (port name) on Cisco CallManager and Cisco Unity do not match, the voice mail ports register with Cisco CallManager as Cisco IP Phone 12 SPs. Correct the device name prefix in the TSP and reboot the Cisco Unity server.
If the voice mail ports do not register with Cisco CallManager during a new installation, verify that the TSP setup.exe ran instead of Cisco Unity-CM TSP.msi. The latter is merely an installer package and does not install a complete TSP. Use setup.exe in order to uninstall and reinstall the TSP. Refer to Cisco Unity—Release Notes for more information on TSP installation instructions. The release notes include a section for the installation of the TSP.
If the voice mail ports still do not register with Cisco CallManager immediately after a new installation, stop and restart Cisco CallManager and Cisco Unity at the same time in order to allow them to properly synchronize with each other.
If the problem is not resolved after you try these three methods, verify that Cisco CallManager and Cisco Unity have network connectivity. It is also important to verify that the IP address listed in the Primary CallManager IP Address field on the TSP is correct. See step 2 in the Troubleshooting Checklist for more information.
A reorder tone is played when Cisco Unity answers a call.
If you receive a reorder tone after Cisco Unity connects, this can indicate a codec mismatch between the calling device and Cisco Unity. By default, only the G.711 codec is installed on Cisco Unity. You can still install G.729 since Cisco Unity can use both at the same time. After you verify that the G.729 codec is not installed, run the sl_g729a_setup.exe application found under the CommServer > Utilities directory on the Cisco Unity server. Insert the registry key and reboot the server in order to resolve the reorder tone issue.
If you press the Messages button on an IP phone, it yields a reorder tone.
The Messages button is simply a speed dial to the voice mail pilot number. Therefore, you can troubleshoot this issue with the use of the same methods described in the two previous examples. The TSP registration issues or a codec mismatch cause a reorder tone when the Messages button on an IP phone is pressed.
Cisco Unity connects a call, but audio is not heard for ten seconds.
This is a classic symptom of a misconfigured switch integration. Despite the presence of the TSP, the active switch settings in Cisco Unity under Settings > Switch in the SAWeb interface are misconfigured. These are usually set to the default settings, which assume integration with a legacy PBX. When this happens, Cisco Unity times out everything as it waits for specific messaging signals that Cisco CallManager fails to provide.
This can actually cause more problems than merely long pauses between audio. MWI lamps can take longer to light, messages can take longer to retrieve, and users can be sent to the wrong call handlers or mailboxes when they call into Cisco Unity.
In order to fix this issue, choose Settings > Switch > Switch and Settings > Switch > IP Switch. The current Active Switch Settings are at the top of the page, while the bottom of the page displays the area where you can configure the switch settings. For Cisco Unity to function properly with Cisco CallManager, configure the switch settings to the values shown here, and restart Cisco Unity.
Switch PBX software version: 3.01 or later
If the timeouts continue after you restart Cisco Unity, change the Switch Configuration File registry setting, which you can refer to in step 5 of the Troubleshooting Checklist, and restart Cisco Unity again.
Voice mail messages have static-filled or choppy audio.
At times, voice mails with static-filled or choppy audio are indicative of some part of the audio stream that is too loud. Play the voice mail back on a computer in order to determine if Cisco Unity records the message too loudly, or plays it back too loudly. If it sounds the same, the voice mail was recorded too loudly. If it sounds clear and crisp, the voice mail is played back too loudly by Cisco Unity. This actually has nothing to do with the TSP, but is often perceived to be a TSP problem.
If the voice mail message is recorded too loudly, decrease the WaveDBGainRecord registry setting in order to improve voice mail quality. If the voice mail message is played back too loudly, decrease the WaveDBGainPlayback registry setting. These are the registry settings:
HKLM\SOFTWARE\Cisco Systems, Inc.\Cisco TSP\WaveDBGainRecord
HKLM\SOFTWARE\Cisco Systems, Inc.\Cisco TSP\WaveDBGainPlayback
The default value for WaveDBGainRecord is 5 dB. The default value for WaveDBGainPlayback is –10 dB. Changing either of these values requires Cisco Unity to be restarted.
If you start with Cisco Unity 3.1(3), Automatic Gain Control (AGC) is enabled by default, so you want to set those WaveDBGain values to 0. The Skinny installer program does that for you if you run TSP setup after you upgrade Cisco Unity to 3.1(3) or later. When you run setup, it detects which version of Cisco Unity you run. If the version is earlier than 3.1(3), it writes in the 5 and -10 values. If the version is 3.1(3) or later, it writes in 0 for both. Refer to the Audio Quality section of Cisco Unity Troubleshooting Guide, Release 3.1(3) for more information about AGC.
If the change of both of these settings does not help, the issue is most likely a result of network congestion or lack of system resources. Further troubleshooting of the environment is required.
The voice mail message volume is too low.
If there is a report that voice mail messages have a low volume, use the same troubleshooting method described in step 6. Once it has been determined that the messages are recorded or played back too low, the same registry settings can be raised in order to improve the volume. Cisco Unity must be restarted in order for the new values to take effect.
While a caller records a message, the caller gets kicked out with a prompt.
After an outside caller calls in over an H323 gateway to Cisco Unity by way of the Cisco CallManager and starts to leave a message, the caller gets kicked out to prompts after approximately five seconds. This is normally due to one-way voice, where the voice stream of the user does not get to Cisco Unity. The normal solution is to use the bind command on the router.
The other reason for this issue can be the stop recording after how many seconds parameters that are found on Cisco Unity under the System > Configuration > Recordings settings.
Cisco CallManager voice mail ports appear busy while Cisco Unity ports appear idle, or reverse.
When calls fail or disconnect incorrectly, the TSP or Cisco CallManager can leave the port in a busy or hung state. If you reboot the Cisco Unity server, or stop and restart the Cisco CallManager service, it clears up the ports. One particular cause is that the Text-To-Speech (TTS) engine in Cisco Unity fails and drops calls. If TTS is not used, or if there are other application event log errors, detailed troubleshooting is required. The problem must be captured, though, as it occurs. Enable Cisco Unity and Cisco CallManager traces, which corresponds to step 5.
Cisco Unity does not detect Dual Tone Multi-Frequency (DTMF) tones from Public Switched Telephone Network (PSTN) callers.
This is not a TSP issue if Cisco Unity can detect DTMF from internal IP phone users. In that case, the DTMF relay function needs to be configured on the dial peers on the voice gateway connected to the PSTN.
Cell phones that call into Cisco Unity pose an interesting twist to this issue. If only cell phones experience this problem, and if it is intermittent, set this registry key to a number less than the default of 250.
HKLM\Software\Active Voice\CDE\1.0\Advanced Navigation\DoubleKeyInterDigitTimeOut
This controls the interdigit timeout for pressing double digits. It is a DWORD value represented in milliseconds, with the default set to 250 ms. With this default, if you press a key twice without a space of 250 ms between each press, Cisco Unity assumes it is a single press of the same key. This comes into play if you have the same digit appear consecutively in your password, or you change the addressing mode from user name to extension if you press # twice. With cell phones, this becomes a problem with how quickly the service provider presents the entered digits to Cisco Unity.
Transfers out of Cisco Unity fail.
This is usually caused when Cisco CallManager issues a reorder tone to Cisco Unity when a user tries to transfer out. In most cases, MIU errors appear in the application event log and complains about failed blind transfers, as shown in these examples:
Event Type: Error
Event Source: AvMiu_MC
Event Category: Error
Event ID: 525
Time: 2:02:21 PM
Component Miu: Thread 0x00000C64 had a Failure on Port 3 in
Event Type: Warning
Event Source: AvCiscoTsp_MC
Event Category: None
Event ID: 111
Time: 2:15:52 PM
AvCiscoTsp device 7: Failed blind transfer to extension 13800.
Reorder tone detected
For this issue, you need to start to verify these questions in order to troubleshoot with Cisco CallManager:
Does the extension the call is forwarded to actually exist?
Is the extension in a partition that is in the Calling Search Space of the voice mail ports? For example, can Cisco Unity call that extension?
What happens in the Cisco CallManager traces?
Users get stuck on hold indefinitely.
This issue occurs with TSP versions 3.0.3 and earlier when transfers are made to extensions that do not exist. Upgrade to a more current TSP version in order to resolve this issue.
Cisco Unity either continuously rings, or the user is immediately forwarded to the operator, which depends on where the last voice mail port is configured to send a call.
This is usually attributed to an issue elsewhere in Cisco Unity that causes the entire system to lock up. Some examples of catastrophic failures include these Cisco bug IDs CSCdv04296 (registered customers only) , CSCdw22615 (registered customers only) , and CSCdw88890 (registered customers only) . These are rare failures that exhibit other symptoms besides locked-up TSP ports. The application event log usually helps determine the true problem. Refer to Troubleshooting Port Lock Ups in Cisco Unity and Troubleshooting Cisco Unity System Crashes for more information.
During the installation of the TSP 8.4.3 on Cisco Unity 5.0(1), the The files AvSkinny and SelsiusNTWave.dll could not be registered error message appears. Refer to Cisco bug ID CSCtd43463 (registered customers only) for more information.