What is Unified CCX CTI Protocol?

The Cisco Unified Contact Center Express Computer Telephony Integration (CTI) Protocol is a set of rules and message definitions for enabling a client to receive telephony information and control telephony functions through Unified CCX such as making and receiving voice calls and caller identification.

The CTI Protocol:

  • Is a TCP/IP socket based message protocol
  • Allows clients to send and receive information/events about:
  • Current system configuration and future updates.
  • Agents and their states
  • Calls and their states
  • Statistics for agents, calls, and queues on a real-time basis
  • Third-party call control
  • Device snapshots
  • Provides support for two client modes for connecting with Unified CCX:
  • Bridge mode clients receive all agent-state and call events for all logged in agents in the system.
  • Agent mode clients only receives messages related to the agent.
  • Has version control

The Cisco UCCX CTI Protocol enables developers to create applications that interact with the UCCX system.

Technical Overview

CTI protocol messages are transported on top of the TCP/IP protocol. They are stored in the data section of TCP/IP packets. The Unified CCX CTI server system listens on a configurable TCP/IP port for socket connections from CTI clients, applications that connect to Unified CCX via CTI Protocol. After a TCP/IP connection is established between the Unified CCX and a CTI client, hand-shake messages are exchanged between the Unified CCX and the CTI client. If the handshake is successful, a session is opened. When the session is successfully opened between the CTI client and Unified CCX, the client may begin using the full set of Unified CCX CTI features.

The Unified CCX CTI server system supports multiple CTI client connections where each client is its own separate instance.

All Unified CCX CTI messages are received and sent through the CTI server module of the RmCm (Resource Manager - Contact Manager) Subsystem, used for resource distribution and the queuing of calls to call centers.

What can a developer build with the CTI Protocol?

Since the CTI Protocol has both bridge and agent modes for connecting to the Unified CCX, the types of applications that can be built are endless.

A bridge mode client receives all agent-state and call events for all logged in agents in the system. A bridge mode client receives all unsolicited messages (messages that the client doesn't initiate) and response messages that the client invoked by request messages. The client does not receive response messages invoked by other clients.

An example of a bridge mode applications is:

  • Reporting application: To create a reporting application, the developer may write a Unified CCX CTI client running in the bridge mode to monitor all events related to all agents and agent devices. The application may monitor these agent activities and device states and add business logic based on these activities and states. For example, if a device is down, the application may send a pager or e-mail to notify IT staff for further investigation. The application may also send a notification to a supervisor if an agent state change pattern is out of ordinary.

An agent mode client represents an agent’s connection and receives only events that apply to the agent represented by the connection. An agent mode client receives unsolicited messages that may affect the agent. For example, if an agent device is in a conference call, call events generated by any device in this conference call may be received by this client. In addition, the client receives all response messages that are a result of request messages that the client sent.

Examples of agent mode applications are:

  • Integration application: Agents may use several applications on their desktop. To integrate these applications with Unified CCX, a developer may write a Unified CCX CTI client to get agent information. The integration application may manipulate agent states based on the agent information and information from other applications.
  • Agent or supervisor desktop: A developer can build a custom agent or supervisor desktop using the CTI protocol. Finesse is a working example of this as it connects to the Unified CCX via the CTI protocol.

Please see the CTI Protocol Developer Guide for more details.

What programming languages can I use to interact with the CTI Protocol?

Any high-level programming language such as Java, C++ can be used to interact with the CTI Server via CTI Protocol.

What license level is needed to use the CTI Protocol?

The CTI Protocol is available for all Unified CCX license packages:

  • Unified CCX Standard (designed for entry-level users): Includes the steps necessary for creating basic Unified CCX applications, including IP Phone Agent (IPPA) and skills-based routing. The standard license is only available for CCX versions 11.0 and below.
  • Unified CCX Enhanced (designed for enterprise-level users): Includes all functions of Unified CCX Standard, plus support for priority queuing. Includes a license to enable custom Java extensions.
  • Unified CCX Premium: Adds full Unified IP IVR support (except for Unified ICM integration) including database integration, Voice eXtensible Markup Language (VoiceXML), HTML web integration, custom Java extensions, and e-Notification services. The outbound feature is now bundled with the Premium package. You will receive one outbound seat free with each premium seat. The maximum number of outbound seats supported will be based on the hardware type.

Next Steps

The best way to really understand the Unified CCX CTI Protocol is to try it for yourself. Please proceed to the Getting Started page to learn just how easy it is.