2016 CC Uplift UCCX Component Overview

37
Abhiram Kramadhati, CCIE # 40065 Technical Solutions Manager, CBABU Cisco Unified Contact Center Express – Component Overview 2016 Customer Collaboration Technical Partner Uplift

description

UCCX Components

Transcript of 2016 CC Uplift UCCX Component Overview

Page 1: 2016 CC Uplift UCCX Component Overview

Abhiram Kramadhati, CCIE # 40065Technical Solutions Manager, CBABU

Cisco Unified Contact Center Express – Component Overview

2016 Customer Collaboration Technical Partner Uplift

Page 2: 2016 CC Uplift UCCX Component Overview

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

Agenda

UCCX Solution Components

UCCX – a closer look

UCCX Engine

UCCX Database

UCCX Failover

3rd party Integration

Page 3: 2016 CC Uplift UCCX Component Overview

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

• 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

UCCX Solution Components

Page 4: 2016 CC Uplift UCCX Component Overview

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

IVR and call queuing

Social Mining, CRM integration

Agent desktop

CUICASR

(Automatic Speech

Recognition)

Scripting and administration

IVR Building Blocks

Page 5: 2016 CC Uplift UCCX Component Overview

5© 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

Page 6: 2016 CC Uplift UCCX Component Overview

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

• AXL Service Provider

• JTAPI ( CTI Manager )

• RmCm ( Application User )

• End User ( IPCC Extension)

• CTI Ports

CUCM Integration Checkpoints

We will discuss this concept in detail in the coming sessions

Page 7: 2016 CC Uplift UCCX Component Overview

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

UCCX integrates with CUCM on 2 major fronts:

• AXL

• CTI

AXL:

Secure communication between UCCX and CUCM for authentication

SQL queries to create CTI ports and Route Points on CUCM

CTI:

Call control – which CTI port should get the call?

Agent phone control – make the agent phone ring

Page 8: 2016 CC Uplift UCCX Component Overview

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

UCCX agent login

CUCM/AXL provider

Page 9: 2016 CC Uplift UCCX Component Overview

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

UCCX – a closer look

Page 10: 2016 CC Uplift UCCX Component Overview

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

Cluster View

Daemon

CUIC

UCCX Databas

e

Finesse

UCCX Engine

Anatomy of a UCCX system

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.

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.

Page 11: 2016 CC Uplift UCCX Component Overview

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

UCCX Engine

Page 12: 2016 CC Uplift UCCX Component Overview

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

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.

Page 13: 2016 CC Uplift UCCX Component Overview

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

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

Page 14: 2016 CC Uplift UCCX Component Overview

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

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.

Page 15: 2016 CC Uplift UCCX Component Overview

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

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

What happens when this service is down?1) Finesse login problem 2) CUIC Live data doesn’t load

Page 16: 2016 CC Uplift UCCX Component Overview

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

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 right2. Finesse email and chat will not function; agents will not receive any chats or

emails

Page 17: 2016 CC Uplift UCCX Component Overview

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

CCX Database ServiceThis 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

Page 18: 2016 CC Uplift UCCX Component Overview

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

UCCX Database

Page 19: 2016 CC Uplift UCCX Component Overview

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

UCCX Database is an informix database that stores different kinds of data:

1. Configuration data2. Historical Information3. 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

Page 20: 2016 CC Uplift UCCX Component Overview

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

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

We will concentrate only on the UCCX database….

Page 21: 2016 CC Uplift UCCX Component Overview

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

Force synchronize data between sides for that

datastore

Page 22: 2016 CC Uplift UCCX Component Overview

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

• 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.

Maintaining database consistency across both nodes

Attempt configuration change on

Node 1

Write to Node1

configuration DB

Write to Node2

Configuration DB

Commit change

If node 2 is unavailable/both nodes

don’t get the config update, user gets an error

and the change is not accepted.

2-phase commit

for config changes

Call completes

Call data written into

historical tables on Node1

After a few seconds, data is pushed to

Node2

Replication of historical data

If the database is down for any reason, the call data is written into flat files that can be used to restore into the database later.

Page 23: 2016 CC Uplift UCCX Component Overview

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

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 doesn’t list any CSQs/Applications• Newly created skills don’t appear or the entire Skills page is empty• When TAC asks you to…..

Database commands at your finger tips!

Page 24: 2016 CC Uplift UCCX Component Overview

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

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

1. Remove Database replication2. Setup Database replication3. Initiate a data repair process

Page 25: 2016 CC Uplift UCCX Component Overview

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

utils uccx database forcedatasyncThis 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

Page 26: 2016 CC Uplift UCCX Component Overview

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

UCCX Failover

Page 27: 2016 CC Uplift UCCX Component Overview

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

• 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.

Page 28: 2016 CC Uplift UCCX Component Overview

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

• 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

What does a failover mean?

Page 29: 2016 CC Uplift UCCX Component Overview

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

Software crash/node downScenario 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

Page 30: 2016 CC Uplift UCCX Component Overview

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

Software crash/node downScenario 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 it’s 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

Page 31: 2016 CC Uplift UCCX Component Overview

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

Node 2 takes mastership

Finesse on Node2 starts

accepting requests

All call and agent related

info written into the DB • UCCX Engine on

Node2 becomes master.

• All other services follow suite

• There is no concept of partial mastership

• Agents will automatically failover to the second node

• No need of re-login

• Agent state and other information maintained

• No loss in historical data

• Replication will stay up, no need to setup after the Node1 comes up

Page 32: 2016 CC Uplift UCCX Component Overview

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

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

Island mode

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.

Page 33: 2016 CC Uplift UCCX Component Overview

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

3rd party integration

Page 34: 2016 CC Uplift UCCX Component Overview

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

Wallboard integration• Create 3rd party

wallboard that can access data from the UCCX database

• Dedicated wallboard tables

• Very detailed database schema guide

Page 35: 2016 CC Uplift UCCX Component Overview

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

CRM integration

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

Page 36: 2016 CC Uplift UCCX Component Overview

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

CRM Integration Using Finesse

Page 37: 2016 CC Uplift UCCX Component Overview