The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
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.
Cisco recommends that you have knowledge of these topics:
The information in this document is based on these software versions:
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.
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.
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.
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.
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:
After the configuration details are updated successfully reinitialize the cherry point container with the stop and start commands.
To check the configuration and connectivity to the WXM you can run these commands respectively.
Note: If there is a issue with the connection to the Internet, you see error with code 400.
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
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
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
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.
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.
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
There is currently no verification procedure available for this configuration.
There is currently no specific troubleshooting information available for this configuration.