Cisco Cisco Computer Telephony Integration Option 8.5 Reference Guide

Page of 276
   
2-2
CTI Server Message Reference Guide (Protocol Version 14) for Cisco Unified ICM/Contact Center Enterprise & Hosted
Release 8.0(1)
Chapter 2      CTI Client Application Guidelines
Generic vs. ACD-Specific Applications
Generic vs. ACD-Specific Applications
Although CTI Server provides a great deal of call event detail, be aware that the events reported and 
details provided with each call event vary depending upon the type of ACD involved and possibly the 
specific software version or other options configured. To remain completely generic and independent of 
the ACD type, the CTI client should only utilize the BEGIN_CALL_EVENT, END_CALL_EVENT, and 
CALL_DATA_UPDATE_EVENT messages.
In an object oriented model, you could use the BEGIN_CALL_EVENT message to construct an object 
that represents this specific call and initializes its contents. Any subsequent call event messages operate 
on the object and possibly change its state. Finally, you can use the END_CALL_EVENT to trigger any 
needed cleanup operations and destruction of the call object. 
When you need other call event messages to satisfy the application’s requirements, try to use as little 
event data as possible other than the event type (message type). Your application will have fewer ACD 
specific dependencies. 
For a list of the basic differences between ACD types that are potentially visible to a CTI client, see the 
.
Message Masks
CTI Server can provide much more real-time data than the typical CTI client needs. The CTI Server 
provides message masks to suppress the transmission of unneeded data and avoid wasting network 
bandwidth. You should carefully consider the network impact of the expected number of simultaneously 
connected CTI clients before deploying a CTI client application that unmasks a large number of 
messages.
Message Order
When an event occurs that would conceptually result in two or more event messages being generated at 
the same time, the CTI client must be prepared to handle the messages arriving in any order. For 
example, an agent answering an inbound call might generate both a CALL_ESTABLISHED_EVENT 
and an AGENT_STATE_EVENT message. These may be received by a CTI client in either order, and 
other event messages may be sent to the client in between. Also, since ACD event data is often obtained 
from multiple sources, there can be a noticeable delay between event reports that logically occur at the 
same time.
Definitions of Symbolic Constants
The symbolic constants shown in tables in this document are available in a C include file, CTILink.h, 
that is included with every CTI Gateway installation in the \icr\include directory.