Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Context Service Status

Context Service Status in Serviceability

Context Service Status from API

Context Service Status in SocialMiner

Introduction

This article describes how to identify the Context Service (CS) status and possible options to check the status of CS components in Unified Contact Center Express (UCCX) and SocialMiner (SM).

Contributed by Jayant Suneja, Cisco Engineering and Derek Johnson, Cisco TAC Engineer.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- UCCX Administration

- SocialMiner Administration

- Context Service

Components Used

The information in this document is based on these software versions:

- UCCX 11.6

- SocialMiner 11.6

Note: SocialMiner is an optional component and not required for Context Service.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Background Information

Context Service stores customer data in the cloud and allows agents on the UCCX solution to be able to store and use data from the cloud.

Context Service Status

Context Service Status in Serviceability

The status of CS is available on the Unified CCX Serviceability page. First select Tools, then Context Service Status.

This table describes different values displayed on this Context Service Status interface:

Field

Values

Component

This displays the name of the specific CS component: UCCX/SocialMiner/Finesse

State

Registered: CS is registered                                                                                                                                       Not-registered : CS is not registered

Unknown : Shown when a component is not reachable or is down                                                                         Stopped : Component has stopped due to some issue. Use the initialize button under the action field to reinitialize the component.

Status

Online : Displayed when CS is registered                                                                                                                       No-connectivity : Displayed when CS is not registered or proxy is not configured                                                       Ready-to-register : Displayed when proxy or external connectivity is configured

Mode

Lab : This mode is used to test, develop, and debug Context Service                                                                           Production : This mode is used when you deploy Context Service in your application                                                 NA: Displayed when state is unregistered or unknown

The mode can be toggled between lab and production. First select System then select System Parameters

The status No Connectivity is shown when no proxy is configured, an incorrect proxy is configured, or there is no internet connectivity from the UCCX system. CS requires that UCCX has public internet connectivity. This image shows an example status when the UCCX system does not have external connectivity:

After configuration of an http proxy, the status of all components changes to ready to register which signifies that the system now has external connectivity configured correctly from UCCX. This image shows the status of the system when public internet connectivity is available:

Select Register on the Finesse Administration page and register CS. This image shows that the state and status has changed to registered and online:

Context Service Status from API

In order to get a detailed summary of the status of each CS component, UCCX 11.6 provides a Java Application Programming Interface (API). This API invokes the connector's getstatus method to return a JavaScript Object Notation (JSON) response that provides details of each component. Click the Export option provided on CS serviceability page and download the JSON response file. This image shows the location of the Export option:

Here is an example JSON response returned for the UCCX component when CS is OFFLINE:

UCCX:uccx116j1.cisco.com = {"status":{"overallStatus":"OFFLINE","successfulUpgradeCount":0,"failureUpgradeCount":0},

"config":{"staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.3-10673","state":"UNREGISTERED"},

"services":[{"name":"ccfs","url":"ccfs.ciscoccservice.com","ping":{"status":"NOT_REACHABLE","latency":0}}],

"timeStamp":"2017-08-07T06:19:32.500Z"}

This table describes the possible values displayed in the fields of JSON responses:

Section

Field

Value

status

overallStatus

ONLINE – if there is connection data set and the Connector is REGISTERED (see config state)

OFFLINE – no connection data or Connector is not REGISTERED

config

state

UNREGISTERED – initial state before initialization

REGISTERED – successfully registered (via call to init() method)

STOPPED – connection is destroyed (via call to destroy() method)

Service

ping.status

HTTP response status code to Ping REST API call

Services

state

INITIALIZED – KMS initialized

NOT INITIALIZED – KMS not initialized

This is a sample JSON output when all components are registered and have a status of ONLINE. This sample can be referenced for comparison when there is any issue where CS shows an invalid status:

FMC:uccx116j1.cisco.com = {"status":{"overallStatus":"ONLINE","successfulUpgradeCount":1,"failureUpgradeCount":0},"config":{"appType":"ccx","orgId":"4a6ac8c5-66f5-42b9-8245-7af90eeac12c","uuid":"d86a8f22-c918-4648-9a07-5fe55728b990","staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.4-10710","proxy":"http://proxy-wsa.esl.cisco.com:80","type":"cs_mgmt","state":"REGISTERED"},"services":[{"name":"fms","url":"hercules-a.wbx2.com","lastSuccessfulHeartBeatTime":"2017-08-07 22:24:31.942","ping":{"status":"200","latency":2031}}],"timeStamp":"2017-08-07T16:54:54.118Z"}

UCCX:uccx116j1.cisco.com = {"status":{"overallStatus":"ONLINE","successfulUpgradeCount":1,"failureUpgradeCount":0},"config":{"appType":"ccx","orgId":"4a6ac8c5-66f5-42b9-8245-7af90eeac12c","uuid":"d86a8f22-c918-4648-9a07-5fe55728b990","staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.4-10710","proxy":"http://proxy-wsa.esl.cisco.com:80","enabledFeatures":[{"name":"KMS_ENCRYPTION_KEY"}],"type":"cs_context","state":"REGISTERED","labMode":false,"requestTimeout":5000,"tcpTimeout":10000,"maxRetries":1,"cluster":{"clusterId":"4750a37e-2a5a-4825-a301-30252c100288","clusterName":"ccx-context-15DBD8FE18B"}},"services":[{"name":"kms","url":"encryption-a.wbx2.com","ping":{"status":"200","latency":1196},"state":"INITIALIZED"},{"name":"fms","url":"hercules-a.wbx2.com","lastSuccessfulHeartBeatTime":"2017-08-07 22:24:46.016","ping":{"status":"200","latency":1059}},{"name":"ci","url":"idbroker.webex.com","ping":{"status":"200","latency":1092}},{"name":"context","url":"context-service.produs1.ciscoccservice.com","ping":{"status":"200","latency":1185}},{"name":"dictionary","url":"dictionary.produs1.ciscoccservice.com","ping":{"status":"200","latency":1180}},{"name":"ccfs","url":"ccfs.ciscoccservice.com","ping":{"status":"200","latency":1170}},{"name":"discovery","url":"discovery1.produs.ciscoccservice.com","ping":{"status":"200","latency":1214}}],"timeStamp":"2017-08-07T16:55:01.528Z"}

UCCX:uccx116j2.cisco.com = {"status":{"overallStatus":"ONLINE","successfulUpgradeCount":1,"failureUpgradeCount":0},"config":{"appType":"ccx","orgId":"4a6ac8c5-66f5-42b9-8245-7af90eeac12c","uuid":"d86a8f22-c918-4648-9a07-5fe55728b990","staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.4-10710","proxy":"http://proxy-wsa.esl.cisco.com:80","enabledFeatures":[{"name":"KMS_ENCRYPTION_KEY"}],"type":"cs_context","state":"REGISTERED","labMode":false,"requestTimeout":5000,"tcpTimeout":10000,"maxRetries":1,"cluster":{"clusterId":"4750a37e-2a5a-4825-a301-30252c100288","clusterName":"ccx-context-15DBD8FE18B"}},"services":[{"name":"kms","url":"encryption-a.wbx2.com","ping":{"status":"200","latency":1290},"state":"INITIALIZED"},{"name":"fms","url":"hercules-a.wbx2.com","lastSuccessfulHeartBeatTime":"2017-08-07 22:24:50.224","ping":{"status":"200","latency":1121}},{"name":"ci","url":"idbroker.webex.com","ping":{"status":"200","latency":1067}},{"name":"context","url":"context-service.produs1.ciscoccservice.com","ping":{"status":"200","latency":1168}},{"name":"dictionary","url":"dictionary.produs1.ciscoccservice.com","ping":{"status":"200","latency":1225}},{"name":"ccfs","url":"ccfs.ciscoccservice.com","ping":{"status":"200","latency":1230}},{"name":"discovery","url":"discovery1.produs.ciscoccservice.com","ping":{"status":"200","latency":1166}}],"timeStamp":"2017-08-07T16:55:01.582Z"}

SocialMiner:sm116.aru.com = {"status":{"overallStatus":"ONLINE","successfulUpgradeCount":1,"failureUpgradeCount":0},"config":{"appType":"ccx","orgId":"4a6ac8c5-66f5-42b9-8245-7af90eeac12c","uuid":"d86a8f22-c918-4648-9a07-5fe55728b990","staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.4-10710","proxy":"http://proxy-wsa.esl.cisco.com:80","enabledFeatures":[{"name":"KMS_ENCRYPTION_KEY"}],"type":"cs_context","state":"REGISTERED","labMode":false,"requestTimeout":5000,"tcpTimeout":10000,"maxRetries":1,"cluster":{"clusterId":"4750a37e-2a5a-4825-a301-30252c100288","clusterName":"ccx-context-15DBD8FE18B"}},"services":[{"name":"kms","url":"encryption-a.wbx2.com","ping":{"status":"200","latency":1254},"state":"INITIALIZED"},{"name":"fms","url":"hercules-a.wbx2.com","lastSuccessfulHeartBeatTime":"2017-08-07 22:24:39.628","ping":{"status":"200","latency":1127}},{"name":"ci","url":"idbroker.webex.com","ping":{"status":"200","latency":1028}},{"name":"context","url":"context-service.produs1.ciscoccservice.com","ping":{"status":"200","latency":1175}},{"name":"dictionary","url":"dictionary.produs1.ciscoccservice.com","ping":{"status":"200","latency":1174}},{"name":"ccfs","url":"ccfs.ciscoccservice.com","ping":{"status":"200","latency":1128}},{"name":"discovery","url":"discovery1.produs.ciscoccservice.com","ping":{"status":"200","latency":1179}}],"timeStamp":"2017-08-07T16:55:01.589Z"}

Finesse:uccx116j1.cisco.com = {"status":{"overallStatus":"ONLINE","successfulUpgradeCount":1,"failureUpgradeCount":0},"config":{"appType":"ccx","orgId":"4a6ac8c5-66f5-42b9-8245-7af90eeac12c","uuid":"d86a8f22-c918-4648-9a07-5fe55728b990","staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.4-10710","proxy":"http:\/\/proxy-wsa.esl.cisco.com:80","enabledFeatures":[{"name":"KMS_ENCRYPTION_KEY"}],"type":"cs_context","state":"REGISTERED","labMode":false,"requestTimeout":5000,"tcpTimeout":10000,"maxRetries":1,"cluster":{"clusterId":"4750a37e-2a5a-4825-a301-30252c100288","clusterName":"ccx-context-15DBD8FE18B"}},"services":[{"name":"kms","url":"encryption-a.wbx2.com","ping":{"status":"200","latency":1123},"state":"INITIALIZED"},{"name":"fms","url":"hercules-a.wbx2.com","lastSuccessfulHeartBeatTime":"2017-08-07 22:24:52.328","ping":{"status":"200","latency":1149}},{"name":"ci","url":"idbroker.webex.com","ping":{"status":"200","latency":1085}},{"name":"context","url":"context-service.produs1.ciscoccservice.com","ping":{"status":"200","latency":1168}},{"name":"dictionary","url":"dictionary.produs1.ciscoccservice.com","ping":{"status":"200","latency":1181}},{"name":"ccfs","url":"ccfs.ciscoccservice.com","ping":{"status":"200","latency":1171}},{"name":"discovery","url":"discovery1.produs.ciscoccservice.com","ping":{"status":"200","latency":1136}}],"timeStamp":"2017-08-07T16:55:02.099Z"}

Finesse:uccx116j2.cisco.com = {"status":{"overallStatus":"ONLINE","successfulUpgradeCount":1,"failureUpgradeCount":0},"config":{"appType":"ccx","orgId":"4a6ac8c5-66f5-42b9-8245-7af90eeac12c","uuid":"d86a8f22-c918-4648-9a07-5fe55728b990","staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.4-10710","proxy":"http:\/\/proxy-wsa.esl.cisco.com:80","enabledFeatures":[{"name":"KMS_ENCRYPTION_KEY"}],"type":"cs_context","state":"REGISTERED","labMode":false,"requestTimeout":5000,"tcpTimeout":10000,"maxRetries":1,"cluster":{"clusterId":"4750a37e-2a5a-4825-a301-30252c100288","clusterName":"ccx-context-15DBD8FE18B"}},"services":[{"name":"kms","url":"encryption-a.wbx2.com","ping":{"status":"200","latency":1196},"state":"INITIALIZED"},{"name":"fms","url":"hercules-a.wbx2.com","lastSuccessfulHeartBeatTime":"2017-08-07 22:24:51.027","ping":{"status":"200","latency":1210}},{"name":"ci","url":"idbroker.webex.com","ping":{"status":"200","latency":1032}},{"name":"context","url":"context-service.produs1.ciscoccservice.com","ping":{"status":"200","latency":1168}},{"name":"dictionary","url":"dictionary.produs1.ciscoccservice.com","ping":{"status":"200","latency":1189}},{"name":"ccfs","url":"ccfs.ciscoccservice.com","ping":{"status":"200","latency":1207}},{"name":"discovery","url":"discovery1.produs.ciscoccservice.com","ping":{"status":"200","latency":1251}}],"timeStamp":"2017-08-07T16:55:02.457Z"}

This JSON output is when the connector is initialized and it includes this information:

- Overall status (currently determined based on connector status)

- The static and extension (Software Development Kit) SDK jar version

- Connector type with its current state

- Current secure channel state(Active, Not Initialized, Error), if available

- Upgrade count

- Upgrade status

- Last HeartBeat timestamp

- Service URL

- Proxy info if a proxy is configured

- Configuration object if available

- Connectivity status to various core services

Context Service Status in SocialMiner

An API has been introduced in SocialMiner (SM) 11.6 that states the Context Service integration status with SM. Use a browser to navigate to this location on your SocialMiner server: <SM-IP>:<port>/ccp-webapp/ccp/serviceability/contextServiceStatus

This is a sample output from SocialMiner after CS is registered:

{"status":{"overallStatus":"ONLINE","successfulUpgradeCount":1,"failureUpgradeCount":0},"config":{"appType":"ccx","orgId":"4a6ac8c5-66f5-42b9-8245-7af90eeac12c","uuid":"0ff304fa-7ce6-470d-9fcb-f83266a06f35","staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.4-10710","proxy":"http://proxy-wsa.esl.cisco.com:80","enabledFeatures":[{"name":"KMS_ENCRYPTION_KEY"}],"type":"cs_context","state":"REGISTERED","labMode":false,"requestTimeout":5000,"tcpTimeout":10000,"maxRetries":1,"cluster":{"clusterId":"065cce61-79de-4173-87f3-fd6fff30da11","clusterName":"ccx-context-15DC0905FC4"}},"services":[{"name":"kms","url":"encryption-a.wbx2.com","ping":{"status":"200","latency":1132},"state":"INITIALIZED"},{"name":"fms","url":"hercules-a.wbx2.com","lastSuccessfulHeartBeatTime":"2017-08-10 13:40:36.905","ping":{"status":"200","latency":1236}},{"name":"ci","url":"idbroker.webex.com","ping":{"status":"200","latency":975}},{"name":"context","url":"context-service.produs1.ciscoccservice.com","ping":{"status":"200","latency":1273}},{"name":"dictionary","url":"dictionary.produs1.ciscoccservice.com","ping":{"status":"200","latency":1228}},{"name":"ccfs","url":"ccfs.ciscoccservice.com","ping":{"status":"200","latency":1500}},{"name":"discovery","url":"discovery1.produs.ciscoccservice.com","ping":{"status":"200","latency":1191}}],"timeStamp":"2017-08-10T08:10:43.983Z"}

If the Context Service is registered and SM is able to establish the connection with valid attributes, the response for this API contains attribute "overallStatus" with value "ONLINE".

If the Context Service is not enabled or SM has failed to establish a connection, the attribute overallStatus has values other than ONLINE.

This is an example response when CS is not registered for SM:

{"status":{"overallStatus":"OFFLINE","successfulUpgradeCount":2,"failureUpgradeCount":0},"config":{"staticSdkVersion":"2.0.3","extensionSdkVersion":"2.0.4-10712","proxy":"http://proxy-wsa.esl.cisco.com:80","state":"STOPPED"},"services":[],"timeStamp":"2017-08-11T06:11:38.086Z"}

This concludes the steps to identify the Context Service status.