cwh.consulting
Kill Your IVR with a Voicebot
ClueCon 2019
6 August 2019
cwh.consulting
A blog for WebRTC developers
webrtcHacks.com
@webrtcHacks
AI & RTC blog
cogint.ai
@cogintai
RTC Developer Event
November 15, 2019 in San Francisco
krankygeek.com
About Me
Chad Hart
Analyst & Product Consultant
https://cwh.consulting
@chadwallacehart
chad@cwh.consulting
krank
y
geek
cwh.consulting
I hate IVRs
cwh.consulting
DTMF was innovative in 1963
cwh.consulting
Traditional IVRs – DTMF forces layers
Menu
DTMF
Menu
DTMF
Response Response Menu
DTMF
Response Response Response
Menu
DTMF
Response Response Response Menu
DTMF
Response Response
time
engaged
angry
10 potential responses
cwh.consulting
Speech IVRs:
XML is better, but has hierarchy issues
<Response>
<Gather input="speech" action="/finalresult"
partialResultCallback="/partialResult">
<Say>
Having users speak their responses
is better, but still mostly sucks
</Say>
</Gather>
</Response>
cwh.consulting
Utterance
Intent
Response
Intent
Response
Intent
Response
Intent
Response
Intent
Response
Intent
Response
Intent
Response
Intent
Response
Intent
Response
Intent
Response
What callers want – no DTMF, no layers
10 potential responses
time
engaged
delighted
cwh.consulting
Voicebots are pervasive
cwh.consulting
New voicebots: consumer ⇨ businessNotable Consumer Voicebot Market Milestones
krankygeek.com/research
KRANKY GEEK RESEARCH
Notable voicebot milestones
cwh.consulting
Why Dialogflow
cwh.consulting
Dialogflow concepts
cwh.consulting
What is a Dialogflow Telephony Gateway?
PSTN &
VoIP Networks
Dialogflow
Bot-Gateway
SIP
RTP
gRPC
cwh.consulting
What should the gateway do?
 Phone audio  Dialogflow
 Call transfer
 Playback interruption
 No activity detection
 DTMF detection
 SMS
cwh.consulting
Method 1 of 3:
Use the Dialogflow Phone Gateway
cwh.consulting
Method 2 of 3:
Forward to Dialogflow’s Phone Gateway
cwh.consulting
Method 3 of 3:
Direct Connectivity
cwh.consulting
Implementation options
Cloud Commercial Open Source
Dialogflow Phone Gateway
VoxImplant Dialogflow Connector
SignalWire Dialogflow Connector
AudioCodes Voice.AI Gateway
USAN Dialogflow Telephony Bridge
Drachtio Dialogflow Interface
UniMRCP
cwh.consulting
Comparison score card:
none perfect, but some easy
Requirement
Dialogflow
Phone Gateway
Forwarding to
Phone Gateway
CPaaS –
SignalWire
CPaaS -
VoxImplant
Media conversion
Call Transfer
Recording
Playback Interruption
No activity detection
DTMF detection
SMS support
cwh.consulting
Let’s talk about SMS
SMS
cwh.consulting
Why SMS for an IVR?
Links for more
information
Info that is easier to
read instead of long
Text-to-Speech
Great way to send
reminders
Establish a long-term
asynchronous
communications
cwh.consulting
Adding an SMS channel
No one makes this
cwh.consulting
Adding an SMS channel
cwh.consulting
SMS Support -
SignalWire Twilio Text Connector Hack
cwh.consulting
SMS Support -
SignalWire Twilio Text Connector Hack
cwh.consulting
Adding an SMS channel
cwh.consulting
Adding an SMS channel
cwh.consulting
Programming the bot(s)
cwh.consulting
Managing voicebots in Dialogflow
cwh.consulting
Why did we do this?
Conclusions…
• Imperfect, but workable Dialogflow Gateway options
• Why don’t more IVR’s use SMS?
• Some assembly required
• Not for end users
cwh.consulting
It’s early,
but Voicebot IVRs are not far off
70’s 80’s 90’s 00’s 10’s 20’s
Humaninteractionsreplaced
cwh.consulting
https://cogint.ai/building-a-voicebot-ivr-with-dialogflow/
A lot more detail at:
cwh.consulting
AI in RTC Research Study
• Authors
• Chad Hart – cwh.consulting
• Tsahi Levent-Levi - BlogGeek.me
• Methodology
• 40+ 1-on-1 vendor interviews
• ~100 respondent web survey
• Analysis of 126 companies & all major products
• Output: 147-page report
krankygeek.com/research
or email me
cwh.consulting
Questions?
cwh.consulting
A blog for WebRTC developers
webrtcHacks.com
@webrtcHacks
AI & RTC blog
cogint.ai
@cogintai
RTC Developer Event
November 15, 2019 in San Francisco
krankygeek.com
About Me
Chad Hart
Analyst & Product Consultant
https://cwh.consulting
@chadwallacehart
chad@cwh.consulting
krank
y
geek

Kill Your IVR with a Voicebot (ClueCon 2019)

Editor's Notes

  • #3 As a quick background, my name is Chad Hart. I am an analyst and consultant focused on real time communications products and services Some of you may be familiar with webrtcHacks – I blog I have run since 2013 I also recently launched a blog to specifically explore topics related to AI, Machine Learning and RTC. You can check that out at cogint.ai Lastly, I also help to run the Kranky Geek series of events with the help of Google and other sponsors like Intel, Nexmo and Agora. We hold an event every year in San Francisco. This year we will also be focusing on the AI in RTC topics with many great talks from companies like Facebook, Microsoft, IBM and many more.
  • #5  https://depositphotos.com/stock-photos/tube-tv.html?filter=all DTMF was new and exciting when Ma Bell introduced it in 1963. Its been 56 years We should be way past this by now
  • #6 Finite number of keys forces this hierarchical structure Need to give people options but it takes time to read them all and people can only remember a handful Skipping back is a pain The result is you either have an IVR people hate or one that is very limited in functionality
  • #7 Speech recognition makes this better Instead of a handful of choices the user can speak their choice – no remembering DTMF The better your speech rec, the more options you can handle. However, XML-based IVR scripts, like all ML, are inherently heriarchical Natural human communication doesn’t follow if-then-that logic
  • #8 What callers really want is no layers Just say what you want and go from there
  • #9 The technology to do this isn’t a pipedream We use it all the time with virtual assistants and smart speakers Siri, Alexa, and Cortana aren’t anything new
  • #10 Actually, many advanced IVR systems like those sold by companies like Nuance, Aspect, and Genesys already have natural language inputs and responses. But they are super expensive and usually only work as of very complicated systems. One big change here is the growth of the consumer voicebot market. As this technology has matured, these solutions are not being targeted at business telephony use cases, not just consumers. For example, IBM launched a voice gateway option for its Watson assistant. Goiogle has its Contact Center AI initiative Amazon just released some WebRTC calling API’s for Alexa Now its possible to use these assistants to drive an IVR.
  • #11 There are a lot of considerations on what voicebot platform to use. Certainly you need to have Good voice recognition Realistic speech synthesis Many voices options I have been using Dialogflow mostly because it came out of the api.ai acquisition. API.ai was designed to be platform agnostic. Dialogflow certainly is easiest if you are in the GCP ecosystem, but it strong support for multiple platforms, not just Googles. Also as we will discuss next, it has built-in telephony option
  • #12 Voicebots typically don’t have a lot of hierarchy The user speaks a phrase – what is know as an utterance These utterances are matched to a pre-defined intent this is a word or action you define as the developer to respond to Dialogflow lets you define static responses that are automatically spoken back Or you can use what is known as fulfillment – basically a webhook – to determine the response or make your program do something Dialogflow has plenty of other tools to help setup and tune the bot. I don’t have time to run through a Dialogflow tutorial, but there are plenty online.
  • #13 Ok, we have a voicebot platform, but now we need to figure out how to get calls into it Dialogflow uses general remote procedure calls (gRPC) to send both API commands and media. This means we need a gateway that speaks gRPC and can give the appropriate Dialogflow API commands, and respond to events
  • #14 Other than basic gateway functionality, what else should the gateway do?
  • #15 Now let’s look at 3 different gateway options. As I mentioned earlier, Dialogflow actually has its own Telephony gateway. They will give you a free US phone number and if you want something with an SLA it’ll cost 5 cents or more This gateway does let you do call transfers, but that is about it. It get the job done quick for simple needs but its not programmable for more sophisticated scenarios.
  • #16 The next option is to just forward calls from your platform of choice into the Dialogflow phone gateway. This is pretty easy The downside is there is no real intelligence here Dialogflow can’t communicate to your telephony platform over the PSTN You also end up paying a lot more – and maybe hurting call quality – since you are adding a whole extra call leg over the PSTN
  • #17 The better option is to have your gateway directly connect into Dialogflow over gRPC This is less expensive, more responsive, and gives you more control
  • #18 Now there are several options for implementing this method 3 Some of you know Dave Horton and the Drachtio node.js SIP server project. Early on in my research we actually did some work together on this and he ended up adding an interface to Drachtio that uses Freeswitch For this project I choose to use some of the cloud options – specially I evaluated t
  • #19 Here is a quick summary comparison of the choices against my requirement checklist I talk about each of these in detail in my blog series. VoxImplant has wrappers for the Dialogflow API’s you can call from its serverless execution environment, which let me implement a lot of what I wanted. The SignalWire Dialogflow setup is actually really easy, but you can’t control it easily from a LAMP script or via API’s so was more limited. As I’ll discuss, I ended up using SignalWire and VoxImplant. https://cogint.ai/signalwire-dialogflow-2/#signalwiresscore
  • #22 SMS is a basic CPaaS requirement so you think adding SMS would be easy. The problem is no one makes an all-in-one gateway today
  • #23 What you need to do is effectively add a 2nd gateway / proxy device for this.
  • #24 Twilio actually has a Text Connector built into Dialogflow’s interface
  • #25 It turns out you can use this same interface with Signsalwire You stick the webhook url provided by the Twilio Text connector into SignalWire, plug your credentials into the Dialogflow integration show in the previous slide and it works.
  • #26 Ok, so I had an easy SMS solution, but the problem now the problem is how to connect it. I wanted a single bot that could switch between voice and SMS. I was using VoxImplant for Voice and SignalWire for SMS, but they each had their own phone number. They each had their own phone number, which is not ideal -
  • #27 I really wanted to have 1 phone number so we ended up using the SignalWire number and forwarding calls to VoxImplant
  • #28 Now that we had the telephony piece working, we had to go back to other elements like setting up the bot. Dialogflow is setup for building one bot for each business. We really wanted to see if we could setup a system for serving multiple businesses And we wanted to see if we could make it easy for a small business owner to setup The Dialogflow GUI isn’t going to do that for you
  • #29 We ended up coming up with a templating system. Next we ran into issues in programmatically creating bots – Dialogflow wouldn’t let you do this but they recently added that capability.
  • #30 So, what did we learn? – some work to do to setup as an IVR replacement
  • #33 The AI in RTC topic has been a major focus of mine. I recently came off a long-term project where I ran a new product incubator group that launched a speech analytics service inside a telco. I could see speech analytics and other machine-learning based technologies were starting to intersect with real time communications. To understand this better I teamed up with Tsahi Levent-Levi of BlogGeek.me, another WebRTC analyst many of you know, to write a research report on this topic. We covered more than 125 vendors, ran an industry survey, and had 1-on1 conversations with 40 vendors.
  • #35 As a quick background, my name is Chad Hart. I am an analyst and consultant focused on real time communications products and services Some of you may be familiar with webrtcHacks – I blog I have run since 2013 I also recently launched a blog to specifically explore topics related to AI, Machine Learning and RTC. You can check that out at cogint.ai Lastly, I also help to run the Kranky Geek series of events with the help of Google and other sponsors like Intel, Nexmo and Agora. We hold an event every year in San Francisco. This year we will also be focusing on the AI in RTC topics with many great talks from companies like Facebook, Microsoft, IBM and many more.