Guest

Cisco Unity

Unity 7.x - Unable to Synchronize with Exchange 2007

Document ID: 111896

Updated: Oct 26, 2011

   Print

Introduction

This document describes how to troubleshoot and overcome the problem when Unity 7.0(2.0) voicemail is inaccessible and the Unity server goes to Unity Message Repository (UMR) mode. This error is caused when the Unity server is unable to synchronize with the Exchange server. In this case, all the voicemail will be temporarily stored in the Unity MTA folder.

Prerequisites

Requirements

Cisco recommends that you understand how Cisco Unity works before you read this document.

Components Used

The information in this document is based on Cisco Unity 7.0(2.0) with Microsoft Exchange Server 2007.

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.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.

Background Information

The issue occured in Cisco Unity 7.0(2) running in a Unified Messaging environment integrated with an Exchange 2007 partner server. The exchange environment was made up from 99% exchange 2007 servers and there were a couple of legacy exchange ( 2000) servers. When the legacy exchange (2000) was decommissioned , Unity stopped working, it could no longer deliver messages to the Exchange, and it was stuck in UMR mode.

Cisco Unity in UMR Mode

The Cisco Unity server is in UMR mode, with all the voicemail being stored in the Unity MTA folder. Cisco Unity is unable to synchronize with Microsoft Exchange 2007.

In order to find the root cause of the problem, you need to:

  1. Run the permissions wizard and service configuration wizard.

  2. Run the Unity Message Store Configuration Wizard (MSCW).

Problem - Failed to run the Unity Message Store Configuration Wizard

You get stuck at the Unity Message Store Configuration Wizard and the event log shows this error:

Event Type:	Warning
Event Source:	CiscoUnity_DirChangeWriter
Event Category:	Warning 
Event ID:	1050
Date:		2/8/2010
Time:		3:10:03 PM
User:		N/A
Computer:	Computer Name
Description:
The USbms_Computer Name directory object was deleted. 
The corresponding Cisco Unity account is undeletable.

Solution

Perform these steps to resolve the problem:

  1. Check if the USbms_Computer Name account is active or not.

  2. Reboot the Exchange Partner server (EXCHCluster).

  3. Once the Exchange server is rebooted, reboot the Unity Server again. Rebooting the Unity Sever again will allow for the MAPI profile to be recreated.

  4. If the TestWritableDomainController file is corrupted, you will not be able to run the MSCW. Re-installing the file will also resolve the problem.

Problem - Messages getting populated in the MTA Folder

Even after running the MSCW succesfully, the voicemail messages are getting populated in the MTA folder.

Solution

Perform these steps to resolve the problem:

  1. Ensure that all Cisco Unity services are up and running.

  2. Run DC/GC Reconnect Settings Tool to test the connection.

    mapi-unity-01.gif

  3. Delete the MAPI profile and recreate it.

Problem - Switched to Exchange 2010 Server, mapi profile errors while logging in

Problem 1

The user cannot retrieve voicemails from Cisco Unity and the Unity log's event viewer displays this error:

 
Event Type:	Error
Event Source:	CiscoUnity_MALEx
Event Category:	Error 
Event ID:	30012
Date:		9/7/2010
Time:		8:05:19 PM
User:		N/A
Computer:	IPT-UNITY01
Description:
An occurred which prevents successful Exchange access by AvCsMgr via MAPI.

Solution

This defect comes from investigative testing with Unity 7.0 and Exchange 2010. When Unity 7.0 subscribers connect to off-box Exchange 2010 partner server, several errors result and subscribers are not able to access their inbox. They instead hear, Your messages are not available now.

Another cause of this problem could be the loss of synchronization between Unity and Exchange which results in messages being stored in the x:\Commserver\UnityMTA\Failed folder. In order to resolve this issue, complete these steps:

  1. Go to x:\Commserver\UnityMTA\Failed.

  2. Select the messages you want to deliver and move all of them to the UnityMTA folder.

  3. Restart these services:

    • CuMDBStoreMonitor

    • AvMsgStoreMonitorSvr

    • AvUMRSyncSvr

    If it does not work, procede with step 3.

  4. Go to the registry and change these values:

    • Go to HKEY_LOCAL_MACHINE\SOFTWARE\Active Voice\AvWM\1.00 and set Disable Server CAS Detection to 1.

    • Go to HKEY_LOCAL_MACHINE\SOFTWARE\Active Voice\AvWM\1.00 and set Disable Server Status Checkto 1.

    • Go to HKEY_LOCAL_MACHINE\SOFTWARE\Active Voice\Doh\1.00. Make sure that the Mail Server Name is the Partner Exchange Server.

    • Go to HKEY_LOCAL_MACHINE\SOFTWARE\Active Voice\MalEx\1.0 and set DisableStatusCheck to 1. Make sure that Server Name is the Partner Exchange Server.

  5. Restart the Microsoft Exchange RPC Client Access Service.

Problem 2

For Unity servers with subscriber and system mailboxes on Exchange 2010 servers, there are MALex errors at Unity startup:

Event Type:	Error
Event Source:	CiscoUnity_MALEx
Event Category:	Error 
Event ID:	30003
Date:		2/23/2010
Time:		1:23:22 PM
User:		N/A
Computer:	Unity123
Description:
An attempt to access the Primary Exchange Mailbox Store by CsBMsgConnector via
    MAPI has failed.  
The MAPI subsystem return the following error: The Microsoft Exchange Server
    computer is not available.  
Either there are network problems or the Microsoft Exchange Server computer is
    down for maintenance.

Solution

If you use Exchange 2010 as a Unity messaging server, you must remove new throttling limits introduced in Exchange 2010. In order to remove the limit, the Cisco Unity message store services account, typically named UnityMsgStoreSvc, must have a mailbox on an Exchange 2010 server with a mailbox policy that allows unlimited RPC connections.

Perform these steps in order to resolve the issue:

  1. If the Cisco Unity message store services account does not have a mailbox, perform these steps:

    1. In the Exchange 2010 Management Console, click New Mailbox and choose User Mailbox > Existing users.

    2. Click Add.

    3. Find and choose the account that the Cisco Unity message store services log on as (message store services account), typically named UnityMsgStoreSvc, and click OK then Next.

    4. Enter an alias and check Specify the mailbox database.

    5. Choose an Exchange 2010 Mailbox Database and click OK.

    6. Click Next and then Finish.

  2. Once the Cisco Unity message store services has a mailbox, open an Exchange 2010 Management Shell window.

  3. Create a new policy with unlimited RPC connections:

    new-throttlingpolicy -name "Unity Exchange 2010
        Policy" -RCAMaxConcurrency $null
  4. Apply the new policy to the Unity Messaging account:

    set-mailbox -identity "UnityMsgStoreSvc"
        -throttlingpolicy "Unity Exchange 2010 Policy"
  5. Confirm that the mailbox is using the new policy:

    get-mailbox -identity "UnityMsgStoreSvc" | fl | findstr "Throttling Policy"

    Note: As seen in both the field and testing, Exchange 2010 does not automatically apply the new throttling policy. Even though the Exchange Management Shell shows that the correct throttling policy (Unity Exchange 2010 Policy) is in place, the default throttling policy may still be in effect.

  6. To apply the new policy on each Exchange 2010 server with the Client Access Server (CAS) role, restart the Microsoft Exchange RPC Client Access service.

  7. Apply the policy to all message store service accounts.

    Note: This is documented in the bug CSCtf22724 (registered customers only) .

After applying the above mentioned workaround you will not receive any errors in the event viewer logs. However, if you find any issues with the MWI, it could be the result of not correctly detecting the server or mailstore status in Unity. This may happen if you are using a NLB (Network Load Balancer) for the two CAS servers that support the mailstore/mailbox.

Perform these steps in order to resolve the issue:

  1. CAS status check can be disabled by default in registry. Go to HKLM\Software\Active Voice\AvWM\1.00\Disable CAS Server Detection and set the value to 0.

  2. Reboot the Cisco Unity Server.

  3. Run bulk admin tool for subscribers.

  4. Disable the MWI notifications and then re-enable.

    Note: This is documented in the bug CSCth16025 (registered customers only) .

Problem - Deleted Unity System Mailboxes cannot be recreated using Script

Running MSCW could not generate a script, so system mailboxes cannot be created and the event viewer shows this error:

Event Type:	Error
Event Source:	CiscoUnity_MALEx
Event Category:	Error 
Event ID:	30003
Date:		2/8/2010
Time:		8:18:39 PM
User:		N/A
Computer:	Computer Name
Description:
An attempt to access the Primary Exchange Mailbox Store by AvUMRSyncSvr via
MAPI has failed. The MAPI subsystem return the following error:
The Microsoft Exchange Server computer is not available.
Either there are network problems or the Microsoft Exchange Server computer
is down for maintenance.

Solution

As per the error, Unity is unable to find the Microsoft Exchange Server. As a result, perform these steps to resolve the problem:

  1. Use the directory access diagnostic tool to verify mailstore access.

  2. Point the domain controller (DC) and the global catalog server (GC) at the same partner Exchange server, and do a resyncronization.

  3. Perform a DOH test. This test is performed for Trace Analyzing the Directory access and messaging access.

Problem - Failed to access Unity Server Name using DOH Test

The issue occurs because Exchange 2007 DOH logon / send fails if the public folder database is dismounted. This isssue is documented by Cisco Bug ID CSCsq31845 (registered customers only)

Solution

Check the Public Folders in the Exchange Server to see if they are dismounted and/or could not be mounted. Perform these steps to bring up the Public Folders, and fix Cisco Unity:

  1. Create Folder Hierarchies under the Exchange Administrative Group.

  2. Create a Public Folder Tree Object.

  3. Populate the msExchOwningPFTreeBL attribute object of the PF Stores in the organization.

Create Folder Hierarchies under the Exchange Administrative Group

Perform these steps to create the Folder Hierarchies under the Exchange Administrative Group:

  1. On the Exchange server, go to Run, type adsiedit.msc, and click OK.

  2. In the new window, choose Configuration > Configuration-Services > Microsoft Exchange > Orgname > Administrative Groups > Exchange Administrative Group.

    mapi-unity-02.gif

  3. Right-click Exchange Administrative Group.

  4. Choose New Object.

  5. Choose msExchPublicFolderTreeContainer for the class, and click Next.

  6. Enter Folder Hierarchies for the value and click Next.

  7. Click Finish.

Create a Public Folder Tree Object

Perform these steps to create the Public Folder Tree Object:

  1. Right-click CN=Folder Hierarchies > New Object.

  2. Choose msExchPFTree for the class.

  3. Enter Public Folders for the value and click Next.

  4. Click More Attributes, choose msExchPFTreeType, and set the value to 1.

    Note: This is very important that this value is set to a value of 1 as this tells Exchange that this is a MAPI Tree.

  5. Click Ok and then Finish.

Populate the msExchOwningPFTreeBL attribute object of the PF Stores in the organization

Now, you need to populate the msExchOwningPFTreeBL attribute object of the PF Stores in the organization. Since this attribute is not directly editable, perform these steps to do this for each PF store:

  1. Get the properties of the newly created Public Folders Tree object in ADSIEdit.

  2. Copy the distinguishedname value to the clipboard, and then click cancel.

  3. Navigate to the Storage group that contains the Public Folder Store for this server and get properties of the server.

  4. Locate the msExchOwningPFTree attribute and paste in the value that was copied to the clipboard in step 2. Click OK.

  5. Restart the Information Store Service.

  6. Now you will be able to mount the Public Folder store.

Related Information

Updated: Oct 26, 2011
Document ID: 111896