SignalWire | Rasa Documentation

Build your first agent in just a few minutes with Rasa Copilot.

On this page

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:

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.

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

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

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