Contents

Introduction

Prerequisites

Requirements

Components Used

Background

Data Flow for a Voice Call

Configure

Provision WXM Service on Cloud Connect

ICM Related Configuration:

CVP Related  Configuration

Finesse Related Configuration

Verify

Troubleshoot

Related Information

Videos

Introduction

This document describes in detail the data flow between the Cisco Contact Center Enterprise (CCE) solution and the WxM platform. In addition, it provides the steps required to configure and integrate the solution in order to achieve a closed loop feedback system for voice calls.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- CCE Release 12.5 - Unified Contact Center Enterprise (UCCE) and Package Contact Center Enterprise (PCCE)

- Customer Voice Portal (CVP) Release 12.5

- Cloud Connect Release 12.5

- WxM Platform (Formerly known as Cloud Cherry)

Components Used

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

- UCCE 12.5(1) ES_7

- CVP 12.5(1) ES_8

- VVB 12.5(1)

- Cloud Connect 12.5(1) ES_1

- Finesse 12.5(1) ES_2

- WxM Platform

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, make sure that you understand the potential impact of any command.

Background

WxM is Cisco’s next generation Customer Experience Management (CEM) solution that provides businesses with the ability to consolidate and analyze customer journey data from all digital touchpoints in real time i.e. before, during, and after the contact center interaction.

Data Flow for a Voice Call

This data flow is based on the Customer Voice Portal (CVP) Comprehensive Call Flow.

1. The call comes into the contact center and the system first checks if the WxM Post Call Survey (PCS) feature is enabled for the application. During an inbound call, when the Intelligent Contact Management (ICM) routing script allocates an agent, ICM sends the associated call context information (i.e. Agent ID, Skill Group ID, Team ID, and Questionnaire ID) back to CVP in the connect message. This is achieved by the Expanded Call Context (ECC) variable CxSurveyInfo.

2. The agent, after the conversation with the customer, ends the call.

3. The end of the call triggers a new call request from CVP to the Survey DN in ICM.

4.The Survey DN is associated with a Call Type in ICM that runs a routing script which returns a run script request which contains the Voice Extensible Markup Language (VXML) application name (i.e. wxm) to CVP along with other call context details, such as Agent ID, Skill Group ID, Team ID, and Dispatch ID.

5. The VXML server component in CVP invokes a getAuthToken() API to check if an authorization token is present in its memory in order to interact with the WxM platform. If the token does not exist, then a request is made to the Cloud Connect server.

6. The Cloud Connect server uses the organization credentials (administrator credentials and API key) of WxM to invoke the getAuthToken() API.

7. It receives the auth token from WxM and the information is sent back to the VXML sever, where is cached for 12 hours.

8.The VXML server with the auth token information and survey name details (received in step 1) invokes the get Questionnaire() and the get Settings() API call to WxM.

9. WxM returns the questionnaire to the VXML server. This information is first parsed to identify if PII questions are present. If they are present, then depending on the call settings, the API hashing algorithm is fetched. For 12 hours the questionnaire is saved in the server memory.

10.The VXML server interacts with the caller and prompts the feedback questions.

11. Responses submitted by the caller are collected by the VXML server.

12. Once answers for all the questions are collected they are passed back to the WxM repository.

Configure

Provision WXM Service on Cloud Connect

Cloud Connect interacts with WxM platform by the use of a new container service called Cherry Point. This service runs in active - active state mode in both nodes of cloud connect and enables CVP VXML server to access WxM platform.

To integrate cloud connect with WxM portal, WxM license needs to be purchased. This triggers the on-boarding process by the WXM activation team. After a successful org creation these essentials are sent to the registered email address.

- Desktop User & API Key

- System User & API Key

- Web URL Prefix

Once above information is received on the primary cloud connect server run the command set cloudconnect cherrypoint config in order to update the configuration details and integrate cloud connect to WxM.

Where:

- Deployment ID: This can be any dummy number or CCE solution system Id.

- Proxy Details: Ensure the proxy used is either non secure (port 80 or 8080) or secure (port 443).

- Proxy with authentication is not supported.

After the configuration details are updated successfully reinitialize the cherry point container with the stop and start commands.

- utils cloudconnect stop cherrypoint

- utils cloudconnect start cherrypoint

To check the configuration and connectivity to the WXM you can run these commands respectively.

- Show cloudconnect cherrypoint config

- utils cloudconnect cherrypoint test-connectivity

Note: If there is a issue with the connection to the Internet, you see error with code 400.

ICM Related Configuration:

1. Cloud Connect in Inventory Database

First step is to add cloud connect server into the Administration Workstation (AW) inventory database. To include the server, on the CCE Administration page in the inventory gadget of the infrastructure card, add the cloud connect server details.

Note: You can see ‘Internal Server Error’ on the page and this is due to lack of secure communication between the AW and the cloud connect servers.

To resolve ensure proper certificates are exchanged between the servers. For more details on certificate exchange in self signed environment for CCE solution please refer to this article: UCCE Self-signed Certificate Exchange .

For CA-Signed refer to this article: CCE CA Signed Certificate.

2. ECC Variables

Ensure that these ECC variables are enabled in the ICM solution

- user.microapp.isPostCallSurvey

- user.CxSurveyInfo

- POD.ID

Note: If the user.CxSurveyInfo variable is not set correctly, the CVP server fails to create an API request for the cloud connect server.

3. ICM Script Enhancements

(i)  Main Call In Script

In the main script ensure that user.microapp.isPostCallSurvey variable is set. For this script if WxM post call survey is needed set the variable to ‘Y’, 'N' flag disables the WxM PCS for the calls that come in to this main script.

Note: If user.microapp.isPostCallSurvey set variable node is not configured in the script by default the CVP marks the call for post call survey but the survey only works with traditional PCS feature, WxM PCS call fails.

(ii) WxM PCS Script

To invoke the WxM application on CVP VXML server component after the agent completes the call with the caller, WxM post call survey routing script is needed. The configuration steps involved in this script is like any general routing script where you configure

- Call Type

- Dialed Number (DN)

- Routing Script & association of DN to it.

a. Create a call type for WxM PCS script.

b.  Create a DN for WxM PCS script. DN can be any random number and gets mapped to the call type created in the previous step.

c.  Create a WXM PCS routing script.

This script invokes the WxM application which runs in the CVP VXML server. The way it achieves this is via user.microapp.ToExtVXML variable value which is configured as "application=wxm".

Note: Run External Script node is configured for get speech i.e. GS,Server,V.

d. Call Type and Survey Association

WxM PCS offers two options

- Inline Survey: This is an instant survey where after the call customer is redirected to PCS script where feedback is provided.

- Deferred Survey: In this type of survey after the call customer receives a survey link either via SMS or email which customer can respond to as per there convenience.

Depending on the business requirement inline or deferred survey can be enabled on the call type associated with the ICM main script.

You can map the Call Type and Survey via the CCE administration page. Navigate to Call settings > Route settings > Call Type page and select the call type of the icm script where the survey association is needed and check the Enable Experience Management box.

Note: When the user reaches call type page via CCEAdmin, AW sends a post request https://<cloudconnectFQDN >:8445/cherrypoint/status?details=true  to cloud connect server to check the integration status of cherrypoint service. If the result states the service is up then Enable Experience Management is displayed in the UI, else the option is not visible.

In Experience Management tab select the inline or differed survey with the desired questionnaire that is configured in the WxM portal. The questionnaires populated in the Select Questionnaire page are the one configure in WxM portal. They get synced via cloud connect.

CVP Related  Configuration

1. CloudConnect into NOAMP

For CVP VXML Server component to communicate with cloud connect first step is to add cloud connect server into the CVP New Operations Manager  (NOAMP) portal. To add, on the NOAMP page in integration section click on cloud connect, select CVP Call Server from the device drop down list and add the cloud connect server details.

Note:  As a best practise Fully Qualified Domain name (FQDN) of the cloud connect servers should be used.

You can see ‘Internal Server Error’ on the page and this is due to lack of secure communication between OAMP and CVP Call Servers.

To resolve ensure proper certificates are exchanged between the CVP Server and OAMP servers. For more details on certificate exchange in self signed environment for CCE solution please refer to this article: UCCE Self-signed Certificate Exchange.

For CA-Signed refer to this article: CCE CA Signed Certificate.

OAMP server pushes the cloud connect server details to all the CVP Call Servers and the information is added in the sip.properties file as shown in the image.

#Cloud connect Publisher Address

SIP.CloudConnect.publisherAddress = 10.201.248.179

#Cloud connect subscriber Address

SIP.CloudConnect.subscriberAddress = 10.201.248.178

#Cloud connect username

SIP.CloudConnect.username = admin

#Cloud connect password

SIP.CloudConnect.password = 2o3z18gCsJ*M2/ZWs/

#Cloud connect HTTP request time out

SIP.CloudConnect.RequestTimeout = 10000

#Cloud connect evapoint Endpoint API

SIP.ClouConnect.CreateMeetingApi = /evapoint/meeting/create

SIP.ClouConnect.DeleteMeetingApi = /evapoint/meeting/end

SIP.ClouConnect.StatusApi = /evapoint/status

#Cloud connect Survey Endpoint API

SIP.ClouConnect.SurveyEndPointApi = /cherrypoint/surveyendpoint

SIP.ClouConnect.AuthTokenApi = /cherrypoint/authtoken

#CLoudCherry Customer ID

SIP.CloudCherry.CustomerID = icm

#CLoudCherry Email ID

SIP.CloudCherry.CustomerEmailID = abc@cc.demo.com

SIP.CloudCherry.SurveyValidityTime = 300000

Note: In some scenarios all content may not be pushed to sip.properties file, required fields should be added manually to the file followed by a reboot of the server.

2. Update CVP Properties Files

a. ivr.properties:  Open the ivr.properties file and add these entries

IVR.AuthTokenRefreshTimeOut = 1800

IVR.SurveyTokenRefreshTimeOut = 43200

IVR.SurveyQuestionRefreshTimeOut = 43200

IVR.WxmSurveyTokenApiUrl = https://api.getcloudcherry.com/api/SurveyToken

IVR.WxmSurveyQuestionsApiUrl = https://api.getcloudcherry.com/api/Questions/Questionnaire

IVR.WxmSurveyAnswersSubmitApiUrl = https://api.getcloudcherry.com/api/SurveyByToken/

IVR.WxmSurveySettingsApiUrl = https://api.getcloudcherry.com/api/Settings/

IVR.WxmAudioUrl= https://api.getcloudcherry.com/api/StreamUserAsset/

IVR.WxmSurveyQuestionnaireUrl = https://api.getcloudcherry.com/api/surveyquestionnaire/

#Cloud Cherry batch properties (thresholds to trigger the SMS/Email Cloud Connect API)

IVR.CloudCherryBatchSize = 100 #Or optimized value

IVR.CloudCherryBatchTimeout = 60 #Or optimized value

b. VXML.properties : In VXML.properties file add the entry ‘VXML.usagefactor = 1.0’

VXML.usagefactor = 1.0

c. Restart the CVP Call  Server.

3. Define the PCS Dialed Number (DN)  in CVP OAMP

When the agent completes the call with customer CVP  sends a new call request to invoke the WxM PCS script in ICM. This is acheived when you associate the main call-in script DN with WxM PCS script dialed number pattern in OAMP.

To associate in OAMP - system - dialed number pattern page create a new dialed number pattern configuration where the DN Pattern field is populated with the main call-in script number and survey DN pattern for Enable Post Call Survey for Incoming Calls is mapped to the WxM PCS script number.

4. Deploy WxM Application

Copy the default WxM application provided in CVP GitHub onto VXML Server:  Default WxM Application CVP GitHub.

Deploy the app. Click on deployapp batch file.

Note: WxM application on Github is only applicable for CVP version 12.5(1) , 12.6(1) and later releases have this application preloaded similar to helloworld application.

5. Proxy Setting

For inline survey CVP VXML Server interacts with WxM portal to download the questionnaire and pass on the collected feedback results back to WxM. For this interaction CVP server requires internet access. If the servers are behind DMZ one can enable proxy via these steps.

On the CVP Server via regedit navigate to HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\VXMLServer\Parameters\Java\Options.

Append these parameters to the registry key:

-Dhttp.proxyHost=<proxy server url>

-Dhttp.proxyPort=<port details>

-Dorg.asynchttpclient.useProxyProperties=true

-Dhttp.nonProxyHosts="<domain name of cloud connect server>|<fqdn cloud connect pub>|<fqdn cloud connect sub>"

Example:"abc.com|cloudconnectpub.abc.com|cloudconnectsub.abc.com"

6. Certificate Exchange

CVP VXML server fetches the authorization token from the cloud connect server and reaches the WxM platform to download the desired questionnaire. To succesfully interact and download the information from WxM CVP Server requires WxM certificate in its keystore.

Steps required to export and import the certificates are:

Export WxM platform certificate

Step 1. On any workstation open a browser and navigate to the url: https://api.getcloudcherry.com/api/Questions/Questionnaire

Step 2. Export the certificate and save it as Base-64 encoded X.509 (.CER) file.

Import the certificate into CVP .keystore

Step 1. Copy the exported WxM certificate into the C:\Cisco\CVP\conf\security directory of the CVP Servers.

Step 2. Import these certificates with the command.

%CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -import -trustcacerts -alias {apicloudcherry_name} -file c:\cisco\CVP\conf\security\CloudcherryAPI.cer

Note: During Import CVP request for password. Informartion can be gathered from the security.properties file in the folder  '%CVP_HOME%\conf'

Step 3. Restart the CVP Servers.

7. VVB Text To Speech (TTS) Settings

Experience Management allows you to upload the audio files for post call survey questionnaire. This helps VVB to play back the questions as speech to customers. In case wav files are not uploaded VXML server only downloads the text form of questionnaire from WxM. To convert this text to speech VVB should be configured with TTS solution.

To enable follow these steps

Step 1.  Navigate to Cisco VVB Administration.

Step 2. In Subsystems > TTS Servers > Click Add New and add ip address and port number of the ASR\TTS server.

Finesse Related Configuration

WxM offers two different gadgets for call center agents and supervisors.

(a) Customer Experience Journey (CEJ) gadget: Displays all the past survey responses from a customer in a chronological list to agent when they accept a customer call.

(b) Customer Experience Analytics (CEA) gadget:  CEA displays the information depending on the type of resource logging into the finesse.

Agent: Displays the overall pulse of the agents through industry-standard metrics such as NPS, CSAT, and CES.

Supervisor: Displays the overall pulse of the Team\Agents through industry-standard metrics such as NPS, CSAT, and CES.

In order to enable these gadgets on finesse these are the steps needed.

1. Certificate Exchange

The gadgets interact with WxM platform directly to get the required information. For WxM to accept the request from the gadget’s, authorization token is required which finesse servers fetch from cloud connect. Due to SRC compliance certificate exchange between the finesse and cloud connect servers are required for successful communication.  For self-signed environment please follow the steps as stated in this document.

2. Cloud Connect in Finesse Admin

Finesse should be aware of the cloud connect server and this is achieved when you add cloud connect details into finesse administration page.

3. Gadget Enablement

CEJ gadget: To enable the CEJ gadget on finesse export the gadget code from WxM and copy it into the finesse admin desktop layout page for agent & supervisor. Steps to achieve this are as follows:

Step 1. Log in to WxM with the admin account.

Step 2. Download the CEJ gadget from spaces - Overall Experience - export Cisco Contact Center journey gadget.

Step 3.  Copy the url.

Step 4.  On the finesse CFAdmin desktop layout page include the url under the home tab of Agent  layout.

Step 5. On the finesse CFAdmin desktop layout page include the same url under the home of Supervisor  layout.

CEA Agent Gadget: Similar steps as CEJ gadget is needed to enable this application for agents in finesse.

Step 1.  In WxM admin portal in space select Agent Dashboard and on the left side navigational bar opt for Customer Experience Analytics option.  As the CEA wallboard loads press  button and in drop down menu select export Cisco Contact Centre Gagdet option.

Step 2.  Copy the url and modify the url: append the filter &filterTags=cc_AgentId to it.

Step 3.  On the finesse CFAdmin desktop layout page include the url under the myStatistics tab of  Agent role.

CEA supervisor Gadget: Similar steps as CEJ gadget is needed to enable this application for supervisor in finesse.

Step 1. In WxM admin portal in space select Supervisor Dashboard and on the left side navigational bar opt for Customer Experience Analytics option.  As the CEA wallboard loads press : button and in drop down menu select Export Cisco Contact Centre Gadget option.

Step 2. Copy the url and modify the url: append the filter &filterTags=cc_TeamId to it.

Step 3.  On the finesse CFAdmin desktop layout page include the url under teamData tab of Supervisor role

4. White List Finesse Servers Urls

To ensure API requests from finesse to WxM are authenticated, finesse server URL’s should be whitelisted in the WxM server.

In WxM admin portal - edit profile under CORS ORIGIN tab include finesse server url with port 8445.

Note: The urls can be FQDN of finesse server or wild card such as https://*.bora.com:8445

Verify

There is currently no verification procedure available for this configuration.

Troubleshoot

There is currently no specific troubleshooting information available for this configuration.

Related Information

- For information on WxM deferred survey please refer to this article: Integrate Webex Experience Management (WxM) Deffered Survey with UCCE Solution

- For information on self signed certificate exchange for CCE solutions please refer to this article: UCCE Self-signed Certificate Exchange

- For information on CA signed certificate implementation on CCE solutions please refer to this article: CA Signed Certificate on CCE

- CVP GitHub WxM  application:Default WxM Application CVP GitHub

- Technical Support & Documentation - Cisco Systems

Videos