Professional Documents
Culture Documents
Protocol
BRKDEV-1151
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 1
BRKDEV-1151
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 2
Overview
CCX Configuration
Message Format
Message Functions
Session
Configuration
Agent State
Call Event
Call Control
Miscellaneous Messages
Sample Call Flows
Q&A
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 3
Overview
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 4
Overview Diagram
Cisco Agent
Desktop
CCX CTI PROTOCOL
CCX
Gateway
CCX CTI PROTOCOL PG
Cisco Interaction
CCX CTI PROTOCOL Manager
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 6
Overview
The Protocol Can Be Used For
Reporting
Supports customized business logic based on events and
notifications, e.g. send out an email when an agent device is
down, allow agents to see not only their own agent state and
real-time statistics but other agent states as well
Configuration Synchronization and Notification
Allows applications to get configuration data from CCX and be
notified of any configuration changes, e.g. Cisco Interaction
Manager (CIM) uses CCX CTI protocol to get agent, CSQ
and team data
Call Data
Allows flexibility in presenting the right call data to agents,
e.g. if a call is for Sales, look up sales order in CRM. If a call
is for IT support, look up the case in case-tracking tool
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 8
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 9
Delivery
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 10
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 11
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 12
1 Header 4 Body
Message Message
2 3 4 Fixed Part 8 Floating Part
Length Type
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 13
Message Message
2 3
Length Type
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 15
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 16
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 17
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 18
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 19
Protocol Features
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 20
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 21
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 22
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 23
Session Messages
A client initiates a session by trying to connect to the CCX
server using the TCP port number configured
Once a connection is established, the client tries to create
a session by sending an OPEN_REQ
If successful, the CCX server sends an OPEN_CONF
response. If unsuccessful, the status code in
FAILURE_CONF message indicates failure reason.
Examples: E_CTI_SERVER_NOT_MASTER,
E_CTI_REQUIRED_DATA_MISSING
In the OPEN_REQ, the client specifies the version number,
the idle timeout, the services requested mask, call message
mask, agent state mask, configuration message mask
Masks are used to avoid wasting network bandwidth by
suppressing unnecessary messages
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 24
Session Messages
Examples of Service Mask
Mask Name
Description Bytes
(for Service Mask)
CTI_SERVICE_CLIENT_EVENTS Client receives call and agent state 0x00000001
events for a specific phone. Indicates
client is in Agent mode
CTI_SERVICE_CALL_DATA_UPDA Client can modify call 0x00000002
TE context data
CTI_SERVICE_CLIENT_CONTROL Client can control calls and agent 0x00000004
states for a specific phone
CTI_SERVICE_ALL_EVENTS Client receives all call and agent 0x00000010
state changes for any phone.
Indicates client is in Bridge mode
CTI_SERVICE_SUPERVISOR Client can perform supervisory 0x00000080
functions
CTI_SERVICE_CONFIG_EVENTS Client receives configuration events 0x00040000
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 26
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 27
Session Messages
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 29
Configuration Messages
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 30
Request Response
CONFIG_REQUEST_KEY_EVENT CONFIG_KEY_EVENT
CONFIG_REQUEST_EVENT CONFIG_BEGIN_EVENT
CONFIG_CSQ_EVENT
CONFIG_APPLICATION_EVENT
CONFIG_AGENT_EVENT
CONFIG_DEVICE_EVENT
CONFIG_END_EVENT
TEAM_CONFIG_REQ TEAM_CONFIG_EVENT
TEAM_CONFIG_CONF
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 31
Configuration Messages
The client must include the
CTI_SERVICE_CONFIG_EVENT
S bit in the ServiceRequested field
of an OPEN_REQ message if the
client wants configuration data.
Client sends
CONFIG_REQUEST_KEY_EVEN
T message to request a current
set of configuration keys
Server responds by sending
CONFIG_KEY_EVENT, which
contains the CCX configuration
keys at the time of the request
If the client as the same set of
keys as the server, it means that
the client configuration is in sync
with that on the server
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 32
Configuration Messages
Configuration updates performed
in the CCX Administration web
page are sent to clients in a
CONFIG_BEGIN_EVENT and
CONFIG_END_EVENT block
of messages as well
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 34
* All messages above have a record type to indicate if it is an addition, deletion or update
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 35
Configuration Messages
Team Messages
The client must include the
CTI_SERVICE_SUPERVISOR bit (0x00000080) in the
ServiceRequested field of the OPEN_REQ message
if the client wants team configuration data
The client sends a TEAM_CONFIG_REQ to the
CCX server
The server responds with zero or more
TEAM_CONFIG_EVENT messages, followed
by a TEAM_CONFIG_CONF message
After this request/confirmation exchange, the CCX
server sends TEAM_CONFIG_EVENT messages
to the client whenever there is a team
configuration change
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 36
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 37
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 38
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 39
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 40
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 41
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 42
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 43
Call Events
CCX generates call events related to calls on monitored
lines which include triggers (route points), CTI ports and
agent ACD lines
These call events are unsolicited messages,
which are sent to CCX CTI clients
A client can be notified of a call with a
BEGIN_CALL_EVENT as soon as the client is associated
with the new call
Additional events are sent to the client as the call is handled,
depending on the treatment the call receives
When the association ends, the client receives
a CALL_END_EVENT
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 44
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 45
Call Events
CALL_TRANSFERRED_EVENT – indicates that a call has
been transferred to another destination
CALL_CONFERENCED_EVENT – indicates that multiple
calls have been joined into a conference call
CALL_QUEUED_EVENT – indicates that a call is placed
in queue
RTP_STARTED_EVENT – indicates that RTP media stream
has started
RTP_STOPPED_EVENT – indicates that RTP media stream
has stopped
CALL_DATA_UPDATE_EVENT – indicates that the call
context data has changed
SET_CALL_DATA_REQUEST – used to set call
context data
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 46
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 47
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 48
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 49
* Most Requests Will Contain a CallID used to Identify the Call. The Transfer and Conference
Request Contains 2 callIDs. The MakeCall Request Will Return a callD in the MakeCallConf.
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 50
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 51
Miscellaneous Messages
A CCX CTI client can obtain real-time information related to CSQs
and agents. These messages are solicited messages where the
CTI client requests the desired information and the CCX server
sends the required information as the response
A CTI client can send a QUERY_QUEUE_STATISTICS_REQ to
obtain real-time info of a CSQ. The
QUERY_QUEUE_STATISTICS_CONF includes number of logged
in, in-session, available, unavailable, work, reserved agents, and
number of calls in queue for each priority of the CSQ, total calls,
number of handled, abandoned, dequeued calls, oldest call in
queue, average talk and wait durations, longest talk and wait
durations of the CSQ
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 52
Call Scenarios
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 54
6. Call Established
Agent
7. Call Drops
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 55
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 56
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 57
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 58
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 59
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 60
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 61
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 62
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 64
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 65
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 67
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 68
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 69
Troubleshooting
Example:
350271: May 07 11:27:16.076 GMT-800 %MIVR-ICD_CTI-7-
UNK:OutboundMessageprocessor : Q size after posting msg : {
length=-1 type=AGENT_STATE_EVENT, monitorID=0,
peripheralID=1, sessionID=0, peripheralType=21,
skillGroupState=4, stateDuration=0, skillGroupNumber=-1,
skillGroupID=-1, skillGroupPriority=0, agentstate=TALKING,
eventReasonCode=0, MRDid=1, numTasks=0, agentMode=0,
maxTaskLimit=0, ICMAgentID=0, agentAvailabilityStatus=1,
numFltSkillGroups=0, CTIClientSignature=null, agentID=cyeo,
agentExtension=1007, agentInstrument=null,
agentID_Long=cyeo, duration=-1, nextAgentState=2} to socket:
Socket[addr=172.19.136.80,port=1419,localport=42027] is : 1
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 71
Q&A
BRKDEV-1151
14624_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 72