Sie sind auf Seite 1von 37

2016 Customer Collaboration

Technical Partner Uplift

Cisco Unified Contact


Center Express
Component Overview
Abhiram Kramadhati, CCIE # 40065
Technical Solutions Manager, CBABU

UCCX Solution Components


UCCX a closer look

Agenda

UCCX Engine
UCCX Database
UCCX Failover
3rd party Integration

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

UCCX Solution Components

Unified Gateways ( PSTN Gateways)

Unified Call Manager ( CUCM)

Cisco Finesse agent desktop

Cisco Unified Intelligence Center (CUIC)

Unified CCX Editor

Unified CCX Server


UCCX Engine
UCCX Configuration Datastore
Historical Reports Database Server

Cisco Social Miner chat and email

Media Sense compliance recording


2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

IVR Building Blocks


Social
Mining, CRM
integration

Agent
desktop

IVR and call


queuing

CUIC

Scripting and
administration

ASR
(Automatic
Speech
Recognition)
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

For the UCCX, CUCM is the


ONLY ACD/PBX option. CME
support has been stopped
since 9.0
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

CUCM Integration Checkpoints

AXL Service Provider

JTAPI ( CTI Manager )

RmCm ( Application User )

End User ( IPCC Extension)

CTI Ports

We will discuss this


concept in detail in
the coming sessions

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

UCCX integrates with CUCM on 2 major fronts:


AXL
CTI
AXL:

CTI:

Secure communication between


UCCX and CUCM for authentication

Call control which CTI port should


get the call?

SQL queries to create CTI ports and


Route Points on CUCM

Agent phone control make the


agent phone ring

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

UCCX agent login


CUCM/AXL provider

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

UCCX a closer look


2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Anatomy of a
UCCX system

UCCX
Engine

UCCX Cluster View Daemon (CVD) is


equivalent to the Node Manager
process in Windows. It takes care of
intra cluster communication. If CVD is
down, all services on that UCCX Node
will be affected. It is a Java Virtual
Machine.

CUIC

Cluster
View
Daemon
Finesse

UCCX
Databas
e

UCCX Engine heart of UCCX


core functionality. It has multiple
subsystems that take care of
different functionality such as agent
login, agent phone control, chat
etc.
UCCX Database is an informix
database and is a separate
instance from the platform
database. It stores UCCX related
configuration information and
historical data.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

10

UCCX Engine
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

11

UCCX Engine

Heart of the UCCX system and controls all the core functionalities.
It is a Java virtual machine (JVM)
Processes call requests, agent state change requests and so on.
The UCCX Engine going down is the indication to trigger a failover and the other
UCCX Engine will take over mastership.

In a HA system, there will be a


UCCX engine who is the master
and the second one is the slave.

Both UCCX engines will get the information about an


incoming call but only the master node responds
back and continues the communication
All agents login to the master UCCX node
The UCCX Engine shutting down will trigger a
change in mastership and all other services follow
suit.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

12

Manager manager:
It has the list of all manager services such
as Prompt manager, script manager and
application manager.
These processes generally are responsible
for the administrative tasks that are done in
the system.

Subsystem manager:
All subsystems are part of this. These
subsystems are responsible for
individual core functions of the UCCX.
RmCm Subsystem

CM Telephony Subsystem

Resource Manager Contact


Manager is responsible for
agent state management and
also the call interaction with
the resources

Dependent on the CTI


communication with CUCM

Manages all CTI ports and


route points
Even if one of the devices
goes out of service on the
CUCM, this goes out of
service or to partial service

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

13

Even when one of the UCCX


subsystems are in partial, the UCCX
engine goes into partial. However,
not all partial states represent a
service impact.

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

14

Other important services.


CCX Notification Service
It is the service responsible for delivering real time updates
to clients such as Finesse and CUIC clients. Internally, it is
an Openfire server that is installed on the UCCX.
Openfire is a real time collaboration (RTC) server
licensed under the Open Source Apache License. It uses
the only widely adopted open protocol for instant
messaging, XMPP
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

15

CCX WebServices
This service handles all web requests that arise within the UCCX.
Examples: CUIC login request, email and chat notifications from Social
Miner.
What happens if this service is down?
1. CUIC login failure for users even though credentials are right
2. Finesse email and chat will not function; agents will not receive any
chats or emails

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

16

CCX Database Service


This service is responsible for controlling access to the Informix
database by other services/user accounts.
Important: This is not the actual Informix Database status, this is just a
service
What happens if this service is down?
1)

No impact to agent login or ability to handle calls

2)

Impact in accessing database for new configuration changes

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

17

UCCX Database
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

18

UCCX Database is an informix database that stores different kinds of


data:
1.
Configuration data
2.
Historical Information
3.
Recordings
In the UCCX box itself, there are multiple instances of Informix database:
.
Platform DB: platform related information (from the CUCM
Operating system)
.
UCCX DB
.
Finesse DB
.
CUIC DB
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

19

We will concentrate only on the UCCX database.


The UCCX database is present on both UCCX nodes and they maintain
data consistency using Enterprise Replication (ER).

There are different datastores within the UCCX database:


Historical datastore: contains the historical data
Configuration datastore: contains all configurations that are updated
and accessed real time
Repository datastore: a repository for scripts, prompts etc.

Each datastore has a set of tables to which data is written into. All table
information is available in the Database Schema guide

UCCX Database replication can be checked, reset from the UCCX


Serviceability page
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

20

Force synchronize data


between sides for that
datastore
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

21

Maintaining database consistency across both nodes

Informix Enterprise replication is used to maintain database consistency, similar to


CUCM.

But UCCX also introduces a 2-phase commit process for its configuration database.
Attempt
Attempt
configuration
configuration
change
change on
on
Node
Node 1
1
Write
Write to
to Node1
Node1
configuration
configuration
DB
DB

If node 2 is
unavailable/both nodes
dont get the config
update, user gets an error
and the change is not
accepted.

Call completes

Call data written


into historical
tables on Node1

Write
Write to
to Node2
Node2
Configuration
Configuration
DB
DB

2-phase
commit
for config
changes

Replication of
historical data

Commit
Commit
change
change

After a few
seconds, data is
pushed to
Node2

If the database is down for any reason, the call data is written
2014can
Cisco be
and/orused
its affiliates.
rights reserved.
22
into flat files that
to Allrestore
intoCisco
theConfidential
database later.

Database commands at your finger tips!

utils uccx database dbserver integrity


Checks the integrity of the database server disk structures and displays
results. It also checks the DB config integrity and does a fix if integrity is
broken.
When to use?

CSQ/Application page doesnt list any CSQs/Applications

Newly created skills dont appear or the entire Skills page is empty

When TAC asks you to..


2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

23

utils uccx database dbreplication <tag>

setup: will setup the UCCX DB Replication between the


nodes

repair: This command repairs mismatched data between


cluster nodes; it does not repair replication setup

reset: does 3 steps


Remove Database replication
2. Setup Database replication
3. Initiate a data repair process
1.

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

24

utils uccx database forcedatasync


This command gets the data from the other node in the cluster; effectively
overwriting the data on this node.
When to use?

A single node in the cluster is corrupted and all efforts to restore


database has failed

It puts a strain on the links between the nodes based on database side,
so be mindful of the same

Best advised to be run with TAC

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

25

UCCX Failover
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

26

Two types of communication between the nodes:


Heartbeats (over TCP, UDP pre 9.0)
RMI Connections for node updates (over TCP)

HAoLAN: heartbeat sent every 0.5 seconds and failover is initiated if 5 consecutive
heartbeats are missed
HAoWAN: heartbeat sent every 1 second and failover is initiated if 10 consecutive
heartbeats are missed

The UCCX engine changes mastership in the failover and all other services follow
suit.
During a failover, if the mastership is lost, all calls in the queue will be dropped and
agents will be automatically logged into the other side.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

27

What does a failover mean?

All services will follow the service state of UCCX Engine on the node.

The CVD controls the failover logic and also initiates a failover

Calls in the queue DROPPED

Agents soft failover; automatic re-login, agent states retained

Failover is initiated in two scenarios:


1.

Node crash (hardware issues, software crash etc.)

2.

Connectivity down between the two UCCX nodes


2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

28

Software crash/node down


Scenario 1: Non-master node goes down
1. Master (assume Node1) does not receive 5/10 consecutive heartbeats:
%MCVD-CVD-5-HEARTBEAT_MISSING_HEARTBEAT:CVD does not receive heartbeat from node for a long
period: nodeId=2,dt=10245

2. CVD process suspects that the other node has crashed:


%MCVD-CVD-4-HEARTBEAT_SUSPECT_NODE_CRASH:CVD suspects node crash: state=Heartbeat
State,nodeInfo=Node id=2 ip=10.160.133.21 convId=579 cmd=34 viewLen=1,dt=1024

3. CVD checks and finds out that engine mastership is on Node1, therefore no further action
is warranted

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

29

Software crash/node down


Scenario 2: Master node goes down
1. Master (assume Node1) goes down. Node 2 does not receive 5/10 consecutive heartbeats:
%MCVD-CVD-5-HEARTBEAT_MISSING_HEARTBEAT:CVD does not receive heartbeat from node for a
long period: nodeId=1,dt=10245

2. CVD process suspects that the other node has crashed:


%MCVD-CVD-4-HEARTBEAT_SUSPECT_NODE_CRASH:CVD suspects node crash: state=Heartbeat
State,nodeInfo=Node id=1 ip=10.160.133.20 convId=579 cmd=34 viewLen=1,dt=1024

3. CVD will decide that it needs to take control because it has lost its master. Internally, it
updates the state of Node1:
%MCVD-CLUSTER_MGR-7-UNK:JavaService66: Cisco Unified CCX Engine on node 1 change master from
true to false

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

30

Node 2 takes
mastership

UCCX Engine on
Node2 becomes
master.
All other services
follow suite
There is no concept of
partial mastership

Finesse on
Node2 starts
accepting
requests
Agents will
automatically failover
to the second node
No need of re-login
Agent state and other
information
maintained

All call and


agent related
info written into
the DB
No loss in historical
data
Replication will stay
up, no need to setup
after the Node1 comes
up

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

31

Island mode
What happens when the WAN link between the two UCCX nodes goes
down?
1.

Both nodes will lose heartbeats and after 10 lost heartbeats, the CVD in
each node will assume that the second node is down.

2.

If the node has mastership, it will continue to operate without changes.

3.

The node without the mastership will become master too


You will have two nodes operating independently handling
calls and agent logins

Once the WAN link comes up, the nodes will converge and an algorithm decides who becomes the
master. Any historical data written into either node is updated on either side.
2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

32

3 party integration
rd

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

33

Wallboard integration

Create 3rd party


wallboard that can
access data from the
UCCX database

Dedicated wallboard
tables

Very detailed
database schema
guide

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

34

CRM integration

With Finesse
being web based
and being 100%
customizable, a
wide variety of
CRM integration
options are
available

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

35

CRM Integration Using Finesse

2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

36