Guest

Cisco ICS 7700 Series Integrated Communication Systems

Field Notice: ACM Thread Safety no Longer on by Default in Cisco Unity Version 3.1(5)


November 11, 2002


Products Affected

  • Cisco Unity 3.1.(5)

Problem Description

A defect (CSCae08069) in Cisco Unity has had a long-standing manual work-around. In Cisco Unity version 3.1(4), the work-around was enabled by default to avoid the need for manual intervention. In Cisco Unity version 3.1(5), the work-around was inadvertently turned off by default, allowing the original problem (CSCae08069) to be experienced if the manual work-around was not in place.

Background

In Cisco Unity version 3.1(4) the thread safety work-around is on by default even if the registry key is not present. No action needs to be taken in 3.1(4) to turn on the work-around. The only time thread safety is not on in 3.1(4) is if the registry key is set to zero. However, if the 3.1(4) system is upgraded to 3.1(5), the registry key must be set to 1 for thread safety to be used. Note that this fix involves wrapping a critical section around the codec, adding processing overhead which could have an impact on performance. To turn it off the thread safety, set the registry key to 0.

You need to edit the following key:

KLM/Software/Active Voice/UnityAvWav/1.0/ForceGlobalAcmThreadSafety=0.

Problem Symptoms

The caller gets dead air or ring no-answer when calling Cisco Unity. The symptoms occur on systems setup to use both G.729 and G.711 codecs. The event log shows MIU errors and ports that are disconnecting and reconnecting from the Call Manager phone system.

The event log also lists several identical AvWav errors from two ports at the same time. The two ports simultaneously make a call to the win32 API functionacmStreamConvert() inside the AvWav function AcmStreamConvert(). Both ports will then throw an exception. From this point, callers will either get dead air or Ring-No-Answer.

Workaround/Solution

In Cisco Unity versions 2.4.6.135 and higher, 3.0 and higher, and 3.1 and higher, edit the registry and add the following key:

HKLM/Software/Active Voice/UnityAvWav/1.0/ForceGlobalAcmThreadSafety=1.

To enable the ForceGlobalAcmThreadSafety registry setting, follow the steps below:

  1. Start Regedit.

    caution 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 the Registry Help topic in Regedit.exe or the Restoring a Registry Key Help topic in Regedt32.exe for additional information. If you have any questions about changing registry key settings, contact Cisco TAC.

    Note: A typical backup of the Cisco Unity server does not back up the registry. For Cisco Unity failover, registry changes made on one Cisco Unity server must be made manually on the other Cisco Unity server because registry changes are not replicated.

  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.

  3. Go to HKEY_LOCAL_MACHINE\Software\ActiveVoice\UnityAvWav\1.0. Expand the key.

  4. If the UnityAvWav\1.0\ForceGlobalAcmThreadSafety key exists, go to Step 11. Otherwise, continue with step 5.

  5. Go to HKEY_LOCAL_MACHINE\Software\ActiveVoice. On the Edit menu, click New Key.

  6. Name the new key UnityAvWav.

  7. Click the new UnityAvWav key. On the Edit menu, click New Key.

  8. Name the new key 1.0.

  9. Click the new 1.0 key. On the Edit menu click New Dword.

  10. Name the new Dword ForceGlobalAcmThreadSafety.

  11. Double-click ForceGlobalAcmThreadSafety and set the Value to 1. Note that a value of 0 disables Global ACM Thread Safety.

  12. Close the Registry Editor.

  13. For the settings to take effect, restart the Cisco Unity server.

In Unity version 3.1(5) the thread safety work-around is off by default and the above workaround should be used.

For troubleshooting information, see Troubleshooting Unity Crashes and Port Lockups. For Unity 3.1.(5) information, see Cisco Unity Version 3.1(5) Release Notes.

DDTS

To follow the bug ID link below and see detailed bug information, you must be a registered user and you must be logged in.

DDTS

Description

CSCds92393

SDL Router Services Declared dead....CM will restart

DDTS

Description

CSCdz15442

ACM thread safety is disabled in Unity 3.1.5

CSCae08069

Getting dead air and ring no answer after enabling g729

CSCdx55797

Turn on ACM Thread Safety by default

For More Information

If you require further assistance, or if you have any further questions regarding this field notice, please contact the Cisco Systems Technical Assistance Center (TAC) by one of the following methods:

Receive Email Notification For New Field Notices

Product Alert Tool - Set up a profile to receive email updates about reliability, safety, network security, and end-of-sale issues for the Cisco products you specify.