Skip to main content

CHIRP

New in 3.17

The CHIRP channel is available from Rasa Pro 3.17.

Use the CHIRP channel to connect your assistant over a WebSocket audio stream. CHIRP is intended for automated voice testing — platforms that simulate callers and need a direct WebSocket connection rather than a telephony provider.

Like Twilio Media Streams, Rasa handles ASR and TTS on the server. Unlike telephony channels, there is no phone number or inbound webhook; the test client connects directly to your Rasa server.

Configuration

Add the following to credentials.yml:

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

WebSocket endpoint

The test client connects to:

wss://<your-domain>/webhooks/chirp/websocket

Use HTTP Basic Authentication with the username and password from credentials.yml.

Protocol

Audio is sent in both directions as 16 kHz, signed 16-bit mono PCM in WebSocket binary frames. Optional JSON text frames (speech.started, speech.completed) signal turn boundaries and support interruption handling.