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.
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.
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 - allow 0.0.0.0/0, since the inbound call originates from our side, not a fixed IP.
{
"provider": "sip_trunk",
"phone_number": "+420601234567",
"label": "volai cislo",
"inbound_trunk_config": {
"allowed_addresses": ["0.0.0.0/0"],
"media_encryption": "allowed"
}
}3Fetch your line's SIP credentials
For the outbound direction you need the number's login details - server, username, and password (the same ones a regular softphone would get). The server comes back in the GET /v1/numbers/{e164}/sip response - today that's sip.volai.cz.
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 - the server as address, username and password as credentials.
{
"outbound_trunk_config": {
"address": "sip.volai.cz",
"transport": "udp",
"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, and the minutes are billed like a regular outbound call, with no agent surcharge.
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.
- 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/relayreturnssipNameandsipUriSEPARATELY. OnlysipNamebelongs in ElevenLabs'sto_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?
- Yes, same principle - find where your platform expects the inbound SIP address and where to enter the outbound trunk credentials. A platform-independent walkthrough is on
/en/docs/bring-your-own-agent.