Inter-Cluster Trunk (ICT) routing errors are seen in the Cisco CallManager server application logs.
The error message appears as:
Event Type: Error Event Source: Cisco CallManager Event Category: None Event ID: 3 Date: 4/28/2004 Time: 4:36:36 PM User: N/A Computer: CM0102 Description: Error: ICTCallThrottlingEnd - Cisco CallManager starts handling calls for the indicated H323 device which was stopped due to route loop created over H323 Trunk Device Name.: 10.15.5.26 IP Address: 10.15.5.26 Device type. [Optional]: 125 Device description [Optional].: Intercluste to Denver Sub App ID: Cisco CallManager Cluster ID: CM0101-Cluster Node ID: 10.15.100.12 Explanation: Cisco CallManager has resumed normal state and starts accepting calls for indicated H323 device. Recommended Action: Administrator needs to remove route loop..
Event Type: Error Event Source: Cisco CallManager Event Category: None Event ID: 3 Date: 4/28/2004 Time: 4:36:06 PM User: N/A Computer: CM0102 Description: Error: ICTCallThrottlingStart - Cisco CallManager stops handling calls for the indicated H323 device due to route loop over H323 Trunk Device Name.: 10.15.5.26 IP Address: 10.15.5.26 Device type. [Optional]: 125 Device description [Optional].: Intercluste to Denver Sub App ID: Cisco CallManager Cluster ID: CM0101-Cluster Node ID: 10.15.100.12 Explanation: Cisco CallManager has detected a route loop over H323 Trunk. As a result it has temporarily stops accepting calls for the indicated H323 device. Recommended Action: Administrator needs to remove route loop..
These errors are an indication of a problem with the gatekeeper trunk (anonymous device). Call Manager detected a call routing loop over this trunk so it suspends calls for 30 seconds. This is expected behaviour as there is a timer which governs the amount of time the calls are suspended. This is called 'H225 Intercluster call throttle timer'.
With the Error: ICTCallThrottlingEnd, Cisco CallManager starts handling calls for the indicated H.323 device, which is stopped because of the route loop created over H.323 trunk.
ICT looping can be created by a misconfigured route pattern. This can cause Cisco CallManager to run high CPU for a long period of time or crash the server. To solve this problem, Cisco CallManager has added logic in the H.225 device (for trunk device only) to monitor the number of transit calls outstanding. Transit call is the call that Cisco CallManager receives the setup request for (or sends the setup request for) and does not yet receive or send the first backward message. For example, call proceeding, call progress, alert, connect, or release complete.
Cisc Call Manager runs a five-second timer to monitor the transit call queue for the H.225 trunk device. If the number of the transit call queue entry is greater than a pre-defined threshold, then, for a period of time (default 30 seconds), all new incoming or outgoing call request to that H225 trunk device will be rejected by sending release completed message with cause code Switch System Congestion.
By throttling the new call request when there are unusual high number of transit calls outstanding, call manager will be able to break the inter cluster loop, and protecting itself from running high CPU. The 5 seconds monitor timer is decided based on standard requirement that it will take up to 4 seconds to receive the first backward message. The predefined throttling threshold is 140 transit calls/5 seconds per inter cluster trunk, which is 28 transit calls/second per inter cluster trunk, which adds up to 100k BHCA per inter cluster trunk. The call throttling period can be adjusted by a new call manager service parameter,"TimerH225ICTCallThrottle", the default value is 30 seconds. When this service parameter is set to 0, which means there is no call throttling mechanism will be implemented. Test result shows with 30 seconds of call throttling, the call manager will be back down to normal CPU in less than one to two minutes.
From CallManager, this is the explanation for the "TimerH225ICTCallThrottle":
Cisco CallManager can monitor the H225 trunk for an unusually high number of call attempts, which are caused by events such as inter-cluster trunk looping. When Cisco CallManager detects an unusually high number of call attempts for the H225 trunk, it triggers call-throtling mechanism to reject the new call attempt with switch system congestion cause code value. By doing so, the Cisco CallManager can protect itself from high CPU usage or crashing the system. H225 Inter-Cluster Call-Throttle Timer designates the the Cisco CallManager service parameter that defines how long, in terms of seconds, the Cisco CallManager will throttle the new call attempt after it detects the unusually high number of call attempts for the H225 trunk. If the timer has the value of 0, Cisco CallManager does not throttle new call attempts. The default value of 30 seconds, which is the result of the engineering lab test, allows the Cisco CallManager to have reasonable time to clean up the buffered messages and, at the same time, to allow the new legitimate call attempt to complete as soon as possible. The valid values for this field include 0,10, 20, 30, 40, 50, and 60.
The Error: ICTCallThrottlingStart error message indicates that the Cisco CallManager cannot handle calls for the indicated H.323 device because of a route loop over the H.323 trunk.
The Error: ICTCallThrottlingEnd error message indicates that the Cisco CallManager resumed call handling for the indicated H.323 device (stopped due to the route loop created over the H.323 trunk).
To resolve this problem, perform one of these steps: