Guest

Cisco Unified Communications Manager (CallManager)

Cisco CallManager: Subscriber Upgrade Fails / Unable to Find Updated Database

Cisco - Cisco CallManager: Subscriber Upgrade Fails / Unable to Find Updated Database

Document ID: 23272

Updated: Mar 24, 2006

   Print

Introduction

While the upgrade of a publisher and a number of subscribers in Cisco CallManager 3.x occurs, there are several instances when no error messages appear. However, when the servers in the cluster are rebooted, neither phones nor devices register with the correct subscribers. Often, failover between Cisco CallManager nodes in a cluster also fail. In addition, when you check the Application Event Viewer, it shows many instances where the Cisco CallManager service stops and starts repetitively.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

The information in this document is based on all minor releases of Cisco CallManager 3.0.

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 the Cisco Technical Tips Conventions for more information on document conventions.

Problem

Access the SQL Enterprise Manager and open both publisher and subscriber databases. Check the latest Cisco CallManager database version (CCM030x) on the publisher and for each subscriber. If you notice that the subscriber(s) do not have the most current database when you view the publisher and subscriber(s) databases within the SQL Enterprise Manager, you are probably experiencing a naming resolution problem within your network.

This diagram demonstrates that both the publisher and the subscriber contain a copy of the most recent database. In this case, it is CCM0301.

subscriber-upgrade-fails-1.gif

Refer to the Recreating the Subscription on the Publisher section within the Reestablishing a Broken Cisco CallManager Cluster SQL Subscription documentation for further information on how to view the databases and versions within the SQL Enterprise Manager.

Another way to verify this problem is to refer to the newest Database Upgrade log found at C:\CCMDBSetup.log. Scroll down and look for this output:

4-28-2002 10:54:00 _DBPullSubscription: CALLMAN01 CCM0302 sa ******** CALLMAN02
CCM0302 sa ******** C:\Program Files\Cisco\Bin\ 0

4-28-2002 11:11:32 Pulling subscription from CALLMAN01 to subscribe to the CCM0302 Database.
Return Code = 8 DB_SCRIPT_ERROR

This output shows that, while the subscriber was able to contact the publisher and determine the correct database version, there were problems that prevented it from being copied/replicated.

Subscriber servers might not be able to access the publisher server due to issues in the resolution of the name of the publisher server. Check the CallManager Install log for similar output:

1-8-2006 10:10:10 _DBGetVersion: CALLMAN03 CCM0300  ******** 
1-8-2006 10:10:27 Subscriber has problem to connect to the Publisher Database.

This output shows that the subscriber faces issues in connecting to the publisher server.

Solution

The Microsoft SQL Server uses NetBIOS name resolution for some types of remote-procedure call (RPC) tasks. Because of this, the publisher and all subscribers should use the LMHOSTS file for NetBIOS name resolution. All servers in the cluster should also use HOSTS files for proper name resolution between the servers.

Disable DNS in the servers during the Cisco CallManager installation. The servers should use the HOSTS file for the name resolution.

Windows 2000 includes sample HOSTS and LMHOSTS files (HOSTS.SAM and LMHOSTS.SAM) in the directory C:\winnt\system32\drivers\etc. Complete these steps in order to modify the sample files for your custom installation.

  1. From the Cisco CallManager publisher use a text editor such as Notepad and open the file C:\winnt\system32\drivers\etc\hosts.sam.

  2. Read the comment lines that start with the # symbol. Then delete all lines from the file. Windows must parse every line in the file for every attempt at name resolution.

  3. Enter the IP address of the publisher, a space, and the hostname of the publisher. The hostname can be found with the ipconfig /all command.

    Repeat until the file contains one line for each server in the cluster. This is a sample hosts file:

    127.0.0.1           localhost
    172.18.110.90       ICSCM1
    172.18.110.94       ICSCM2
  4. Save the file as C:\winnt\system32\drivers\etc\hosts without any extension.

    Note: Notepad appends a .txt extension by default. Therefore, use Windows Explorer or a command prompt to remove the .txt extension.

    Note: Windows Explorer hides file extensions by default. Therefore, make sure that you view the file extensions or just use the rename command.

  5. Use a text editor such as Notepad and open the file C:\winnt\system32\drivers\etc\lmhosts.sam.

  6. Read and then delete all of the comment lines. Add one line for each server but append the text #PRE after the name of the server. This output is a sample lmhosts file:

    172.18.110.90     ICSCM1     #PRE
    172.18.110.94     ICSCM2     #PRE
  7. Save the file as C:\winnt\system32\drivers\etc\lmhosts without any extension.

    Note: Notepad appends a .txt extension by default. Therefore, use Windows Explorer or a command prompt to remove the .txt extension.

    Note: Windows Explorer hides file extensions by default. Therefore, make sure that you view the file extensions or use the rename command.

  8. Open a command prompt and enter the nbtstat -R command to load the contents of the LMHOSTS file into the NetBIOS name cache. Use the nbtstat –c command in order to verify that the LMHOSTS file was successfully parsed and loaded. Refer to Microsoft Knowledge Base article Q180099 leavingcisco.com if no information is listed.

    Note: The NetBIOS Remote Cache only contains name-to-address resolution for remote nodes.

    subscriber-upgrade-fails-2.jpg

  9. Select Start > Run and type services.msc.

  10. Click OK.

  11. Select the DNS Client Service, right-click on the service name, and select Restart.

  12. Repeat steps 1 through 11 for each Cisco CallManager server in the cluster.

  13. Re-run the Cisco CallManager upgrade on the subscribers. If successful, you see that the subscribers have the current Cisco CallManager database and that they pull the subscription successfully from the publisher.

Related Information

Updated: Mar 24, 2006
Document ID: 23272