This document explains why call control variables set in administrative scripts cannot be referenced by route scripts. The document also provides a method to share data between administrative scripts and route scripts in a Cisco Intelligent Contact Management (ICM) environment.
Cisco recommends that you have knowledge of ICM Script Editor.
The information in this document is based on all ICM versions.
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.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
The Set Variable node sets the value of some call variables. The syntax to reference a call control variable in a script is:
In this case, if you run the administrative script and set Call.PeripheralVariable8 to the value of Holiday, all the route scripts fail to access the value. Figure 1 provides an example.
Figure 1 – Administrative Script to Set Call Control Variable
The administrative script successfully sets the Call.PeripheralVariable8 to the value of Holiday. However, control variables cannot be shared between administrative scripts and the route scripts.
In order to pass variables between an administrative script and a route script, use a global user variable. With a global user variable, each user variable must:
Have a name that begins with user
Be associated with an object type, for example, Service
This enables ICM software to maintain an instance of the variable for each object of that type in the system.
Be identified as a variable that is either persistent or nonpersistent
A persistent variable retains the value across CallRouter restarts. A nonpersistent variable does not retain the value across CallRouter restarts.
Note: A user variable can store a value of up to 40 characters.