Cisco Cisco Computer Telephony Integration Option 9.0 Developer's Guide

Page of 506
   
1-6
CTI OS Developer’s Guide for Cisco Unified Contact Center Enterprise
Release 8.5(1)
Chapter 1      Introduction
Overview of CTI OS
Key Benefits of CTI OS for CTI Application Developers
The CTI OS Client Interface Library (CIL) provides programmers with the tools required to rapidly 
develop high-quality CTI enabled applications, taking advantage of the rich features of the CTI OS 
server. Every feature of CTI OS was designed with ease of integration in mind, to remove the traditional 
barriers to entry for CTI integrations. 
Object-oriented interactions. CTI OS provides an object-oriented CTI interface by defining 
objects for all call center interactions. Programmers interface directly with Session, Agent, 
SkillGroup, and Call objects to perform all functions. CIL objects are thin proxies for the server-side 
objects, where all the ‘heavy-lifting’ is done. The Session object manages all objects within the CIL. 
A UniqueObjectID identifies each object. Programmers can access an object by its UniqueObjectID 
or by iterating through the object collections. 
Connection and session management. The CTI OS CIL provides out-of-the-box connection and 
session management with the CTI OS Server, hiding all of the details of the TCP/IP sockets 
connection. The CIL also provides an out-of-the-box failover recovery: upon recovery from a 
failure, the CIL will automatically reconnect to another CTI OS (or reconnect to the same CTI OS 
after restart), re-establish the session, and recover all objects for that session. 
All parameters are key-value pairs. The CTI OS CIL provides helper classes to treat all event and 
request parameters as simply a set of key-value pairs. All properties on the CTI OS objects are 
accessible by name via a simple Value = GetValue(“key”) mechanism. Client programmers can add 
values of any type to the CTI OS Arguments structure, using the enumerated CTI OS keywords, or 
their own string keywords (for example, AddItem(“DialedNumber”, “1234”)). This provides for 
future enhancement of the interface without requiring any changes to the method signatures. 
Simple event subscription model. The CTI OS CIL implements a publisher-subscriber design 
pattern to enable easy subscription to event interfaces. Programmers can subscribe to the appropriate 
event interface that suits their needs, or use the IAllInOne interface to subscribe for all events. C++ 
and COM contain subclassable event adapter classes. These classes enable programmers to 
subscribe to event interfaces; they only add minimal custom code for the events they use and no code 
at all for events they do not use.
Illustrative Code Fragments
Throughout this manual, illustrative code fragments are provided both to clarify usage and as examples. 
These fragments are written in several languages, including  C++ and Visual Basic (VB). Though .NET 
(and therefore VB .NET) is supported, note that the VB code fragments are written using VB 6 syntax.