Last week we talked about the 3 Methods for Connecting a Phone call to Dialogflow. The third method we discussed was direct connectivity to Dialogflow from your telephony platform. This approach provides the best call quality possible and should cost less since you don’t need to pay for call charges out of the telephony environment or into the Dialogflow Phone Gateway. The downsides are there are few options for doing this and each platform is proprietary. SignalWire is one of the Communications Platform as a Service (CPaaS) who has been doing this for a while and that is what I will review today.
SignalWire introduced a basic Dialogflow connector when they launched last year. In my initial review of that, I discussed some bugs and that the main advantage of their implementation SignalWire was free connectivity into Dialogflow. The updates I noticed this time were:
- New connectivity charge per minute to connect to Dialogflow
- More TTS voices for the welcome prompt
- The start to some Dialogflow telephony integration
- Support for Dialogflow agents set to languages other than English
SignalWire Dialogflow connectivity is now priced at 2 cents per minute, This is quite a bit higher than their 0.65 cents per minute for placing an outbound call. However, this is still a deal compared to the 5 cents per minute Google changes on their Enterprise plan on top of the 0.65 cents per minute you would then need to pay SignalWire for the outbound call if you used the CPaaS + Dialogflow Phone Gateway approach described earlier.
Example from SignalWire’s usage history showing Dialogflow Connector charges
A cost comparison of the call forwarding approach vs. using SignalWire’s Dialogflow connector. The connector reduces the cost by neary 60%.
Dialogflow Telephony interaction
Like before, SignalWire also has the ability to play a welcome message prior to connecting to SignalWire. They have the complete list of Standard and Wavenet Text-to-Speech (TTS) voices from Google’s TTS to choose from as a default TTS engine, but this selection only works on the welcome prompt. The Agent voice was still what was set inside Dialogflow. I also noticed that the “Synthesize voice” option inside Dialogflow’s telephony integration worked, but this also used the Dialogflow voice selection, not use the Signalwire one. I also tried the Dialogflow Telephony integration Transfer call feature, but that did not seem to do anything when I tested.
Dialogflow’s built-in Transfer Call feature did not work
Call Transfer Webhook
It is possible to setup a transfer using webhooks and one SignalWire’s REST API’s, but this would add some complexity and would require a helper server. I did not see a quick or straightforward way of doing this though, so I did not try it.
Unfortunately Dialogflow Agents cannot be addressed using SignalWire’s LAML scripting language. This means it is not possible to implement a simple record and forward script to recording the incoming call. You could get around the lack of Dialogflow Agent addressing by forwarding the call to your Dialogflow number, but that would bring you back to Method 2 with its issues, which is what we were trying to avoid with the Dialogflow Connector in the first place.
Hack for SMS support
Twilio is the only vendor to have a native Text Messaging Integration with Dialogflow. This is not documented anywhere, but it turns out you can use that same integration with SignalWire too. Simply just go to Dialogflow’s integrations, select Twilio (Text Messaging) and then insert your SignalWire project key and API token in the Dialog Account SID and Account Token field respectively. Make a note of the generated Request URL:
Now to into your phone number settings inside SignalWire, pop down to Messaging Settings, and place the Request URL into the “when a message comes in” field:
As I do not believe this is officially supported, this is a really a hack, but it works!
SignalWire was not much of a fit against the criteria we identified in the first post of this series:
|Requirement||SignalWire Dialogflow Connector|
|Call Transfer||Maybe, but it is not straight forward|
|No activity detection||No|
|SMS support||Yes - use the Twilio Text Messaging integration|
Next week I will provide an update to VoxImplant’s Dialogflow Connector that they introduced here a year ago. There are a lot of changes there. After that we will review the major challenges we encountered in implementing this system and share some implementation examples from our research. Make sure to subscribe so you don't miss anything as we progress through this series.
About the Author
Chad Hart is an analyst and consultant with cwh.consulting, a product management, marketing, and strategy advisory helping to advance the communications industry. In addition, he recently he co-authored a study on AI in RTC and helped to organize an event / YouTube series covering that topic.