Expanded Call Context (ECC) variables are variables that you define
and enable in the Configuration Manager to store values associated with the
call. You can specify the variable name and data type. The name must begin with
the string user. These are in addition to the variables the system software
defines for each call (PeripheralVariable1 through PeripheralVariable10,
CallerEnteredDigits, CallingLineID, etc.).
An ECC variable name can be up to 33 bytes long (1–32 usable
characters ). Use the following naming convention when creating an ECC
variable:
user.<CompanyName>.<VariableDescription>
In this syntax:
<CompanyName> is the name of your company
<VariableDescription> is a descriptive tag for the
variable.
For example, you could use the following name for an ECC variable
created for Cisco account numbers:
user.Cisco.AcctNum
Using this naming convention will prevent naming conflicts with any
third-party applications that interface with the system software.
Note
If your corporation is large, you may even want to break
<VariableDescription> down to include the Business Unit,
Division, or other organizational entity that exists in your company.
In addition:
An ECC variable can be either a scalar variable or an array
element, each with a maximum length of 210 bytes.
The maximum number of elements in an array can be 255.
The maximum buffer size for each scalar variable = 5 + the maximum
length of the variable where the 5 bytes includes 4 bytes to tag the variable
and 1 byte for the null terminator.
The maximum buffer size for each array = 5 + (1 + the maximum
length of array element) * (the maximum number of elements in the array).
There is a null terminator for each element, as well as a null
terminator for the array as a whole.
Since the total size of the buffer used to store the variables
internally is 2000 bytes, the total sum of all the maximum buffer sizes for
each variable and each array must be no greater than 2000.
For example, if you intended to use one scalar ECC variable with a
maximum length of 100 bytes, one scalar ECC variable with a maximum length of
80 bytes, and an ECC array with a maximum of 9 elements with each element
having a maximum length of 200 bytes, the buffer size would be: (5+100) +
(5+80) + (5 + (1+200)*9) = 2004. As this buffer size is too large, the length
of one of the scalar ECC variables or the length of the array ECC variable
would need to be adjusted.
ECC variables for blended collaboration or voice MRDs with collaboration
ECC variables must be configured in Configuration Manager's Expanded
Call Variable List tool (for each integrated application) to route
requests using the voice Media Routing Domain.
For Cisco Blended Collaboration or Voice MRDs with Collaboration, the
ECC variables are:
user.cisco.cmb
user.cisco.cmb.callclass
user.cim.activity.id
user.wim.customer.name
Important: While their default size is 40 characters, use the Expanded Call
Variable List tool in the Configuration Manager to limit the user.cisco.cmb
variable to 8 bytes and the user.cisco.cmb.callclass variable to 10 bytes to
prevent ECC space limitation issues.
Note
Refer to Configuration Manager's online help for detailed
information about the Expanded Call Variable List tool.
Expanded call context variable configuration
Expanded call context variable configuration consists of two steps:
Setting the Expanded call context enabled option in the System Information dialog
Defining the variable through the Expanded Call Variable List in the Configuration Manager
For Web Callback and Delayed Callback to work properly, an ECC variable (also known as a named variable) must be defined. The Cisco CTI driver supports the use of ECC variables in addition to the standard call variables associated with a call. Before an ECC variable can be used, it must be defined in the Unified ICM ECC variable database table.
Note
For more information, refer to the Database Schema Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted.
How to Set the Expanded Call Context Enabled Option
To set the expanded call context enabled option:
Procedure
Step 1
Within the Configuration Manager, select
Tools > Miscellaneous
Tools > System Information.
The System Information window appears.
Step 2
Select
Expanded call context enabled.
Note
For additional information refer to the online Help.
Step 3
Click
Save to apply your changes.
How to Define an Expanded Call Context (ECC) Variable
To define an expanded call context (ECC) variable:
Procedure
Step 1
Within the Configuration Manager, select
Tools > List
Tools > Expanded Call Variable
List.
The Expanded Call Variable List window appears.
Step 2
In the Expanded Call Variable List window, enable Add by clicking
Retrieve.
Step 3
Click
Add.
The Attributes property tab appears.
Step 4
Complete the Attributes property tab:
Field
Description
Name (required)
The enterprise name of the expanded call variable. This name
must start with the string user and must be unique among all expanded call
variables in the system (an enterprise name).
Note
Use the following syntax to prevent naming conflicts:
user.company.name where company is your company name and name describes the
expanded call variable.
Maximum length
(required)
Specifies the maximum number of characters (1–210) allowed
in the extended call variable value (the size of the variable string). For a
numeric value, the number of digits is specified.
Important notes:
The maximum amount of space that all the ECC variables
together can take up in the
Unified ICM system is no more than 2000 bytes (not 2K
or 2048 bytes) and sometimes less, depending on your combination of scalar and
array variables and their sizes. Each ECC variable takes up space based on the
following formula: For scalar: 5 + Maximum_Length For array: 5 + (1 +
Maximum_Length) * (Maximum_Array_Size)
The number of characters or digits does not indicate the
number of bytes. For example, a scalar ECC variable of 10 characters could take
up 15 bytes of space.
Array (checkbox)
When selected, indicates the expanded call variable is an
array, not a scalar. Maximum array size If the expanded call variable is an
array, this indicates the maximum number of elements (1–255) in that array. See
also the note under the Maximum length description.
Enabled(checkbox)
When selected, indicates the generation of the expanded call
variable for each call is enabled.
Persistent
(checkbox)
When selected, ECC variables will be written to the Logger
database.
Note
Non-persistent variables can be used in routing scripts,
but will not be written to the database.
Cisco provided (checkbox)
When selected, indicates that the system software predefines
the selected expanded call variable.
Description
Provides additional information about the ECC variable.
Step 5
Click
Save to apply your changes.
Validating ECC Variables for Use by the CTI Server
Before entering ECC variables using the configuration tool, validate the total
size of the ECC variables against the following rules and
limits:
Because the total size of the buffer used to store the variables in
CTI Server internally is 2500 bytes, the total sum of all the maximum buffer
sizes for each scalar variable and arrays must be no greater than 2500.
The maximum buffer size for each scalar variable = 4 + length of
the ECC name + the maximum length of the variable where the 4 bytes includes a
1 byte tag, 1 byte to define the length, and 2 terminating NULL characters.
The maximum buffer size for each array = (5 + length of the ECC
name + the maximum length of array element) * (the maximum number of elements
in the array) where the 5 bytes includes a 1 byte tag, 1 byte to define the
length, 1 byte for the array index, and 2 terminating NULL characters.
For example, if you intended to use one scalar ECC variable with a
maximum length of 100 bytes named
user.var, one scalar ECC variable with a maximum length of
80 bytes named
user.vartwo, and an ECC array named
user.varthree with a maximum of 9 elements with each element
having a maximum length of 200 bytes, the buffer size would be:
(4+8+100) + (4+11+80) + ((5 + 13 + 200)*9)) = 2169
where 8 is the length of
user.var, 11 is the length of
user.vartwo and 13 is the length of
user.varthree.
User variables
You can also create global user variables; for example, you could
create a user variable called usertemp to serve as a temporary storage area for
a string value used by an If node.
Each user variable must:
Have a name that begins with user.
Note
This name cannot contain the dot/period (.) character.
Be associated with an object type, for example, Service. (This
enables the system software to maintain an instance of that variable for each
object of that type in the system.)
Be identified as a persistent (retains value across CallRouter
restarts) or non-persistent (does not retain value across CallRouter restarts)
variable.
Note
A user variable can store a value up to 40 characters long.
After you have defined a variable, you can then use the Script Editor
Formula Editor to access the variable and reference it in expressions, just as
you would with a
"built-in" variable.
Define a user variable
To define a user variable:
Procedure
Step 1
Within the Configuration Manager, select
Tools > List
Tools > User Variable List.
The User Variable List window appears.
Step 2
In the User Variable List window, enable Add by clicking
Retrieve.
Step 3
Click
Add.
The Attributes property tab appears.
Step 4
Complete the Attributes property tab.
Note
The
Variable name,
Object type, and
Data type fields are required. All other
fields are optional. For additional information refer to the online Help.