SignalWire
The SignalWire connector has been made generally available in Rasa Pro 3.17.
Use this channel to connect your Rasa assistant to SignalWire. SignalWire is a cloud communications platform that provides Voice APIs and phone numbers.
Basic Rasa configuration
Create or edit your credentials.yml and add a new channel configuration:
signalwire:
server_url: "<your-domain>"
username: "<username>"
password: "<password>"
asr:
name: "deepgram" # or "azure"
# ASR-specific configuration
tts:
name: "deepgram" # or "cartesia", "azure"
# TTS-specific configuration
interruptions: # optional
enabled: true
min_words: 3
You can run that assistant using rasa run. To configure the SignalWire channel,
you will need a URL to your Rasa assistant. You can use a tunneling solution like
ngrok to expose your assistant for development.
Visit this section to learn how to generate the required bot URL when testing the channel on your local machine.
Configuring SignalWire
To route calls to your Rasa assistant, you need to have a SignalWire account and a phone number.
-
Sign up for SignalWire.
-
Once logged in, buy a phone number from SignalWire.
-
Create a cXML Script with Calling call type. To route calls to your assistant, choose to handle using External URL. You'll either need to deploy your assistant to a server or use a tunneling solution like ngrok for development.
The External URL will be in the format
wss://<your-server>/webhooks/signalwire/webhookor if using ngrok, it will look like this:
wss://recently-communal-duckling.ngrok-free.app/webhooks/signalwire/webhook -
You can add Status change URL.
It will be in the format
wss://<your-server>/webhooks/signalwire/call_statusor in the case of ngrok look like this:
wss://recently-communal-duckling.ngrok-free.app/webhooks/signalwire/call_status -
After saving the script, in the Addresses & Phone Numbers section, add the chosen number to your application.
Usage
You can call the SignalWire number from any other number in order to talk to the deployed bot.
Audio format
The default audio format on SignalWire channel is Linear 16 bit 24KHz PCM mono