Skip to main content

SignalWire

New in 3.17

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:

credentials.yml
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.

Bot URLs 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.

  1. Sign up for SignalWire.

  2. Once logged in, buy a phone number from SignalWire.

  3. 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/webhook

    or if using ngrok, it will look like this: wss://recently-communal-duckling.ngrok-free.app/webhooks/signalwire/webhook

  4. You can add Status change URL.

    It will be in the format wss://<your-server>/webhooks/signalwire/call_status

    or in the case of ngrok look like this: wss://recently-communal-duckling.ngrok-free.app/webhooks/signalwire/call_status

  5. 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