Guest

Cisco Unified Intelligent Contact Management Enterprise

Script Editor: Unable to Open Any Cisco ICM Script

Cisco - Script Editor: Unable to Open Any Cisco ICM Script

Document ID: 43781

Updated: Aug 15, 2005

   Print

Introduction

This document describes a problem with opening any Cisco Intelligent Contact Management (ICM) script on the Administration Workstation (AW) in an ICM environment. The solution explains the debugging process of finding and correcting the error by querying the database and examining related ICM process logs.

Before You Begin

Conventions

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

Prerequisites

Readers of this document should be knowledgeable of the following:

  • Cisco ICM

  • Microsoft SQL Server

Components Used

The information in this document is based on the software and hardware versions below.

  • Cisco ICM version 4.6.2 and later

  • Microsoft SQL version 6.5 and 7.0

The information presented in this document was created from devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If you are working in a live network, ensure that you understand the potential impact of any command before using it.

Problem

When opening any Cisco ICM script using the Script Editor tool, the Script Editor fails with one of these error messages (Figure 1):

  • Exclusive access to the router denied because the router is busy

  • Could not acquire script lock.
    Distributor configuration database is out of date. 
    Wait a moment and try again. 
    If this messsage appears repeatedly check on the status 
    of UpdateAW on the distributor.
Figure 1: Script Editor Failure

ICM-Scripts-1.gif

During the examination of the corresponding router log on CallRouterB, this message appears:

13:29:08 ra-rtr Router preparing to verify the config sequence 
  number from the logger. 
13:29:08 ra-rtr Incorrect config sequence number received from the 
  Logger; 293429625145 expected, 0 received.

Note: The previous value is displayed over two lines due to space limitations.

According to the bold text in the above log, CallRouterB receives an incorrect configuration sequence number (recovery key or configuration key) from the Logger. It expects 293429625145, but receives 0. To verify the recovery key in the Config_Message_Log database table, it is found that it contains only 1 row and does not contain the proper recovery key on both LoggerA and LoggerB.

Because the recovery key on both Loggers is listed as 0, which does not match the recovery key on the CallRouter, AWs fail to make configuration changes.

Solution

The recovery key on both Loggers must be repaired so it matches the recovery key on the CallRouter. The step-by-step procedure is as follows:

  1. Check the existence of the Cisco ICM configuration on both Loggers by running the following SQL query commands:

    • Choose * from Peripheral

    • Choose * from Service

    • Choose * from Skill_Group

    If the configuration exists, continue to the next step. Otherwise go to step 12.

  2. Obtain the recovery key either by checking the CallRouter log or by running the following SQL query command on the AW.

    Select ControllerConfigChangeKey from AWControl

    The current recovery key is 293429625145.

  3. Stop ICM services on LoggerB.

    Note: You can start with LoggerA instead of LoggerB.

  4. Run the following SQL query commands on LoggerB.

    • Truncate table Config_Message_Log

    • Insert into Config_Message_Log values(0.0, 'LogBegin', 'Config_Message_Log', getdate(), 0x0000)

      Note: 0.0, LogBegin, Config_Message_Log, getdate() and 0x0000 represent RecoveryKey, LogOperation, TableName, DateTime and ConfigMessage respectively in the Config_Message_Log database table.

    • Insert into Config_Message_Log values(293429625145.0, 'LogTruncated', 'Config_Message_Log', getdate(), 0x0000)

      Note: 293429625145.0, LogTruncated, Config_Message_Log, getdate() and 0x0000 represent RecoveryKey, LogOperation, TableName, DateTime and ConfigMessage respectively in the Config_Message_Log database table.

  5. Verify the two new rows in the Config_Message_Log database table on LoggerB by running the following SQL query command:

    Select * from Config_Message_Log

    The output should appear as follows:

    RecoveryKey	LogOperation	    TableName          	  DateTime       ConfigMessage
    ------------	------------	------------------	  --------------------- -------------
    0.0             LogBegin      Config_Message_Log	Feb 25 2003 12:00AM   0x0000 
    293429625145.0  LogTruncated  Config_Message_Log	Feb 25 2003  1:50PM   0x0000

    If the Config_Message_Log table contains the correct data, LoggerB should be in sync with CallRouterB and allow updates from AWs.

  6. Stop ICM services on LoggerA.

  7. Start ICM services on LoggerB.

  8. Verify the recovery key is synchronized with CallRouterB by examining the router log on CallRouterB.

    13:55:33 rb-rtr At least one logger is available for the router to process config transactions. 
    13:55:33 rb-rtr Router preparing to verify the config sequence number from the logger. 
    13:55:34 rb-rtr Router has verified that the logger still has the correct config sequence number of
    293429625145. 
    13:55:50 rb-rtr Router preparing to verify the config sequence number from the logger. 
    13:55:50 rb-rtr Router has verified that the logger still has the correct config sequence number of
    297768125004.
  9. Verify the configuration change is implemented by examining the detail in the Config_Message_Log database table. The content of the Config_Message_Log should have more rows comparing to step 5:

     RecoveryKey	LogOperation	    TableName          	  DateTime       ConfigMessage
    ------------	------------	------------------	  --------------------- -------------
    0.0             LogBegin      Config_Message_Log	Feb 25 2003 12:00AM   0x0000 
    293429625145.0  LogTruncated  Config_Message_Log	Feb 25 2003  1:50PM   0x0000            
    297768125000.0  First         (null)                    Feb 25 2003  1:55PM             
    297768125001.0  Add           Skill_Target              Feb 25 2003  1:55PM             
    297768125002.0  Add           t_Agent                   Feb 25 2003  1:55PM              
    297768125003.0  Add           t_Agent                   Feb 25 2003  1:55PM              
    297768125004.0  Last          (null)                    Feb 25 2003  1:55PM
  10. Run ICRDBA on LoggerA to synchronize the database on LoggerA with the database on LoggerB.

  11. Start ICM services on LoggerA.

  12. If the problem continues, registered users of Cisco Connection Online (CCO) may open a service request (registered customers only) with Cisco Technical Assistance Center (TAC). If you are not a registered user, please go to User Registration and then open a service request (registered customers only) with TAC.

  13. Restart the Distributor services.

Related Information

Updated: Aug 15, 2005
Document ID: 43781