Guest

Cisco Unity

Cisco Unity 3.0(1) or 3.0(2): Directory Handler Searches Return Failsafe

Document ID: 21437




Contents

Introduction
Prerequisites
      Requirements
      Components Used
      Conventions
Problem
Solution
Related Information

Introduction

This document describes a problem that can occur during upgrades of Cisco Unity 3.0(1) or 3.0(2) to a later version. The problem occurs when Cisco Unity 3.0(1) or 3.0(2) Active Directory schema updates exist, but may not be populated with all Cisco Unity objects. This issue only impacts Message Store integrations with Microsoft Exchange 2000. Callers may hear the fail-safe prompt when they attempt to use the Find By Name function, such as the Directory Call Handler. They may also hear the prompt when they attempt to address or forward a message with the Find By Name function.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

The information in this document is based on Cisco Unity 3.0(1) or 3.0(2).

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

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Problem

Any search you perform that uses the directory handler encounters the failsafe after you enter the name on which to search. For each failure, errors are logged in the application event log. The first error, shown here, can help identify this problem:

Event Type:     Error
Event Source:   AvConvMsg_MC
Event ID:       10002 
Date:           1/16/2002 
Time:           12:28:47 PM 
User:           N/A 
Computer:       MN-UNITY
Description:    
IAvDohLocation::Get(AVP_DISTINGUISHED_NAME) returned [0x80004005] on line 7199 of file 
h:\CommSvr\Sources\AvConvUtilities\AvConvAddrSearchSvr\AvSAddrSearcher.cpp 
Running conversation AD on Port 3 Running conversation AddrSearchConv on 
Port 3

If this error matches what you see on your system, open Active Directory Users and Computers. This is available from the MMC.exe or the Exchange 2000 Programs menu. (Choose Start > Programs > Microsoft Exchange.)

Look in Active Directory in the Unity/Locations containers. From the View menu, choose Advanced Features. If the default location object is missing from the Locations container, follow the procedure found in the Solution section. (You can identify the default location object as defaultxxxxxxxx, where xxxxxxxx is an alphanumeric string.)

Note: If you have multiple Cisco Unity systems installed, there should be one location object for each Cisco Unity server.

Solution

Complete these steps:

  1. Verify that the location object exists in Structured Query Language (SQL).

    1. Choose Start > Programs > Microsoft SQL Server to open the SQL Enterprise Manager.

    2. Double-click each of these elements to expand the tree view:

      • Microsoft SQL Servers

      • SQL Server Group

      • UnityServerName

      • Databases

      • Unitydb

      • Tables

    3. From the right pane, right-click the Location Table, and choose Return all rows from the Open Table menu.

    4. Look for a row in this table that has a default alias in the second column.

      If you see this alias row, continue to Step 2. If this is a Cisco Unity upgrade and you do not find an alias row, complete these steps:

      • Choose Start > Run, and enter regedit in the Open field.

      • Choose HKLM > Software > Active Voice > Doh > 1.00 and obtain the SystemId.

        Record the hex and decimal values.

      • Obtain the location object ID from an existing subscriber.

        To do this in SQL, choose Select * from Subscriber.

        Record the LocationObjectId column value.

      • Click the SQL icon from the table query.

        This opens a window where you can update the Location table.

      • Add the default location with the INSERT command shown here:

        INSERT INTO Location (Alias,HomeServer,LocationObjectId,
          Uid,TextName,Undeletable) 
          VALUES (‘Default’, ‘<the unity server>’,’<the 
          location object id collected above>’, ‘Default<thehex system 
          id collected above>’, ‘{Default}’, 1, <the decimal system 
          id collected above>’)

        Example:

        INSERT INTO Location (Alias,HomeServer,LocationObjectId,
          Uid,TextName,Undeletable) 
          VALUES ('Default','UnityServerName','D789E916-237C-40DE-8A7A-
          2043F5D558BE','Default3c914836', '{Default}', 1, 1016154166)
    5. If an alias row does not exist and this is not an upgrade, ensure that AdSchemaSetup.exe has been run on the SchemaMaster server with an account that is a member of the SchemaAdmins group.

      Continue with the remaining steps in this section, which enable you to add this row once the schema is extended.

      Note: Schema changes may take some time to replicate. The next set of steps must be performed after replication of the schema is finished.

  2. Verify that Active Directory objects are organizational units, not containers.

    1. From the Active Directory Users & Computers snap-in, expand the node in which the Cisco Unity domain is installed.

    2. From the View menu, choose Advanced Features.

    3. Check to be sure that the Unity object in the list has Organizational Unit in the Type column.

      If the Unity object type is listed as Container, perform these steps:

      • Right-click the Cisco Unity object.

      • Choose Delete.

      • Click Yes on the confirmation dialog.

    4. Right-click the area in the right pane, and choose New > Organizational Unit to recreate the objects.

    5. Enter Unity as the Object Name.

    6. Double-click the Cisco Unity object you just created.

      The right pane should be empty.

    7. Right-click the area in the right pane, and choose New > Organizational Unit.

    8. Enter Locations as the name.

  3. Verify that Cisco Unity directory registry entries use organizational units, not containers.

    1. Choose Start > Run, and enter regedit in the Open field.

    2. From Regedit, open the My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Active Voice\Directory Connectors branch.

      For Exchange 2000, the \DirSynchAD\1.00\Locations node should contain two keys: New Objects and Root.

    3. For both the New Objects and Root keys, change any "cn" in the string value to "ou".

      For example, change:

      cn=Locations,cn=Unity,DC=UnityServerName,DC=TestDomain,DC=cisco,DC=com

      to

      ou=Locations,ou=Unity,DC=UnityServerName,DC=TestDomain,DC=cisco,DC=com

  4. Run Configuration Setup again using the -sync option.

    This puts the location back into the directory.

    1. From the Services control panel, stop the AvDSAD service.

    2. With either the installer or service account, open a command prompt and run \Commserver\ConfigurationSetup\setup –sync.

    3. Click Next.

      This may take some time; it depends on how many users your domain contains.

    4. Click Finish when the setup is complete.

    5. From the Services control panel, start the AvDSAD service.

  5. Verify that the directory handler works as expected.

    If it does not, check for the location object noted in the Problem section.

    Note: None of the steps in this procedure stop the process of calls by Cisco Unity. However, you may want to validate Cisco Unity startup and shutdown functions at the next convenient service window. To validate these functions, stop Cisco Unity from the tray icon, reboot the server, and stop/start Cisco Unity from the tray icon once more.


Related Information



Updated: Feb 02, 2006 Document ID: 21437