Cisco Cisco Computer Telephony Integration Option 9.0 Developer's Guide

Page of 278
3-14
CTI Server Message Reference Guide (Protocol Version 9) Release 7.0(0)
Chapter 3      Messaging Conventions
Call Event Data
Event Cause Codes
Most Call Event messages include an EventCause fixed field that may provide a reason for the 
occurrence of the event. In most cases no event cause information is supplied (CEC_NONE). 
For a list of EventCause codes that may be reported, see 
Call Identification
CTI Server uses the CSTA method of identifying calls. A numeric ConnectionCallID identifies a call; 
each connection of a device to that call is identified by a ConnectionDeviceID string and an enumerated 
ConnectionDeviceIDType value (see 
). All call related messages identify the 
ConnectionCallID as well as the ConnectionDeviceIDType and ConnectionDeviceID of the call 
connection that is the subject of the event.
Figure 3-3
Sample CSTA Call/Device/ConnectionID Values
TRUNK
1001
DEVICE
5001
CallID
100
ConnectionID: “0”
Type: DYNAMIC
ConnectionID: “5001.0”
Type: STATIC
A ConnectionDeviceID uniquely identifies a call connection. However, it cannot directly identify the 
connected device; use other event message fields for that purpose. In some cases, the 
ConnectionDeviceID may simply be the ID of the connected device, the connected deviceID with 
additional identifying data included, or a string that does not contain the deviceID at all. A valid CTI 
Server application can make no assumption about the content or format of a ConnectionDeviceID.
Occasionally, both the ConnectionDeviceID and the numeric ConnectionCallID are required in order to 
properly identify the subject call. This occurs when the ACD uses the ConnectionCallID value from an 
ACD call as the ConnectionCallID value for any related consultative calls. This poses two particularly 
significant requirements for applications: they must be able to keep track of two calls with the same 
numeric ConnectionCallID value, and they must be able to decide which of the two calls is being 
referenced by any given call event message. These requirements are relatively easy to implement by 
keeping track of the ConnectionDeviceIDs associated with each call. The call that has a 
ConnectionDeviceID that matches the ConnectionDeviceID provided in the call event message is the call 
that is the subject of the event. The only difficult case is determining which call is the subject when a 
new call connection is created. For this case, the following rule applies:
When more than one call with the same ConnectionCallID value exists, the connection being created 
by a CALL_ESTABLISHED_ EVENT shall apply to the call that does not yet have a destination 
connection established.