Virtual Agents and ChatBots using CCAI technology have become increasingly popular for many reasons:
- Free human agents to focus on more difficult and specialized calls, providing them with real-time information, workflows, and turn-by-turn guidance
- Improve customer satisfaction and operational efficiency
- Improve call deflection rates, achieve shorter handling times, and reduce agent training costs
- 24/7 access to information
One of the main challenges for organizations to adopt this technology has been the integrations with the existing Telephony providers. But Google CCAI offers seamless integration with many such Partner built-in telephony systems.
In the following sections, we have outlined some of the telephony integrations implemented by SpringML for various customers. We have also documented challenges and best practices for each of those integrations.
With Twilio, you can go beyond connecting a caller directly to a Dialogflow agent and ending the call when the agent interaction is completed. In the application of Safe travel, we have built a Twilio and Dialogflow integration using a webhook application for callbacks from Twilio and mediate communication between the SMS user and the system.
For voice, Twilio Media Streams provides the ability to access the audio in real-time from your active phone calls. The Dialogflow Agent receives the stream, processes the request for intent, and responds with audio. It can then optionally escalate back to your Twilio application so that you can customize subsequent actions in the call flow, such as forwarding the call to an agent or routing the call into a conference.
We do have a one-click integration available in Dialogflow ES right now, which makes things much easier.
Although it’s easy to implement the integration, understanding the Twilio platform and its products is required.
Use the Twilio signature to secure the webhook URL in Twilio. When Twilio sends a request to your defined webhook URL, it will include the x-Twilio-signature header and you can validate the requesting party. To validate the incoming requests, you can perform the same signature procedure and compare if your generated signature and the sent signature match. If they do, you can be sure that Twilio sent the request you received.
For 24/7 Intouch client Red Robin, we developed an IVR agent to Integrate Avaya with Dialogflow. We used Avaya Cpass one click-connector to integrate.
Note: One cloud virtual agent connector- doesn’t support DialogFlow speech
Avaya provides multiple technologies for integration. Avaya’s Virtual Agent anchors the call on the Avaya side, which has a number of consequences. It means that the call uses Avaya’s speech recognition, so the call would not utilize the Dialogflow agent’s entities and intents to increase recognition accuracy and precludes SpringML’s ability to configure homonyms that appear naturally in conversations. It also means that the voices used for the agent do not match Avaya provides multiple technologies for integration. Avaya’s Virtual Agent anchors the call on the Avaya side, which has several consequences. It means that the call uses Avaya’s speech recognition, so the call would not utilize the Dialogflow agent’s entities and intents to increase recognition accuracy and precludes SpringML’s ability to configure homonyms that appear naturally in conversations. It also means that the voices used for the agent do not match directly with what clients may expect when selecting from supported Google Wavenet voices. Finally, certain agent-level settings are not available. For example, barge-in is turned on automatically and unable to be disabled when using Avaya’s Virtual Agent.
On the other hand, Avaya’s One-Click connector anchors the call in Dialogflow and uses the agent settings, speech recognition, synthesis from Dialogflow. The current challenges here are the technical workarounds to include custom payloads for caller-ID and the inability to set the agent voice in Dialogflow CX.
Utilize the One-Click connector to maintain control over agent parameters and speech settings. When required, pass the caller-ID and called party parameters using custom InboundXML in the Avaya portal. (This functionality is on a quick dev cycle — ex: Q4 2021.) If you must use the OneCloud Virtual Agent, pass hints in session parameters for increased speech recognition accuracy.
For Dolex customers, we developed an IVR agent to integrate Fuze with Dialogflow.
Fuze doesn’t support voice selection for Dialogflow CX, so we had to switch back to the DialogFlow ES version and use Twilio in between for voice selection.
Limited ability to integrate.
Use direct inward dialing to another service, e.g. Twilio.
- Cisco Unified Contact Center Enterprise (UCCE) Release 12.5
- Cisco Package Contact Center Enterprise (PCCE) Release 12.5
- CVP Release 12.5
- Cisco Virtualized Voice Browser (CVVB) 12.5
- Cisco Unified Border Element (CUBE) or Voice Gateway (GW)
- Google Dialogflow ES
For the City of Sacramento 311 Virtual Agent we integrated Dialogflow ES with Cisco CVP.
Although the call flow and complexity of the use cases warranted the use of Dialogflow CX. The version of Cisco CVP (12.5) that the customer was using did not support CX, hence the decision to use Dialogflow ES was made.
From a high level, the call routing and call termination are all handled and configured through Cisco Call Studio. Hence it is expected to have knowledge on the topics below for configuring the integration and call flow between Cisco and Dialogflow.
For Cisco integration following details of Google Dialogflow agent are required.
- Project id where the agent is setup
- Service Account
- Service account key file
Flow diagram for hosted IVR
Sample script of cloud-based intent processing
DialogFlow to Cisco call routing detail
For more details and white paper on the Cisco customer virtual assistant, please refer here.
- The implementation requires an understanding of the Cisco CVP ecosystem and needs familiarity with Cisco Call Studio. This would especially be crucial in projects where there is no separate team/individual that has a Cisco background or expertise
- Mapping for all the possible routing needs to be configured in the Cisco call studio against the expected intents and responses from Dialogflow
- Changing intents or its fulfillment/response text in Dialogflow which are crucial for call routing without updating the configuration in Cisco will disrupt the call routing. So these changes would have to be made after considering the call routing impact too
Create a mapping document for Dialogflow intents with fulfillment response text and conditions for call routing and keep the document updated with the latest changes.
With extensive experience in various integrations, SpringML is ahead of the game in developing and integrating CCAI applications with existing Telephony systems. Although these integrations pose many challenges, our team has successfully addressed and delivered robust solutions giving us a competitive edge in implementing such solutions.