Connect to ElevenLabs
Connect a Callr Phone Number to an ElevenLabs Conversational AI Agent
This guide explains how to connect a Callr phone number to an ElevenLabs Conversational AI agent using SIP.
- Callr handles telephony worldwide: phone numbers, carrier connectivity, call routing, SIP, reliability, compliance.
- ElevenLabs handles real-time voice AI: speech recognition, LLM orchestration, and ultra-realistic speech synthesis.
The result: anyone can call your Callr number, and the call is handled live by your ElevenLabs AI agent.
🏗️ Architecture Overview
- A user dials your Callr phone number.
- Callr receives the Inbound Call.
- A Callr scenario uses
dial@v1to connect the call to the ElevenLabs SIP endpoint. - ElevenLabs answers the SIP call and runs your conversational AI agent.
- Audio flows bidirectionally between the caller and the AI.
⚙️ Prerequisites
Before starting, make sure you have:
- A Callr account
- A purchased Callr phone number
- A Callr Actions scenario
- An ElevenLabs account
- A configured Conversational AI agent
When SIP is enabled for your ElevenLabs agent, ElevenLabs provides a SIP URI in this format:
sip:<agent-id>@sip.elevenlabs.io;transport=tlsThe <agent-id> is available in your ElevenLabs dashboard when SIP calling is enabled.
🤖 Step 1 – Configure Your ElevenLabs Agent
In ElevenLabs:
-
Create or configure a Conversational AI agent.
-
Configure:
- Language model
- Voice
- System prompt
- Tools or webhooks (if needed)
-
Enable SIP calling for the agent.
-
Copy your SIP URI:
sip:<agent-id>@sip.elevenlabs.io;transport=tlsElevenLabs handles:
- Speech-to-text
- LLM reasoning
- Tool execution
- Text-to-speech
- Conversation state
Callr does not process AI logic - it securely transports the audio stream over SIP.
⚡ Step 2 – Create a Callr Scenario
Create a Callr Actions scenario that dials the ElevenLabs SIP endpoint when your number receives a call.
description: Route inbound call to ElevenLabs AI
compat:
version: "2025-09-01"
defaults:
autoAnswer: false
branches:
inbound-call:
actions:
- action: dial@v1
params:
targets:
- number: sip:<agent-id>@sip.elevenlabs.io;transport=tls
timeout: 60How it works
inbound-callis triggered when someone calls your Callr number.dial@v1creates an outbound SIP call.- The target is the ElevenLabs SIP endpoint.
transport=tlsensures encrypted SIP signaling.
- PSTN termination
- SIP negotiation
- Secure TLS signaling
- RTP media bridging
- Global carrier reliability
- Real-time audio processing
- AI conversation
- Voice synthesis
🔗 Step 3 – Attach the Scenario to Your Phone Number
In the Callr dashboard:
- Go to your phone numbers.
- Select the number.
- Attach the scenario you created.
Your number is now connected to the ElevenLabs AI agent.
🧩 Optional – Add Fallback or Business Logic
Because routing happens inside Callr, you can add:
- Time-based routing (business hours vs after hours)
- Failover to a human agent if SIP fails
- Geographic routing
- Call recording (if compliant in your jurisdiction)
- Pre-call IVR before sending to AI
Example with fallback and call recording:
branches:
inbound-call:
actions:
- action: startRecording@v1
- action: dial@v1
params:
targets:
- number: sip:<agent-id>@sip.elevenlabs.io;transport=tls
timeout: 20
# this PSTN number will be called if ElevenLabs fails to answer the call
- number: '+33199001234'
timeout: 60
result: $dial
- if: '!$dial.ok'
action: say@v2
params:
what: "Sorry, we are unable to connect you at the moment."This keeps telephony logic inside Callr and AI logic inside ElevenLabs.
🚀 Why This Architecture Works Well
- Own and manage phone numbers worldwide
- Carrier-grade voice quality
- Global PSTN connectivity
- High availability
- Regulatory compliance
- High-quality, natural voice synthesis
- Conversational AI orchestration
- Real-time streaming speech
- Flexible agent configuration
- Rapid voice iteration
Each platform focuses on its core expertise.
Updated 1 day ago
