Connect to ElevenLabs

Route calls from a Callr phone number to an ElevenLabs Agent over SIP.

📘

Overview

Calls to your Callr number are routed over SIP to an ElevenLabs Agent. Callr handles the phone number, carrier connectivity and call routing. ElevenLabs handles speech recognition, the conversation and speech synthesis.

How it works

  1. A caller dials your Callr number.
  2. Your Callr Actions scenario uses dial@v2 to send the call to sip.rtc.elevenlabs.io over TLS, addressed to your number.
  3. ElevenLabs matches the number in the SIP URI with a number imported in your ElevenLabs account, and hands the call to the agent assigned to it.
  4. Audio flows between the caller and the agent until one side hangs up.

Prerequisites

  • A Callr account, a Callr phone number and a Callr Actions scenario
  • An ElevenLabs account with an agent configured (voice, prompt, tools)

Step 1 – Import your Callr number in ElevenLabs

In ElevenLabs, open Phone Numbers, click Import number, then From SIP Trunk.

FieldValue
LabelAny name, for example Callr
Phone NumberYour Callr number in E.164 format, with the +, for example +33199001234
Media Encryption (inbound)Required. Callr sends TLS signaling with SRTP media on port 5061
Allowed NumbersLeave empty
Allowed Source IP AddressesLeave empty for your first test
Remote DomainsLeave empty
AuthenticationLeave empty
Outbound settingsLeave empty. They are used only for calls ElevenLabs places to a trunk, such as transfers

Click Import.

🚧

The number must match exactly

ElevenLabs routes the call on the user part of the SIP URI. +33199001234 in the URI only matches +33199001234 in ElevenLabs: keep the + on both sides.

Step 2 – Assign your agent

Select the imported number, click Assign Agent, and choose your agent.

Step 3 – Create the Callr scenario

description: Route inbound calls to an ElevenLabs agent

compat:
  version: "2025-09-01"

defaults:
  autoAnswer: false

branches:
  inbound-call:
    actions:
      - action: dial@v2
        params:
          targets:
            - number: sip:[email protected]:5061;transport=tls
              timeout: 60

Replace +33199001234 with the number you imported in Step 1. Port 5061 with transport=tls encrypts the signaling, and media is encrypted with SRTP.

Step 4 – Attach the scenario to your number

In the Callr Console, open your phone number and attach the scenario.

Step 5 – Test

Call your Callr number, then check that:

  • the Live Debugger shows dial@v2 with the status bridged;
  • the call appears in the agent's conversation history in ElevenLabs, with its Phone Call tab.

Secure the trunk

Once the test call works, restrict who can send calls to your imported number: in its inbound settings, set Allowed Source IP Addresses to the Callr SIP addresses listed in SIP Connectivity for your region. Make a new test call after the change.

Add a fallback

Routing stays in Callr, so you can add business hours, an IVR before the agent, recording, or a fallback to a human when the agent does not answer:

compat:
  version: "2025-09-01"

branches:
  inbound-call:
    actions:
      - action: startRecording@v2

      - action: dial@v2
        params:
          targets:
            - number: sip:[email protected]:5061;transport=tls
              timeout: 20
            # called if ElevenLabs does not answer within 20 seconds
            - number: "+33199005678"
              timeout: 60
        result: $dial

      - if: "!$dial.ok"
        action: play@v3
        params:
          tts:
            text: Sorry, we are unable to connect you at the moment.

Call recording must comply with the rules of your jurisdiction.

Troubleshooting

SymptomLikely causeFix
404 Not Found or the call is refusedThe number in the SIP URI does not match an imported numberUse the exact number imported in ElevenLabs, with the same +
The call connects, then no audio or one-way audioMedia encryption mismatchSet Media Encryption to Required with port 5061, or to Allowed while you investigate
403 ForbiddenSource IP or authentication rules on the imported numberCheck Allowed Source IP Addresses and leave Authentication empty
The call is rejected when several people callConcurrent call limit of your ElevenLabs planRaise the limit, or enable call queueing for the agent

See ElevenLabs' SIP trunking guide for every inbound setting.


Did this page help you?