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.
The information in this document is based on these software and
Cisco Unity 126.96.36.199 or later
Cisco Unity-CallManager TSP 6.0(1) or later
Cisco CallManager 3.1 or later
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
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
Choose Start > Settings Control Panel > Phone and
Choose Av-Cisco Service Provider, and choose
The Av-Cisco Service Provider Settings window appears, as
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
Were any changes made to the Cisco CallManager voice mail port
configuration without the need to stop and restart the Cisco CallManager
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.
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
Was the TSP properly installed?
TSP installation instructions can be found in the release notes.
Unity—Release Notes and find the release notes for your version of
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
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:
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
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.
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
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.
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
Voice mail connectivity cannot be established after the initial
installation, or the TSP refuses to register with the Cisco CallManager voice
These are the major reasons that the TSP does not register with Cisco
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
Unity—Release Notes for more information on TSP installation
instructions. The release notes include a section for the installation of the
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
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
If you press the Messages button on an IP phone, it yields a reorder
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
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
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
Quality section of
Cisco Unity Troubleshooting Guide, Release 3.1(3) for more information
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
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 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.
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
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
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
What happens in the Cisco CallManager
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.
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
(registered customers only)