Introduction
This document describes how to configure Contact Center Enterprise (CCE) Virtual Assistant Voice (VAV) integrated with Google Contact Center Artificial Intelligence (CCAI).
Contributed by Ramiro Amaya Cisco TAC Engineer, Adithya Udupa, and Raghu Guvvala, Cisco Engineers.
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
- Cisco Unified Contact Center Enterprise (UCCE) Release 12.6
- Cisco Package Contact Center Enterprise (PCCE) Release 12.6
- Customer Voice Portal (CVP)
- Google Dialogflow
- Control Hub
Components Used
The information in this document is based on these software versions:
- UCCE Release 12.6
- CVP 12.6 ES6
- Google Dialogflow
- Control Hub
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
Virtual Assistant Voice (VAV) feature enables the IVR platform to integrate with cloud-based speech services.
This feature supports human-like interactions that enable you to resolve issues quickly and more efficiently within the IVR.
VAV feature formerlly known as Customer Virtual Assistant (CVA) has been improved for Cisco billed customers in CCE 12.6. VAV.
Note: In this release only Google Natural Language Processing (NLP) is supported.
Configure
Dialogflow Project
Google Dialogflow agent needs to be created and the Knowledge base needs to be added before you start Agent Answers configuration. You require a Google service account, a Google project and a Dialogflow virtual agent. Then, you can add the knowledge base to the Dialogflow virtual agent.
What is a Dialogflow?
Google Dialogflow, is a conversational User Experience (UX) platform which enables brand-unique, natural language interactions for devices, applications, and services. In other words, Dialogflow is a framework which provides NLP / NLU (Natural Language Understanding) services. Cisco integrates with Google Dialogflow for Cisco Virtual Agent and for Agent Answers and Transcript.
What does this mean for you? Well, it means you can basically create a virtual agent on Dialogflow and then integrate it with Cisco Contact Center Enterprise.
If you need information on how to create a virtual agent or Dialogflow project, visit: Configure CVP CVA
Follow these steps to add the Knowledge base to the Virtual Assistant Voice (VAV).
Note: VAV does not require the use of a knowledge base, however for configuration purpose, it i required to create an Agent Profile which requires the configuration of a knowledge base.
Step 1. Log in to Dialoglfow Console, select the agent and click Knowledge: Dialogflow Console

Step 2. On the Knowledge Bases page, click CREATE KNOWLEDGE BASE, name the Knowledge base and click Save.

Step 3. Add a document or link to the knowledge base just created. Click Create the first one.

Step 4. On the Creation page, type the document name, select the Knowledge type, the Mime Type and the Data Source.

Step 5. Click CREATE.

Step 6. Create a Google AI Profile.
1. Once the KB or FAQs are updated for dialogflow agent, log in to Google Agent Assist and choose the project which is used for the KB/FAQs.
2. Select the conversation-profiles and click on create new as shown in the image.

3. Update these details while you create the conversation profile and click create button.
- Display name – Give any name to identify the profile.
- Suggestion types – Based on what you have selected in the Knowledge Bases (KB) tab in Dialogflow Uset Interface (DF UI), click on that. It must be either FAQ or Articles.
- Once you do this, all the KBs created in DF UI page, appears here automatically. Select the correct one.
- Updated some of the other mandatory fields like Sentiment Analysis or update the default values based on the requirement like confidence threshold or maximum suggestions, etc.


- Now the conversation profile appears on Agent Assist URL.
- Copy the Integration ID. Click the Copy to Clipboard button. This is used later in the Control Hub configuration.

Note: There is no Dialogflow configuration required for Call Transcripts.
Webex Control Hub Configuration
Create a CCAI configuration in Cisco Webex Control Hub at Control Hub. A CCAI configuration leverages CCAI Connectors to invoke the CCAI services. For details, see the Configure Contact Center AI article at Webex Help Center
Step 1. Ensure that the Cloud Connect publisher and subscriber are installed. For more information, see the Install Cloud Connect section in Cisco Unified Contact Center Enterprise Installation and Upgrade Guide.
Step 2. Log in to Webex Control Hub. Navigate to Contact Center and click Cloud Connect.

Step 3. On Cloud Connect window enter the name and the Fully Qualified Domain Name (FQDN) of Primary Cloud connect.

Step 4. On Cloud Connect window enter the name and the FQDN of Primary Cloud connect and click Register.
Step 5. Add a Connector. On the Contact Center window select the Connectors tab.

Step 6. If a connector is already added and you need to add one more, click Add More. Sign in with Google and follow the instructions.

Step 7. Now add the features. On the Contact Center page, click Features and then click New.

Step 8. You are now in the Create a New Contact Center Feature page. Click Contact Center AI Config.

Step 9. Provides the feature information, select the connector already added and the Google Profile created.

CCE Configuration
Step 1. On UCCE AW, open Cisco Web Administration tool and navigate to Inventory. Click New.

Step 2. Add Cloud Connect and provide the FQDN and credentials.

Note: Refer to these documents for PCCE certificate exchange: Self-Signed Certificates in a PCCE Solutions and Manage PCCE Components Certificate for SPOG. For UCCE refer to Self-Signed Certificate Exchanged on UCCE.
Step 3. Configure Cloud Connect in the CVP Operations Console (OAMP). For details see the section Configure CVP Devices for Cloud Connect in the Administration Guide for Cisco Unified Customer Voice Portal.
Note: This is for UCCE only. This step is not required for PCCE.

Step 4. Import the Cloud Connect certificate to the CVP server. For details, see the section Import Cloud Connect Certificate to Unified CVP Keystore in the Configuration Guide for Cisco Unified Customer Voice Portal.
Step 5. In the Unified CCE Administration console, do the this to associate the CCAI configuration all call types:
- On AW Web Administration tool, navigate to Features and select Contact Center AI.

2. Select Cisco-billed AI Services.

3. On the Contact Center AI page select the CCAI configured before in Control Hub.

Step 6. To apply the CCAI configuration to only a subset of the call types or to override the global configuration for specific call types do this:
1. In Web Administration tool, navigate to Route Settings and select Call Type.

2. Click Contact Center AI and select the Contact Center AI configured on the Control Hub.

CVP Configuration
Step 1. On CVP Call Studio, open the call studio application.

Step 2. On the Dialogflow element, ensure that the Service Account ID is empty.
Step 3. Leave the VoiceXML Property and value null if you want to use the default config id, or on the VoiceXML Property add CCAI.configId as the property and the value of the configid configured in Control Hub.

Verify
There is currently no verification procedure available for this configuration.
Troubleshoot
Logs to Collect
- UCCE /PCCE: Tomcat Logs
- Cloud Connect: cloudconnectmgmt (file view activelog hybrid/log/cloudconnectmgmt/cloudconnectmgmt.YYYY-MMM-DD.0.log)
- CVP: VXML Server logs
- CVVB: Speechserver (Engine Logs)
- Call Studio Application
- Google Dialogflow
Scenarios
Orchestration
- UCCE /PCCE: Tomcat Logs
- Cloud Connect:cloudconnectmgmt (file view activelog hybrid/log/cloudconnectmgmt/cloudconnectmgmt.YYYY-MMM-DD.0.log)
- CVP: VXML Server logs
- CVVB: Speechserver
Orchestration when you add VVB/Cloud Connect in PCCE scaled up deployments happen via deferred sync. Hence wait for up to 10 minutes for details to reflect on VVBs.
Orchestration when you add Cloud Connect in PCCE 2k deployment happens immediately
Log file to check - \icm\tomcat\logs\CCBU*.log

VVB API used for orchestration is https://<vvb-host>/adminapi/cloudConnect. Search for this in tomcat log file to check VVB response.
In case of error response check if this API works when invoked directly on VVB
For orchestration on upgrade scenario, task status can be checked in System_Attribute table.

Synchronization Failure - CCEadmin
UCCE /PCCE: Tomcat Logs
Cloud Connect: cloudconnectmgmt (file view activelog hybrid/log/cloudconnectmgmt/cloudconnectmgmt.YYYY-MMM-DD.0.log)
Check details from Cloud Connect i.e., token, org id, etc., are successfully retrived – invoke /unifiedconfig/config/contactcenterai/token
Any error when these details are fetched indicates problem with Cloud Connect – service down/ change in credentials/miss certificates , etc.,

Check if there is any error in ControlHub API that is used to get the default configuration: https://<service_base_url>/cms/api/auxiliary-data/resources/ccai-config/1534?orgId=<ord_id>

Synchronization Failure - CVVB
CVVB: speechconfig
Cloud Connect: cloudconnectmgmt (file view activelog hybrid/log/cloudconnectmgmt/cloudconnectmgmt.YYYY-MMM-DD.0.log)
Issue: Failed to sync config for service <TTS/ASR/NLP>: Server has caught an exception.
Speechserver logs:

Speech Server Logs:
Speechserver/logs/SpeechServer
Speechserver/logs/Speechconfig

Reason for the issue is that the Speech Config has not yet deployed properly.
Solution: Check speech config log

Fetch Configuration Failure
Cloud Connect: cloudconnectmgmt (file view activelog hybrid/log/cloudconnectmgmt/cloudconnectmgmt.YYYY-MMM-DD.0.log)
CVP: VXML Server logs
CVVB: Speechserver
Issue 1:
Expected OAuth2 access token, login cookie or other valid authentication credential.
Logs:
Speechserver/logs/SpeechServer

Reason: Time out of sync between VVB Speech Server and Google
Solution: Configure proper NTP server
Issue 2:
Error while Cloud Connect initialize ( isCloudConnectConfigured: False)

Reason:
1. Cloud Connect Config could be wrong
2. Token publisher server could have been busy
Solution:
1. Check Configuration
2. Restart Speechserver
Call Failure
- CVP: VXML Server logs
- CVVB: Speechserver
- Call Studio application logs
- Dialoflow stackdriver logs
Related Information