Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cisco Unified Contact Center Enterprise - Application (Programming) Interfaces

Download as pdf or txt
Download as pdf or txt
You are on page 1of 40

BRKDEV-1141

14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 1

Cisco Unified Contact


Center Enterprise—
Application (Programming)
Interfaces

BRKDEV-1141

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 2

© 2006, Cisco Systems, Inc. All rights reserved. 1


Presentation_ID.scr
Session Abstract

ƒ This session will cover all the open interfaces/APIs


that Cisco Unified Contact Center Enterprise has.
The CTI OS client interface libraries, CTI Server
interface (GED-188), the VRU PG interface (GED-125),
the Application Gateway (GED-145) and the open
database schema are covered at a functional level
ƒ This presentation will provide the partner an
understanding of the functionality of the interface,
it’s technical characteristics, overview of the main
services/messages and examples of applications using
the interface

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 3

Cisco Unified Contact Center Enterprise—


Application (Programming) Interfaces
Agenda
ƒ Contact Center Enterprise Overview
ƒ Application Gateway (GED-144)
ƒ VRU PG (GED-125)
ƒ CRSP NIC
ƒ Cisco Agent Desktop
ƒ CTI Toolkit
CTI Server (GED-188)
CTI OS

ƒ Database Access

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 4

© 2006, Cisco Systems, Inc. All rights reserved. 2


Presentation_ID.scr
Cisco Unified Contact Center
Product Portfolio
Unified CC Unified ICM Self Service
• Enterprise • Enterprise • Customer
• Hosted • Hosted Voice Portal
• Express • IP IVR

Options
• Unified E-Mail Interaction Manager
• Unified Web Interaction Manager
• Outbound Option
• CRM Connectors
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 5

Cisco Unified Contact Center Enterprise


Cisco Unified Contact Center Enterprise Combines
Multichannel ACD Functionality with IP Telephony
in a Unified Solution
Key Capabilities of Unified Contact Center Enterprise:
ƒ Single system for distributed/multi-site deployments
ƒ Integrated Outbound and Multi-channel capabilities
ƒ Speech-enabled Voice Self-Service application
ƒ Computer telephony integration
ƒ Fault tolerant solution
ƒ Highly scalable

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 6

© 2006, Cisco Systems, Inc. All rights reserved. 3


Presentation_ID.scr
Cisco Unified ICM Enterprise
Cisco Unified Intelligent Contact Management Enterprise
Virtualizes Contact Centers Across Heterogeneous and
Distributed Third-Party Networks, ACD and IVR Systems
Key Capabilities:
ƒ Interfacing with carrier
network for pre-routing
ƒ Network to desktop CTI
ƒ Customer segmentation
ƒ Resource activity and
availability monitoring
ƒ Contact routing to best
available resource
ƒ Enterprise wide reporting
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 7

Architectural Overview
CRSP (and INAP) NIC

Network
Interface
Carrier Network
Controller Interface

Logger Router Application Gateway

Core Routing CTI Server


Engine
CTI OS
CILs
Database
VRU ACD UCM
PG PG PG
Historical
Server
HDS Database
Agent
Desktop
Server Application

Cisco
Database Peripheral
Agent
Replicated Database Gateways:
Desktop
for Reporting and Interfaces to
VRU PG
Open Access ACDs and IVRs
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 8

© 2006, Cisco Systems, Inc. All rights reserved. 4


Presentation_ID.scr
Naming Conventions

ƒ Product names
Cisco Unified Contact Center Enterprise/Hosted
Acronyms: CCE and CCH
Cisco Unified Intelligent Contact Management
Enterprise/Hosted
Acronyms: ICM, ICME or ICMH
ƒ Most content in this presentation is applicable
to both products
Exceptions will be noted
ƒ Core software name
Both products use identical software (allowing for mixed
ICM/CCE deployments)
The core software is referred to as “ICM” or “ICM System”
in this presentation
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 9

Generics

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 10

© 2006, Cisco Systems, Inc. All rights reserved. 5


Presentation_ID.scr
Developer Support Services
ƒ Developer Support Services contract offers
Access to knowledgeable engineering team with experience
in custom CTI development
Support for development questions and production issues
Cases are opened via the regular TAC channel

ƒ Developer support services offer annual contracts for


Partners: support for multiple customer
Customer: support for single deployment

ƒ A Developer Support Services contract is mandatory


for any custom developments using the CTI interfaces
ƒ URL for further information:
http://www.cisco.com/en/US/products/svcs/ps3034/ps5408/ps5418/serv_home.html

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 11

A Few Basics on Data in the ICM System

Call Context Data


ƒ Every call in the system has an associated call context
Network-provided data (dialed number, CLI, etc)
10 ‘Peripheral Variables’ of 40 bytes each
2,000 bytes of ‘Expanded Call Context’ (ECC) that can be configured into
custom variables

ƒ Call Context is available on all interfaces for reading and writing


(database is read-only of course)

Database Records
ƒ The system writes aggregate data for reporting purposes
(real-time tables, 30 min tables)
ƒ Call Detail records are stored for every call-leg with all call
context data
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 12

© 2006, Cisco Systems, Inc. All rights reserved. 6


Presentation_ID.scr
Application
Gateway
Interface

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 13

Application Gateway—Use
ƒ Intended use: access any external application to request additional
data during the routing phase of the call
Examples:
Use CLI or a CustomerID retrieved in an IVR session to retrieve customer
status (gold, platinum, behind on payment, etc.) to be used to determine
routing and priority
Use a case number entered by the customer in an IVR session to determine
the case priority and the agent handling the case to be used to try to route
call to handling agent, if available
The received data becomes attached to the call and can be used for routing
purposes, for screen pop, etc.
ƒ Use of interface is controlled from the scripting application
‘Application Gateway’ node in script editor
Node controls sending a response
If a response is needed script execution waits until response is received
Call context variables are updated with received data
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 14

© 2006, Cisco Systems, Inc. All rights reserved. 7


Presentation_ID.scr
Application Gateway—Architecture
ƒ AppGw Process on the Router (A and B) connects
to external application
ƒ Connection is monitored using heart beats
ƒ Application Gateway supports
Interfacing to multiple applications simultaneously
Encrypted connection (native or via IPSec)
Supports redundant applications in multiple modes

Stand-by
Router A
Router (A or B preferred)
Application A
Alternate
Router B Duplicate
Router
(first response is used)
Application B
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 15

Application Gateway—Protocol
ƒ TCP message passing protocol
No API (although, see next slide);
write directly to the socket
ƒ Two main messages
Request
Response (optional)
ƒ Request message contains
A message type field
Any call context variable
Expanded Call Context variables
ƒ Response message contains
Any updated Call
Context Variable
Any updated Expanded Call
Context variables

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 16

© 2006, Cisco Systems, Inc. All rights reserved. 8


Presentation_ID.scr
Cisco Professional Services Pre-
Packaged Application Integrations

ƒ Alternatives to writing to the socket


ƒ Typical fee $25,000
ƒ Available options
ODBC: Direct interactions with stored procedures
in an ODBC accessible database
XML: Access a web services interface
MQ: Access an MQSeries server
COM: Provides an API in the form of a COM object to write
custom integration

ƒ Maintained and serviced by Cisco Advanced Services

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 17

VRU Peripheral
Gateway

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 18

© 2006, Cisco Systems, Inc. All rights reserved. 9


Presentation_ID.scr
VRU Peripheral Gateway—Use

ƒ Intended use: Integrate a 3rd party VRU with CCE/ICM


Let ICM route calls to a VRU in a controlled manner
Let ICM handle route requests from a VRU that need to go
to an ICM/CCE controlled agent
Let ICM scripting control the VRU and any call that moves
to or from the VRU

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 19

VRU Peripheral Gateway—


Event Data Feed

ƒ Intended use: Integrate a 3rd party VRU with CCE/ICM


Let ICM route calls to a VRU in a controlled manner
Let visibility
ICM has ICM handle of route requests
the state of from a VRU that need to go
VRUs are sending
to anand
the VRUs ICM/CCE controlled
can decide whereagent
state data to ICM
to best
Let ICM route thecontrol
scripting call the VRU and any call that moves
to or from the VRU
ed
t Da ta Fe
Even

Carrier network

Trunks
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 20

© 2006, Cisco Systems, Inc. All rights reserved. 10


Presentation_ID.scr
VRU Peripheral Gateway—
Call Routing
ƒ Intended use: Integrate a 3rd party VRU with CCE/ICM
Let ICM route calls to a VRU in a controlled manner
Let ICM handle route requests from a VRU that need to go to an
ICM/CCE controlled agent
Let ICM scripting control the VRU and any call that moves
to or from the VRU
VRU sends a route
ICM responds to VRU with request to ICM
new destination for call, e.g.
an agent st
R eque
Route
s e
R espon
Route

Carrier network

Trunks
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 21

VRU Peripheral Gateway—


Service Control

ƒ Intended use: Integrate a 3rd party VRU with CCE/ICM


Let ICM route calls to a VRU in a controlled manner
Let ICM handle route requests from a VRU that need to go
to an ICM/CCE controlled agent
Let ICM scripting control the VRU and any call that moves
to or from the VRU

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 22

© 2006, Cisco Systems, Inc. All rights reserved. 11


Presentation_ID.scr
VRU Peripheral Gateway—
Service Control (1)

ƒ Intended use: Integrate a 3rd party VRU with CCE/ICM


Let ICM scripting control the VRU and any call that moves
to or from the VRU
Option 2: Call arrives
Option 1: ICM routes at VRU directly
call to VRU

NReew
quest
InstrucC all
tions
Carrier network

Trunks
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 23

VRU Peripheral Gateway—


Service Control (2)

ƒ Now the call is at the VRU, and the VRU has asked
the ICM for instructions what to do
ƒ ICM can:
Instruct VRU to run a script
Instruct VRU to move the call to another destination (e.g. an agent)
Instruct VRU to release the call

RC
uo
R nen
S
lencaeriscpett
Carrier network
ScriptRes
ult
Trunks
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 24

© 2006, Cisco Systems, Inc. All rights reserved. 12


Presentation_ID.scr
VRU Peripheral Gateway—
Application Level Interfaces

Older Interfaces
ƒ Event Data Feed (EDF)
ƒ Call Routing Interface (CRI)
Mostly used in combination

Main Interface
ƒ Service Control Interface (SCI)
Auxiliary Interface
ƒ Time Synchronization Interface
PG reports time delta with VRU, allowing VRU to adjust its time

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 25

Event Data Feed


ƒ The Event Data Feed provides a means for the VRU to
convey current status information to the ICM in real time
on an event by event basis
ƒ There are two parts to the Event Data Feed:
Initialization: types of information exchanged:
Trunk group data
Service data
Operation VRU status

Unsolicited events: call and VRU events (e.g. call delivered,


call cleared, VRU trunk out of service, etc.)

ƒ The information provided by the events is used to populate


ICM real-time state and database elements as well as
Call Detail Records
This information can be used for reporting and routing purposes
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 26

© 2006, Cisco Systems, Inc. All rights reserved. 13


Presentation_ID.scr
Call Routing Interface
ƒ The Call Routing Interface is the means by which the VRU
asks the ICM for instructions on how to route (transfer) a call
ƒ The VRU supplies information about the call to be routed
(RouteRequest message)
ƒ The ICM returns a label specifying how the call should be
routed (RouteSelect message)
The label is a character string that encodes the instructions for routing
the call
Encoding of routing instructions is free form. Examples:
E14085551212 may mean “transfer call to PSTN E.164 number …”
D*94085551212 may mean “outpulse DTMF digits *9… on incoming trunk”

ƒ CRI is also used by VRU to retrieve call context data on calls


routed to the VRU by ICM
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 27

Service Control Interface

ƒ SCI allows for the VRU to be controlled by ICM


in different roles
Service node, i.e. VRU receives and controls the call
(switching function) and also acts as a VRU
VRU and/or queue device only, while calls are controlled
by a different ‘routing client’ such as CVP or a NIC connected
to a carrier network

ƒ Event Data Feed capabilities are built-in to the SCI


VRU can initialize the Trunk and Service data and its
operational state
ICM will keep real-time state info and database up to date
based on the call progress
ICM will write Call Detail Records on each handled call
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 28

© 2006, Cisco Systems, Inc. All rights reserved. 14


Presentation_ID.scr
Service Control State Diagram

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 29

VRU Peripheral Gateway—Capabilities


ƒ VRU PIM process on the active PG opens a connection to the VRU
ƒ There is version negotiation in the protocol
The VRU PG will try to open with the latest revision. When the VRU rejects the
request, the VRU PG will try a lower revision
ƒ Connection is monitored using heart beats
ƒ In case a VRU PG fail-over happens, the other PG side will become
active and reconnect to the VRU
ƒ Routing feature supported by VRU PG
Pre-routing
Divert on busy/no reply
Router requery
Upon failure to connect, control is passed back to ICM script for further routing,
requeuing, etc.
Scheduled Targets (poor man’s ACD)
Blind Network Transfer
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 30

© 2006, Cisco Systems, Inc. All rights reserved. 15


Presentation_ID.scr
VRU Peripheral Gateway—Protocol

ƒ TCP message passing protocol


No API; write directly to the socket

ƒ All relevant messages have the capabilities


to exchange optional call context data
ICM can send data to the VRU, for example parameters
to be used for running a VRU script
VRU can send data to ICM, for example the result of running
a VRU script

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 31

Call Routing Service


Protocol (CRSP)

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 32

© 2006, Cisco Systems, Inc. All rights reserved. 16


Presentation_ID.scr
Call Routing Service Protocol (CRSP)

ƒ Intended use: integrate a carrier network with CCE/ICM


ƒ Cisco developed CRSP for carriers who desire an IP-
based full-function signaling interface, but can not use
other standards, such as INAP, AIN
ƒ CRSP is typically being deployed to connect an ICM to
an IN carrier or mobile network (SCP) or a Service
Node (Network IVRs)

Carrier Network

Trunks
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 33

CRSP Capabilities
ƒ Pre-routing
ƒ Full Network Event Recording
All armed-for events (answers, disconnects, busy, etc.) are recorded
in ICM database
ƒ Network IVR support
Controlled either through the CRSP interface or through ICM IVR
Peripheral Gateway
Prompting/IVR applications under ICM script control
Network Queuing under ICM script control
ƒ Divert on busy/no reply
ƒ Router requery
Upon failure to connect, control is passed back to ICM script for further routing,
requeuing, etc.
ƒ Scheduled Targets (poor man’s ACD)
ƒ Network Transfer
Blind transfer
Consultative transfer
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 34

© 2006, Cisco Systems, Inc. All rights reserved. 17


Presentation_ID.scr
Desktop and
CTI Interfaces

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 35

Cisco Contact Center/ICM CTI Options


ƒ Cisco Agent Desktop*
Out of the box solution
Rapid, easy, low-risk deployment
3 deployment options:
Windows Client
IP Phone Agent
Browser Edition
ƒ CTI Toolkit
Custom development kit
Simplifies custom desktops
and CTI integrations
ƒ Pre-integrated CRM Desktop
Strategic pre-built integrations
with the leading CRM vendors

* Only Available for Contact Center Enterprise/Hosted


BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 36

© 2006, Cisco Systems, Inc. All rights reserved. 18


Presentation_ID.scr
Cisco Agent
Desktop

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 37

Cisco Agent Desktop—Using Workflows


to Perform Desktop Application Integration

Enterprise
Data
Appears
with Call

Search in
SFDC on
ANI

Screen
Pop on
Record

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 38

© 2006, Cisco Systems, Inc. All rights reserved. 19


Presentation_ID.scr
Cisco Agent Desktop
3rd Party Application Integration Overview
ƒ Application integration for 3rd party applications
Easily accomplished without custom programming
Can be executed automatically based on events or manually
using Task automation buttons
Available with CAD Enhanced and Premium versions
ƒ Workflow
Events—Startup, Shutdown, Ringing, Answered, and Dropped
Rules—Define Rule Conditions like Data Field, Content, Length
Actions—Agent State, Utility, Call Control, HTTP Action, Run
Macro, or Launch External Application

Screen pop
CAD
Incoming CAD Gets with Customer
Executes CRM
Call Is Call Data Information
Application
Received from Displays on
Integration
CCE/CCX Agent Desktop
Generic Workflow Example
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 39

How Is 3rd Party Integration Achieved?


ƒ Use Cisco Desktop
Administrator
to create screen
pop using one
of following
workflow methods:
HTTP action
Run macro
Launch external
Application
Windows Interprocess
Communication (IPC)

Create a Workflow by Defining


Events, Establishing Rules,
and Adding Actions
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 40

© 2006, Cisco Systems, Inc. All rights reserved. 20


Presentation_ID.scr
Cisco Agent Desktop
Application Integration Methods
Application Integration Methods
Workflow Action Type of Application Target Application
Name Integration Location
Web Browser Accessible
HTTP Action Web Server
Applications

Windows Desktop Applications


Launch External Application Accessible
or Custom Apps Written in VB
Application from Agent’s PC
or Other Languages

Windows Desktop Application that


Provide Keystroke Access
Run Key Application Accessible
to All GUI Controls Including Rich
Stroke Macro from Agent’s PC
Client Applications, Terminal
Emulation

Interprocess
Windows Desktop Application that Application Running
Communication
Accepts IPC Commands on Agent’s PC
(IPC)

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 41

Application Integration Using


HTTP Workflow
1. When agent telephone
rings search customer HTTP
database for customer Action
account based on CLI Screen
2. Enter URL from existing
web application Post/Get
Action
3. Designate call
information to be
Data
passed to URL Action

Preview

EVENT RULE HTTP ACTION RESULT


Call Starts Call Contains CAD Creates URL Salesforce
Ringing Incoming Phone with ANI Embedded Customer Record
Number (ANI) to Bring up Sales- Search Initiated
Force Search Result
Web Integration Action Example
BRKDEV-1141
Web Integration Action Example
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 42

© 2006, Cisco Systems, Inc. All rights reserved. 21


Presentation_ID.scr
CTI Toolkit

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 43

Applications Using CTI Toolkit

ƒ Agent desktop applications and integrations, supporting


Agent state changes (login/out, …)
Call control (answer, transfer, …)
Screen pops
Other (real-time reporting, entering wrap-up data, on demand
recording, …)

ƒ Dialers
ƒ Recorders
ƒ Work force management systems
ƒ Wall boards

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 44

© 2006, Cisco Systems, Inc. All rights reserved. 22


Presentation_ID.scr
Cisco CTI Toolkit Benefits
ƒ Choice of options to support dynamic and changing environments
Out of the box desktop
Custom desktops
Integrations to 3rd party (CRM) applications

ƒ Rapid application development in your choice of programming


environment
ƒ Highly Available
Built on fault tolerance Cisco ICM core

ƒ Remote Desktop solution such as Citrix supported


ƒ Single set CTI desktops/integrations on Cisco and 3rd party ACDs
Transparent voice and data transfers between locations and ACD types
Migrations from TDM to IP without changing CTI integrations
Mixed TDM/IP environments with single CTI solution
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 45

CTI Toolkit Components


ƒ CTI Server: socket level interface for
All event clients, such as 3rd party dialers
Registered services, such as 3rd party recorders
Some types of server-to-server integrations
ƒ CTI OS Client Interface Libraries for custom development
.NET, Java, C++, COM, ActiveX Controls
Code samples and Development documentation
ƒ Out of the box installable desktops to get started
Inbound-only agent desktop
Blended (outbound) agent desktop
Supervisor desktop*
ƒ Executable Silent Monitoring Service to support SPAN-
based and desktop monitoring*
* Only available for Contact Center Enterprise/Hosted
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 46

© 2006, Cisco Systems, Inc. All rights reserved. 23


Presentation_ID.scr
CTI Toolkit in the Contact
Center Solution
Peripheral
Gateways:
Network
Interface Interfaces to
Controller ACDs and IVRs

Logger Router

CTI Server

CRM App

VRU ACD UCM


PG PG PG CTI OS
Historical CILs
HDS Database
Server Agent
Desktop
Application

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 47

CTI Toolkit Server Architecture


PG with CTI Server and CTI OS Server Desktop/Server
Socket
Application
Connection
Node Manager
CallManager
Peripheral Java Custom
Application
Messaging layer

Interface Manager CIL


CTI OS Server

3rd party ACD


CTI Server

Peripheral
Interface Manager .NET
IVR Peripheral CIL
Interface Manager
COM

Active

Media Routing C++


X

Peripheral CIL
Interface Manager

CTI Server CTI OS


interface CIL APIs
Custom
Application

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 48

© 2006, Cisco Systems, Inc. All rights reserved. 24


Presentation_ID.scr
CTI Toolkit Licensing

ƒ Licensing of CTI Toolkit is through Contact Center


Enterprise Agent licenses
Any application that logs in an agent through the CTI interfaces
needs to be licenses using the CCE/H Premium Agent license
or ICM Desktop license
Use of the CTI interfaces for other purposes (e.g. events only)
is allowed with any CCE/H or ICM Agent license
ƒ Development licenses
No separate development license required
System Integrators doing work for a specific customer do so
based on the customer’s CCE/ICM Agent licenses
Partners developing generic product (for multiple customers)
must join the Cisco Technology Developer Program (CTDP)
to get access to software
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 49

CTI OS

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 50

© 2006, Cisco Systems, Inc. All rights reserved. 25


Presentation_ID.scr
Cisco CTI OS (1)
ƒ Object Oriented programming model
ƒ Client Interface Libraries (CILs) provided for development in
C++
COM
.NET
Java
Also provided are ActiveX controls that can be dropped into a container application
ƒ CTI OS features
Provides switch normalization
Provides button enablement information
Maintains state info
Fail-over to other CTI OS Server is transparent for the application
Test tools included in the Toolkit
ƒ Connections between server and desktop (on C++ CIL, COM and ActiveX
Controls)
Configurable TCP listening port
QoS
Encryption

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 51

Cisco CTI OS (2)

ƒ Development Guide is published


http://www.cisco.com/en/US/products/sw/custcosw/ps14/
products_programming_reference_guides_list.html

ƒ Backwards compatibility for clients


CTI OS Clients developed with versions 5.1, 6.0 and 7.x are
supported with CTI OS Server 7.2(1)
Full details in CTI Compatibility Matrix
http://www.cisco.com/application/x-zip-
compressed/en/us/guest/products/ps14/c1225/ccmigration_
09186a0080264775.zip

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 52

© 2006, Cisco Systems, Inc. All rights reserved. 26


Presentation_ID.scr
CTO OS Object Model:
Events and Methods

ƒ Session:
Connect/Disconnect, Session
SetAgent, SetMessageFilter
ƒ Agent: Agent ID, station, Agent
Login/Logout, SetAgentState,
MakeCall, Statistics
ƒ Skill Group(s): Skill group Skill Group
name, Id, Statistics
ƒ Call: Answer, Release, Hold, Call
Retrieve, Transfer,
Conference

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 53

CTI OS Object Architecture

ƒ Objects connect to server through sockets


Connection initiated by client

ƒ Received messages in the OS are translated into


Events and sent to the Session object
ƒ Session object examines event and decides how to
delegate event
Sends event to Agent or Call object
Creates new Agent or Call object if required

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 54

© 2006, Cisco Systems, Inc. All rights reserved. 27


Presentation_ID.scr
CTI OS Connection Modes and Flow
ƒ Agent Mode
Create agent (or supervisor) object
Create session object
Establish connection to CTI OS server
Login (must connect instrument with agent id)
Make call, or wait for call events

Logout or break connection
ƒ Monitor Mode
Create session object
Set event filter expression to request desired types of events
Establish connection to CTI OS server
Wait for filtered events
...
Disconnect or break connection
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 55

C++ CIL, COM and ActiveX Controls

ƒ Client support for WindowsXP


Vista support planned for CCE release 7.5 in July 2008
ActiveX Controls
ƒ Agent State ƒ Call Appearance ƒ Skill Group ƒ Emergency/Assistance
ƒ Agent Statistics ƒ Conference Statistics ƒ Agent Select
ƒ Alternate ƒ Hold/Retrieve ƒ Status Bar ƒ Supervisor Only
ƒ Answer/Release ƒ Make Call ƒ Subclass Form – Barge In
ƒ Bad Line ƒ Reconnect ƒ Transfer – Intercept
ƒ Button ƒ Record – Clear Monitor…

CTI OS CIL for COM


CTIOS Int Kit SessionResolver

CtiCommonDlgs CTIOSClient ComArguments

CTI OS C++ CIL


ServiceLib ArgumentsLib

UtilLib ConnectionLib SessionLib


BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 56

© 2006, Cisco Systems, Inc. All rights reserved. 28


Presentation_ID.scr
Executable CTI Toolkit Agent Desktop
Reporting and
Agent State Call Supervisor
Chat Buttons
Control Control Assist Buttons

Contact
Appearance

Contact Data
Fields

ƒ ACD, Call Control and Outbound features


ƒ Supervisor Assist, Agent Statistics, Chat, Start/stop recording
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 57

Java CIL

ƒ Similar design as C++, COM and .NET CIL


ƒ Implements Single Agent Mode only
ƒ Programming samples included in the Toolkit
ƒ Support for Sun JVM
ƒ Client support for
RedHat Linux
Windows XP
ƒ No support for
QoS
Encrypted connections
Desktop or SPAN-based silent monitoring
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 58

© 2006, Cisco Systems, Inc. All rights reserved. 29


Presentation_ID.scr
.NET CIL
ƒ Similar design as C++, COM and Java CIL
ƒ CTIOS SDK 7.x provides (.NET not supported
on earlier releases)
Native .NET managed class library
API that adheres to the Common Language Specification (CLS)
Can be used with any compiler that produces managed code
(C#, VB.NET, ASP.NET, Managed C++,..)
Fully functional C# based Combo Agent Desktop
Single application Agent, Supervisor and Outbound Option

Allows creation of Multi-Threaded applications


ƒ No support for
QoS
Encrypted connections
Desktop or SPAN-based silent monitoring
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 59

Internationalization and Localization

ƒ The CTI OS Internationalization Toolkit provides the


mechanisms and utilities for creating localized versions
of CIL-based client applications such as Agent and
Supervisor Desktops
Double-byte and extended character languages are supported
ƒ With release 7.2(1) the following languages are
supported for the executable desktops
Japanese, Simplified Chinese, Korean, European French,
German, Spanish, Italian, Brazilian Portuguese, Dutch,
Swedish, Danish, Traditional Chinese, Russian
ƒ Detailed CTI Toolkit Internationalization info:
http://www.cisco.com/en/US/partner/products/sw/custcosw/ps14
/products_programming_reference_guides_list.html
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 60

© 2006, Cisco Systems, Inc. All rights reserved. 30


Presentation_ID.scr
CTI Server

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 61

CTI Server (1)


ƒ TCP Socket interface with configurable listening port
No API available (in fact there is one, but it is for an old version)
ƒ Supported client types
Single device clients (e.g. agent/supervisor desktop)
Multi-device clients (e.g. a server to server CTI implementation)
All events clients (e.g. a 3rd party dialer)
Clients performing specific services (e.g. a 3rd party recorder)
ƒ Supported message types
Call and agent events (e.g. call_transfered)
Call and agent control messages (e.g. Change_agent_state, Hold_call)
Call data update (e.g. set_call_variable)
Supervisor services (e.g. start_monitoring)
Retrieve agent and skill group statistics
ƒ Protocol reference is published:
http://www.cisco.com/en/US/products/sw/custcosw/ps14/products_programming_
reference_guides_list.html
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 62

© 2006, Cisco Systems, Inc. All rights reserved. 31


Presentation_ID.scr
CTI Server (2)

ƒ Backwards compatible
ICM/CCE CTI Server 7.2(1) supports protocol versions 6 through
13*

ƒ Agents that are logged in through CTI Server can be


supervised using a CTI Toolkit supervisor desktop
Note that only UCM 6.0-based silent monitoring is supported in that
case**

ƒ Single 7845 server running PG and CTI Server


supports up to 2000 agents, depending other factors,
such as the number of skills per agent
Scalability details can be found in the Contact Center Enterprise
SRND: http://www.cisco.com/go/srnd
* Note that protocol versions 10-12 are not open
** For CCE/H only
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 63

Redundant Solution
ƒ Both CTI Server and CTI OS Server operate in duplex mode
Node managed processes automatically restart upon failure

ƒ CTI Server clients can fail-over to the other side if a connection


fails and can continue to try to reconnect to either side
Client can snapshot state upon reconnect

ƒ CTI OS CILs handle a CTI OS Server failover for the desktop


application
Agents are automatically re-logged-in after failover
All call appearances are shown again after fail-over and control is restored
Typically the client connections are distributed over both CTI OS Servers,
improving fail-over times

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 64

© 2006, Cisco Systems, Inc. All rights reserved. 32


Presentation_ID.scr
Comparing CTI OS to CTI Server
Functionality CTI OS CTI Server
Protocol Model Object Oriented Model CSTA-based Messages

APIs in Multiple Programming


Interface Type Environments
Socket Level Connection

ACD Behavior Abstraction √ X

Transparent Fail-Over X

Between Servers Responsibility of the Application

Button Enablement X

Info Provided Responsibility of the Application
√ C++ CIL, COM, ActiveX
QoS X Java, .NET
X

√ C++ CIL, COM, ActiveX


Encrypted Connection X Java, .NET
X

√ UCM 6.0 √ UCM 6.0 (Requires a CTI OS Supervisor)


Silent Monitoring Support √ Desktop Monitoring (X Java, .NET) X Desktop Monitoring
√ Span-Based (X Java, .NET) X Span-Based
√ Clients from Multiple Releases √ Multiple Protocol Version Back are
Backwards Compatibility Back are Supported Supported
√ Events √ Events
Multi-Agent Mode X Control √ Control

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 65

Third Party Call Recorder Integrations


ƒ 3rd Party Call Recorders can integrate to CTI Server to…
Receive recording start/stop commands from agent/supervisor
desktops
Receive call detail information that can be used to locate calls to record
or take autonomous call recording decisions
e.g. a recorder can be programmed to record 2% of all calls to a
particular skill
Recorder can use any recording mechanism (SPAN, trunk, UCM 6.0)
ICM/CCE will provide necessary information in CTI Event message for
recorder to locate call, such as
Trunk info (when provided by 3rd party ACDs, or Cisco gateways
through ICM)
IP address of end point (for SPAN-based monitoring)
Agent device id (for UCM 6.0 monitoring)

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 66

© 2006, Cisco Systems, Inc. All rights reserved. 33


Presentation_ID.scr
Recorder Message Flow
ƒ Message flow
0. Recorder connects to CTI Server as recording service and subscribes
to certain event messages, for example begin_call, start/stop_RTP
1. Agent hits ‘start record’ button on desktop; message sent
to CTI Server
2. CTI Server forwards the ‘Start recording’ message to recorder Agent Desktop
3. Recorder starts recording and stores call meta data with the Applications
recording for later retrieval
Peripheral
Gateways with
CTI Components
ICM 1
Central
Controller
SPAN Port

2 SPAN
V 0 Recorder
Unified
Communication
Manager 3
Trunk
Caller Recorder 3
3rd Party
Recording Server
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 67

Database
Access

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 68

© 2006, Cisco Systems, Inc. All rights reserved. 34


Presentation_ID.scr
ICM Database Access

ƒ The ICM database schema is open and published


ƒ The database is regular Microsoft SQL Server
SQL Server 2000 for release 6.0 and 7.0, 7.1, 7.2
SQL Server 2005 for release 7.5 (FCS July 2008)

ƒ Database access can be done in any MS SQL Server


permissible way, such as ODBC, SQL Server native
interfaces
ƒ The database is read-only
For example, you should not attempt to make configuration
changes by changing the configuration database tables

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 69

ICM Databases

ƒ 3 Types of tables
Historical tables (in HDS database)
Real-time tables (in AW/Distributor database)
Configuration tables (in AW/Distributor database)

These typically reside on a


single server, which then
Logger has a single MS SQL Server
Router instance with two databases
called ‘hds’ and ‘aw’

Historical Administrative
HDS Database Workstation/
Server Distributor
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 70

© 2006, Cisco Systems, Inc. All rights reserved. 35


Presentation_ID.scr
Configuration Tables
ƒ Updated in real-time by the Router
ƒ Do not attempt to make configuration changes
by writing to the configuration tables
(it won’t work, and may break things)
ƒ All system configuration
is accessible in
approximately 160 tables
Exception: routing scripts.
They are encoded and
the coding is not public

ƒ Table relationships and


keys are documented

Sample Agent Table Relationships


BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 71

Real-Time Tables
ƒ A table contains one record with
real-time data for every agent, Real-Time Tables
ƒ Agent_Real_Time
call type, skill group, etc. ƒ Agent_Skill_Group_Real_Time
ƒ Records are refreshed every 10s ƒ Application_Path_Real_Time
ƒ Call_Type_Real_Time
by the Router
ƒ Campaign_Query_Rule_Real_Time
ƒ Types of fields in real-time tables ƒ Dialer_Port_Real_Time
ƒ Dialer_Real_Time
Actual number, e.g. calls in queue now, ƒ Import_Rule_Real_Time
agent state ƒ Network_Trunk_Group_Real_Time
5 minute counters, e.g. how many ƒ Peripheral_Real_Time
abandoned call in the current ƒ Route_Real_Time
5 minute period ƒ Schedule_Import_Real_Time
ƒ Scheduled_Target_Real_Time
30 minute clock interval counters,
ƒ Script_Queue_Real_Time
e.g. total talk time for the skill group
in the current half hour ƒ Script_Real_Time
ƒ Service_Real_Time
Daily counters, e.g. how many calls ƒ Skill_Group_Real_Time
transferred today ƒ Trunk_Group_Real_Time
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 72

© 2006, Cisco Systems, Inc. All rights reserved. 36


Presentation_ID.scr
Historical Database Server

ƒ Data is added by a ‘trickle feed’ from the Logger


Speed of the feed depends on many factors, by generally you
can expect data to show up in the HDS within minutes after it
is written in the Logger database (which is immediate)

ƒ A synchronization process keeps the HDS in synch


with the logger even when outages occur
ƒ HDS is normally used by the reporting tools
When accessing HDS tables, take reporting load into account
When extracting large amounts of data consider a separate
HDS (ICM supports multiple HDSs) or run the extraction
process during off-hours

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 73

Historical Tables
Types of Historical Tables
ƒ Call Detail Tables
Route call detail tables: record for every call routed by the ICM
Termination call detail tables: record for every call leg terminated
at a ICM controlled device (ACD, VRU)
Dialer detail: record for every call attempt by the outbound dialer
ƒ Event Tables
Agent event (state changes) tables
Network event table
ƒ 30 Minute Tables
This is the bulk of aggregate data used for reporting purposes
Agent, Skill group, Call type, Trunk group, Service, etc.
ƒ 5 Minute Tables
These are basically snapshots of the 5 minute data from the real-time tables
Tables are not frequently used
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 74

© 2006, Cisco Systems, Inc. All rights reserved. 37


Presentation_ID.scr
Example Historical Table—
Agent Half Hour
Agent Half Hour Table Fields
ƒ Each row in the table is Housekeeping fields
ƒ DateTime
for an agent/media pair ƒ DbDateTime
ƒ RecoveryKey
ƒ TimeZone
For example, if the agent IDs
was logged in for 3 ƒ MRDomainID (i.e. the media this agent is logged into)
media (e.g. voice, email, ƒ SkillTargetID (i.e. the AgentID)
Agent state durations
chat) in a given half- ƒ AvailableInMRDTimeToHalf
hour, then the agent will ƒ AvailTimeToHalf
ƒ LoggedOnTimeToHalf
have 3 rows in the table ƒ NotReadyTimeToHalf
for that same half-hour ƒ RoutableInMRDTimeToHalf
ƒ TalkOtherTimeToHalf
Call counters
ƒ RouterCallsAbandQToHalf
ƒ RouterCallsAbandToHalf
ƒ RouterCallsAnsweredToHalf
ƒ RouterCallsDequeuedToHalf
ƒ RouterCallsHandledToHalf
ƒ RouterCallsRedirectedToHalf
ƒ RouterCallsOfferedToHalf
ƒ RouterQueueCallsToHalf
ƒ RouterErrorToHalf
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 75

Resources
ƒ CCE:http://www.cisco.com/en/US/products/sw/custcosw/ps1844/index.html
ƒ ICM: http://www.cisco.com/en/US/products/sw/custcosw/ps1001/index.html
ƒ Application Gateway
Contact CCBU Product
ƒ CRSP Management at
ƒ VRU PG ccbu-pm@cisco.com
ƒ CTI: http://www.cisco.com/en/US/products/sw/custcosw/ps14/index.html
ƒ CAD: http://www.cisco.com/en/US/products/sw/custcosw/ps427/index.html
ƒ Database Schema Handbook:
http://www.cisco.com/en/US/partner/products/sw/custcosw/ps1001/prod_
technical_reference_list.html
ƒ Developer Support Services:
http://www.cisco.com/en/US/products/svcs/ps3034/ps5408/ps5418/serv_
home.htm

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 76

© 2006, Cisco Systems, Inc. All rights reserved. 38


Presentation_ID.scr
Q and A

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 77

Complete Your Online


Session Evaluation
ƒ Give us your feedback and you could win Don’t forget to activate
fabulous prizes. Winners announced daily. your Cisco Live virtual
account for access to
ƒ Receive 20 Passport points for each session all session material
evaluation you complete. on-demand and return
for our live virtual event
ƒ Complete your session evaluation online now in October 2008.
(open a browser through our wireless network Go to the Collaboration
to access our portal) or visit one of the Internet Zone in World of
stations throughout the Convention Center. Solutions or visit
www.cisco-live.com.

BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 78

© 2006, Cisco Systems, Inc. All rights reserved. 39


Presentation_ID.scr
BRKDEV-1141
14623_05_2008_X2 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 79

© 2006, Cisco Systems, Inc. All rights reserved. 40


Presentation_ID.scr

You might also like