Cisco Bug: CSCuo24578 - Incorrect Set Variable Information and IF logic returned in ICM Script
Dec 29, 2016
- Cisco Unified Contact Center Enterprise
Known Affected Releases
10.0(1) 10.5(1) 7.5(10) 8.0(1) 8.5(1) 9.0(4)
Symptom: Calls Are being routed to incorrect applications as the Set Variables are not populated correctly according to the values set in the Script. May also see IF logic failing in some ICM scripts showing the same sort of incorrect data being set. Conditions: This can be caused by one of the list indexes to overflow in the router memory due to a very large amount of scripting data in the environment. Additional information: The router stores all of the constants in the Expression::m_ConstantList. When a constant string is used in the expression, the router will get the index from the m_ConstantList, then it uses MAKELONG (constantIndex, opPushConst) to build the operation instruction. The MAKELONG macro actually concatenates the two WORDs into a long variable. In the customer's configuration, there are 65842 items in the constant list where the set maximum is 65535. When the index overflows the max WORD value(65535), you will get unexpected constant value. As explained, these constants get loaded into Router memory sequentially in the order created. Once the 65535 constant limit was reached, the value returned started back at 1 rather than the next value. For example. constant 65535 would return 65535's value, constant 65536 would the value of constant 1, 65537, returned constants 2's values, and so on.
Bug details contain sensitive information and therefore require a Cisco.com account to be viewed.
Bug Details Include
- Full Description (including symptoms, conditions and workarounds)
- Known Fixed Releases
- Related Community Discussions
- Number of Related Support Cases