Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 

How to calculate the Expanded Call Context (ECC) variable scalar size

     

    Expanded Call Context (ECC) Variables

    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 ICM 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 + a null terminator). In addition, it is highly recommended that you use the following naming convention when creating an ECC variable: user.<CompanyName>.<VariableDescription>

     

    where <CompanyName> is the name of your company,<VariableDescription> is a descriptive tag for the variable.

     

    Using this naming convention will prevent naming conflicts with any third-party applications that interface with ICM software.

     

     

    • An ECC variable can be either a scalar variable or an array.
    • The maximum length of a scalar variable or array element can be 1 to 210 bytes.
    • The maximum number of elements in an array can be 1 to 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 not 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

     

    This is too large so the length of one of the scalar ECC variables or the length of the array ECC variable needs to be adjusted.

     

    ECC variables for use by CTI Server:
    
    
        Formula used to calculate buffer size for scalar variable and array element is as:
    
    *     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, and2 terminating NULL characters.
    *     The maximum buffer size for each array = (5 + length of the ECC name + the maximum lengthof 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.
    
    In this case max buffer size is 2500 bytes. This calculation is applicable when setting ECC variable through third party client eg. CTIOS desktop.
    
     

    For more detailed information please refer to http://www.cisco.com/en/US/products/sw/custcosw/ps1001/products_user_guide_chapter09186a00803bd137.html

    Comments

    Very informative !

    New Member

    Hi Shalu,

    The post is very informative however, I am not clear on ECC variables for use by CTI Server part, can you explaing what is the difference and whats means by "This calculation is applicable when setting ECC variable through third party client eg. CTIOS desktop"

    moreover what will be the impact if the length is more than 2000?

    5930
    Views
    5
    Helpful
    2
    Comments