Skip to content
SIP trunk

A Czech number for your own ElevenLabs agent

Your own ElevenLabs Conversational AI agent on a real Czech number - inbound and outbound calls over SIP, with no agent surcharge.

Don't have a number yet? Compare the ways to get a Czech or Slovak number.

1Route inbound calls to ElevenLabs

Switch your volai number into SIP mode and set the destination to the address ElevenLabs listens on for inbound calls (sip:<your number>@sip.rtc.elevenlabs.io) - ElevenLabs's own SIP domain, not ours.

bash
curl -X PATCH "https://volai.cz/v1/numbers/+420601234567" \
  -H "Authorization: Bearer vk_TVUJ_KLIC" \
  -H "Content-Type: application/json" \
  -d '{"routing": {"mode": "sip", "sipUri": "sip:+420601234567@sip.rtc.elevenlabs.io"}}'

2Register the number in ElevenLabs as a SIP trunk

In ElevenLabs (Settings → Phone Numbers → Import → SIP trunk), register the same number with an inbound_trunk_config - put our signalling range (81.31.45.0/24) into allowed_addresses. The universal 0.0.0.0/0 lets an INVITE in from anywhere, and since the import carries no credentials, the allowlist is the only check.

json
{
  "provider": "sip_trunk",
  "phone_number": "+420601234567",
  "label": "volai cislo",
  "inbound_trunk_config": {
    "allowed_addresses": ["81.31.45.0/24"],
    "media_encryption": "allowed"
  }
}

3Fetch your line's SIP credentials

For the outbound direction you need the number's login details. The GET /v1/numbers/{e164}/sip response returns server (softphone registration, today sip.volai.cz) and outboundTrunkAddress (the platform's outbound trunk address, today sip.volai.cz) separately - ElevenLabs needs the latter, see the next step.

bash
curl "https://volai.cz/v1/numbers/+420601234567/sip" \
  -H "Authorization: Bearer vk_TVUJ_KLIC"

4Configure the outbound trunk in ElevenLabs

On your number in ElevenLabs (Settings → Phone Numbers → your number → Outbound calling), set outbound_trunk_config with the details from the previous step - `outboundTrunkAddress` (NOT server) as address, username and password as credentials. The outbound trunk address must be exactly this value. With a different address (such as server) the call is not routed on the network and the platform reports 1011 sip request timed out, leaving no trace in the call history.

json
{
  "outbound_trunk_config": {
    "address": "sip.volai.cz",
    "transport": "tcp",
    "media_encryption": "allowed",
    "credentials": {
      "username": "123456",
      "password": "a1b2c3d4e5f6"
    }
  }
}

5Create a relay connection before the call, dial the sipName

Most voice AI platforms (ElevenLabs included) can't register a phone line as a permanent SIP client - they only send an authenticated call. So right before the call, create a short-lived relay connection and give ElevenLabs the bare sipName from the response (not the full sipUri) as to_number in the ElevenLabs API /v1/convai/sip-trunk/outbound-call - otherwise ElevenLabs rejects the call with a format error. The called party's display shows your volai number if the number has its own relay names (otherwise it shows volai's number - contact support); the minutes are billed like a regular outbound call, with no agent surcharge.

bash
curl -X POST https://volai.cz/v1/relay \
  -H "Authorization: Bearer vk_TVUJ_KLIC" \
  -H "Content-Type: application/json" \
  -d '{"to": "+420777123456", "from": "+420601234567"}'

What you can do with it

Your own agent on a real Czech number

ElevenLabs Conversational AI in your own workspace, with your own prompt, voice, and tools - but on a portable Czech number, with call history, credit, and a CZK invoice in one portal.

Switch platforms without losing your number

The number stays yours regardless of whether ElevenLabs, Vapi, Retell, or your own Asterisk sits behind it today - just point the SIP routing at a different address.

Your own agent for outbound, the built-in one for reception

Combine both worlds on the same account: outbound reminders and campaigns through your own ElevenLabs agent with no surcharge, inbound reception on volai's built-in agent with automatic transcripts.

Frequently asked questions

Do I pay the agent surcharge with my own ElevenLabs agent too?
No. The agent surcharge (2.50 CZK/min (~EUR 0.10)) only applies to volai's built-in agent. With your own agent you pay the same as a SIP client - just the call minutes on your volai line (0.92 CZK/min (~EUR 0.04) outbound), plus your own separate ElevenLabs account.
ElevenLabs says 1011 sip request timed out - what now?
The outbound trunk's outbound_trunk_config.address is set to server instead of outboundTrunkAddress. The outbound trunk address must be exactly this value - with a different address the call is not routed on the network, and nothing is left in the call history. The fix is one value in ElevenLabs, not a new call.
Why can't ElevenLabs register on the number permanently, like a normal SIP client?
Most voice AI platforms don't support permanent SIP registration - they only send a one-off authenticated call. The phone network won't route such a call straight to the destination number, so it goes through a short-lived relay connection (POST /v1/relay) instead.
What does the ElevenLabs SIP address format error mean?
ElevenLabs rejects a full SIP URI and wants a bare name instead - that's why POST /v1/relay returns sipName and sipUri SEPARATELY. Only sipName belongs in ElevenLabs's to_number.
How long does a relay connection last?
It waits up to 120 seconds for the first call (configurable 15 to 300), and the call itself can run for up to 15 minutes. At most one active connection per number, at most two per account, and each one is used exactly once.
Does this work with a platform other than ElevenLabs, like Vapi or Retell?
Same principle - find where your platform expects the inbound SIP address and where to enter the outbound trunk credentials. We have verified ElevenLabs live (both directions) and Vapi (inbound); with another platform, confirm with a test call and contact support if you get stuck. A platform-independent walkthrough is on /en/docs/bring-your-own-agent.

Try it now

Sign up and get 50 CZK in credit on top.