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

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 Deferred (SMS/Email) 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_6

- 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 --- 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. Cloud Connect server starts the Cherrypoint container after the WxM account is set via the CLI commands. Cherry point container invokes a LoginToken () API with the configured user account, API keys etc. and sends it to WxM for authentication.

2. WxM validates the LoginToken request successfully then sends 200 OK back to Cloudcherry container.

3. Cherrypoint Container then invokes the get Dispatch () and the get Settings () API call to WxM.

4. WxM returns the Dispatch Setup, Questionnaires, Templates, Prefill etc to the Cherrypoint container. This information is first parsed to identify if Personal Identity Information (PII) questions are present. If they are, then depending on the call settings, the API hash algorithm is fetched. For 12 hours the questionnaire is saved in the server memory.

5. The call comes into the contact center (Caller-> CVP -> ICM) and then, the system checks if the Post Call Survey (PCS) feature is enabled. In this case, it is enabled by th euse of the user.microapp.isPostCallSurvey variable in the ICM script.

6. The Incoming Call’s Dialed Number (DN) is associated with a Call Type and in turn WxM deferred (SMS/Email) Survey. Since ICM needs callers confirmation in order to receive the deferred survey and the caller’s Email/Mobile number, It sends the VXML application details to run as part of Run Script Request back to CVP.

7. The VXML Server runs the deployed VXML application and captures the User’s willingness to receive the deferred survey. The VXML application also captures the user's ID, and the Email/Mobile number. CVP VXML sends back to ICM via Voice Browser to CVP as part of the ExtVXML variables. In this entire call flow, VXML leg just gets involved for the collection of the user inputs,  and never interacts/involves with WxM in case of deferred survey leg. This is the unique difference between Inline and Deferred flow.

8. ICM collates the Caller’s inputs received from CVP VXML (FromExtVXML 0 & 1) as part of POD.ID and identifies an agent target for the call. ICM Router then sends the associated call context information (i.e. Agent ID, Skill Group ID, Team ID, and Dispatch ID) along with other call context details back to CVP in the CONNECT message. This is achieved by the Expanded Call Context (ECC) variable CxSurveyInfo. CVP SIP leg process the connect message and forwards the call to the targeted agent.

9. Caller disconnects the call. Dispatch ID received as part of CONNECT message, tells the CVP call server that Email/SMS needs to be sent to the caller after the call ends.

10. CVP call server creates a batch of requests and sends it to Cloud Connect which contains Dispatch ID, Customer ID, Email, and Mobile number (received in Step 8) and calls the DispatchRequest() API on Cloud Connect. Once Cloud Connect received the Dispatch request, It updates all the prefill tags as per the dispatch template and forwards the DispatchRequest() to WxM which in turn passes onto WxM SMS/Email Provider configured in WxM.

11. WxM SMS/Email Provider accepts the DispatchRequest() and sends the ack 202 Accepted back to WxM. Once WxM receives the 202 Accepted message, It  passes back to CVP.

12. WxM SMS/Email Provider sends the survey info in the form SMS/Email as per the Dispatch Request. Caller receives the Email/SMS as shown in the image.

you can use the link in Email/SMS and click START in order to fill in the survey questions. Once you answer all the questions  and submit them, they are passed back to the WxM respository.

Configure

Provision WXM Service on Cloud Connect

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

To integrate cloud connect with WxM portal, WxM license needs to be purchased. This triggers the onboarding 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

- Voice PIN Prefix

- Web URL Prefix

- Deployment ID

- Proxy details

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 cherrypoint contianer 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 this issue, ensure that 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 and POD.ID variables are not set correctly, the CVP server fails to create an API request for the cloud connect server.

3. ICM Call Type and Survey Association

Deferred Survey: In this type of survey, after the customer call ends, the customer receives a survey link, either via SMS or email, which the customer can respond to at their convenience.

Depending on the business requirements, 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 deffered 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 synched via cloud connect.

4. Main Call In Script Configuration:

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.

POD.ID Value set to --> concatenate(Call.user.microapp.FromExtVXML[0],";",Call.user.microapp.FromExtVXML[1])

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.

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 this issue, 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 adde in the sip.properties file as shown in the image.

#Cloud connect Publisher Address

SIP.CloudConnect.publisherAddress = cloudconnecta125.grey.com

#Cloud connect subscriber Address

SIP.CloudConnect.subscriberAddress = cloudconnectb125.grey.com

#Cloud connect password

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

#Cloud connect username

SIP.CloudConnect.username = administrator

#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: When you add cloudconnect in NOAMP, the system pushes cloudconnect nodes, username and  passwords on to sip.properties file, rest all fields in the above screenshot should be added manually to the file if that is not present.

Restart the CVP Call  Server.

2. Create Call Studio Application for Collecting User Inputs:

External VXML 0 set to --> cc_CustomerId={Data.Element.OptSurvey.cid};Email=username@email.com;Mobile=1234567890;cc_language=en-us

External VXML 1 set to --> Optin={Data.Element.OptSurvey.value}

Note: In the above example, External VXML 0 variable is set manually. Real deployment can be done in many ways to find the called in Customer's Email/Mobile number via Database dips etc.

3. Deploy The Application

Deploy the app. Click on deployapp batch file.

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 resources that are logged in to 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 steps availabe to troubleshoot this configuration.

Related Information

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

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

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

- CVP GitHub WxM  application:Default WxM Application CVP GitHub

- Technical Support & Documentation - Cisco Systems