A Czech number for your Vapi assistant
Vapi's free numbers are US only. With a BYO SIP trunk you can put a real Czech number from volai in front of it: callers dial a Prague or Brno number and your Vapi assistant answers.
1Get a number at volai
Sign up at volai.cz, top up your credit and pick a Czech number in the portal (Numbers) or through the API. In the portal every number has a “Bring your own agent” guide with a Vapi tab that shows all the values below already filled in.
2Create a BYO SIP trunk in Vapi
In Vapi, create a BYO (bring your own) SIP trunk and add our signalling range 81.31.45.0/24 to its allowed addresses (gateways). Vapi assigns the trunk an ID (credentialId), which you need in the next step. Then import your volai number to the trunk in Vapi and assign an assistant to it.
3Route the volai number to Vapi
Switch the number to SIP mode and set the destination to sip:<your number>@<credentialId>.sip.vapi.ai. A bare sip.vapi.ai only works for Vapi's native numbers, not for a number from us. Vapi answers a call without login with a 401 challenge and accepts any credentials, so also fill in sipUsername and sipPassword (in the portal, the PBX username and password fields).
curl -X PATCH "https://volai.cz/v1/numbers/+420601234567" \
-H "Authorization: Bearer vk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"routing": {
"mode": "sip",
"sipUri": "sip:+420601234567@YOUR_CREDENTIAL_ID.sip.vapi.ai",
"sipUsername": "volai",
"sipPassword": "any-password"
}}'4Call the number and check the status
Call the Czech number from a mobile phone. Your Vapi assistant should answer and the call shows up as inbound in the volai call history. If the caller hears that the number does not exist, check the credentialId in the address and the login fields.
5Outbound calls via relay (not yet verified with Vapi)
For the outbound direction, fetch the outbound trunk details from GET /v1/numbers/{e164}/sip and create a relay connection with POST /v1/relay right before the call. Platforms that dial a full SIP URI use the sipUri from the response (in Vapi, the customer.sipUri field). We have verified this direction live only with ElevenLabs. If it doesn't work with Vapi, contact support.
curl -X POST https://volai.cz/v1/relay \
-H "Authorization: Bearer vk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"to": "+420777123456", "from": "+420601234567"}'What you can do with it
Your Vapi assistant on a Czech number
Your prompt, tools and voice stay in Vapi. Callers dial a regular Czech number instead of a US one, and you get call history, credit and a CZK invoice in one place.
A number you keep
The number is yours whatever platform runs behind it today. Switch it to ElevenLabs, your own PBX or volai's built-in agent by changing one SIP address.
Vapi for inbound, volai for campaigns
On the same account you can keep inbound calls on Vapi and run outbound campaigns from a contact list through volai's outbound tasks.
Frequently asked questions
- How much does it cost?
- You pay us only for call minutes on the volai line: inbound 0.50 CZK/min (~EUR 0.02), outbound 0.92 CZK/min (~EUR 0.04), plus the monthly number fee. The agent surcharge (2.50 CZK/min (~EUR 0.10)) does not apply to your own platform. You pay Vapi separately under its own pricing.
- Why do callers hear that the number does not exist?
- Most often the address uses a bare
sip.vapi.aiinstead of<credentialId>.sip.vapi.ai, or the login fields are empty. Vapi rejects a call without login with a 401 challenge and the carrier reports that to the caller as a non-existent number. - What username and password should I enter?
- Anything. Vapi does not check them on a BYO trunk, the challenge only confirms that the call can answer it. What matters is the correct address and our IP range in the trunk's gateways.
- Can Vapi also make outbound calls from the Czech number?
- The principle is the same as with ElevenLabs (a relay connection before each call), but with Vapi we have so far verified only the inbound direction. Make a test call before you build a campaign on it, and contact support if you get stuck.