Skip to main content

ElevenLabs Integration

This guide will walk you through connecting your Bandwidth phone numbers to ElevenLabs Agents over SIP trunking, so a real PSTN caller can talk to an ElevenLabs voice agent. You already have Bandwidth Voice; ElevenLabs is the add-on that answers and drives the conversation.

Unlike our Pipecat and Cartesia integrations, this one is configuration only — there is no application to write or host. You point a Bandwidth number at ElevenLabs for inbound calls, set up SIP credentials so ElevenLabs can place outbound calls through Bandwidth, and register the trunk on the ElevenLabs side.

info

This integration uses SIP trunking on Bandwidth's Universal Platform, not Programmable Voice or Media Streaming. Signaling runs over UDP or TLS and, once a call is established, RTP media flows over UDP directly between Bandwidth and ElevenLabs — Bandwidth is the carrier, ElevenLabs is the voice-agent endpoint.

What you'll need

  • A Bandwidth Universal Platform account with:
    • SIP trunking and SIP authentication (sip-auth) enabled on your account
    • At least one phone number
    • Administrator access to the Bandwidth App (to create Voice Configuration Packages and SIP credentials)
  • An ElevenLabs account with an Agent you want to answer calls

How it works

Two independent paths make up the integration: inbound (a caller reaches your ElevenLabs agent) and outbound (your ElevenLabs agent places a call through Bandwidth).

Inbound calls are routed by a Bandwidth Voice Configuration Package to ElevenLabs' SIP endpoint:

Outbound calls originate from ElevenLabs, which authenticates to Bandwidth's SIP realm using digest credentials:

Configure inbound calls (in Bandwidth)

To send calls that arrive on your Bandwidth number to your ElevenLabs agent, create a Voice Configuration Package that routes the number to ElevenLabs' SIP endpoint.

  1. In the Bandwidth App, go to Service Management → Voice Configuration and click Create New to start a new Voice Configuration Package. For a full walkthrough of this screen, see the Create a Voice Configuration Package guide.

    • Package Name: a unique name you'll recognize (e.g. elevenlabs-agent).
    • Route type: select Route to Domain Name.
    • FQDN: sip.rtc.elevenlabs.io.
    note

    sip.rtc.elevenlabs.io is ElevenLabs' default SIP endpoint. If ElevenLabs has assigned you a regional or static SIP endpoint, use that FQDN instead — confirm the correct value in the ElevenLabs Bandwidth guide for your account.

  2. Assign the phone number that should reach your agent to this Voice Configuration Package.

That's all Bandwidth needs for inbound. A call to that number now routes to ElevenLabs.

Configure outbound calls (in Bandwidth)

For your ElevenLabs agent to place calls through Bandwidth, ElevenLabs authenticates to a Bandwidth SIP realm using digest credentials. Create the realm and a set of SIP credentials.

  1. In the Bandwidth App, go to Account → SIP Credentials → Manage Realms and click Add to create a realm.

    • Give the realm a name and an optional description.
    • Bandwidth generates the realm's fully-qualified hostname for you. Copy that hostname exactly as it appears in the Bandwidth App — you'll paste it into ElevenLabs as the outbound address. The hostname is an opaque generated value; do not try to reconstruct or reformat it.
  2. Go to Account → SIP Credentials and click Add to create a credential.

    • Enter a Username and Password.
    • Select the realm you created in the previous step.
    • Save. These are the digest credentials ElevenLabs will use to authenticate outbound calls.

Complete setup in ElevenLabs

With Bandwidth configured, import the number into ElevenLabs using its SIP trunking flow. Follow the ElevenLabs Bandwidth guide and supply:

  • Phone number in E.164 format, with a leading + (e.g. +19195551234).
  • Transport: UDP or TLS — this must match the transport your Bandwidth trunk uses.
  • Port: 5060 for UDP or 5061 for TLS.
  • Outbound address: the Bandwidth realm hostname from the previous section — the hostname only, with no sip: prefix.
  • Media encryption: must be matched on both sides (e.g. leave it off for plain UDP/RTP, or enable it consistently with your Bandwidth trunk).
  • SIP credentials: the username and password you created in Bandwidth.
note

If ElevenLabs assigned your account a regional or static SIP endpoint, use that FQDN in your Bandwidth Voice Configuration Package instead of the default sip.rtc.elevenlabs.io, and make sure the two sides agree.

Once the number is imported, assign your Agent to it in the ElevenLabs dashboard. Inbound calls to the number will now be answered by your agent, and the agent can place outbound calls through Bandwidth.

Troubleshooting

SymptomLikely causeWhat to check
Inbound calls don't reach the agentVoice Configuration Package misroutedConfirm the package uses Route to Domain Name with FQDN sip.rtc.elevenlabs.io (or your assigned regional endpoint), and that the number is assigned to that package.
Outbound calls rejected with 403/407SIP credential or realm mismatchVerify the ElevenLabs outbound address matches the Bandwidth realm hostname exactly, and that the username/password match the credential you created against that realm.
Outbound address not accepted by ElevenLabsWrong hostname formatEnter the realm hostname only — no sip: prefix, no port, no reformatting. Copy it verbatim from the Bandwidth App.
Call connects but no audio (one-way or dead air)Transport/port or media-encryption mismatchEnsure transport (UDP/TLS) and port (5060/5061) match on both sides, and that media encryption is configured the same way on Bandwidth and ElevenLabs.
Intermittent routing failuresUsing the wrong SIP endpointIf ElevenLabs assigned you a regional or static endpoint, use that FQDN rather than the default sip.rtc.elevenlabs.io.

FAQ

Do I need to write or host any code? No. This integration is entirely configuration — a Voice Configuration Package and SIP credentials on Bandwidth, and a trunk import on ElevenLabs.

Can one number handle both inbound and outbound? Yes. Inbound routing (the Voice Configuration Package) and outbound authentication (the realm + SIP credentials) are configured independently, and both can apply to the same number.

Why does ElevenLabs need SIP credentials if inbound already works? Inbound routing only tells Bandwidth where to send calls that arrive on your number. For ElevenLabs to originate calls through Bandwidth, it must authenticate to your SIP realm — that's what the credentials are for.

Resources