Handleidingen
Eigen agent
Wilt u in plaats van de ingebouwde agent van volai uw eigen spraakplatform op een volai-nummer aansluiten - ElevenLabs Conversational AI in uw eigen workspace, Vapi, Retell, of gewoon een eigen Asterisk/FreeSWITCH-IVR? Deze pagina beschrijft beide richtingen: inkomende en uitgaande gesprekken. Bij uitgaande gesprekken betaalt u bovendien geen toeslag voor de agent van 2,50 kr/min (≈ 0,10 EUR) - de agent draait (en betaalt) u zelf bij uw eigen platform.
Kort overzicht
Inkomende gesprekken stelt u in door het nummer te routeren naar het SIP-adres van uw platform - geen nieuwe mechanica. Uitgaande gesprekken lopen via een kortstondige relayverbinding, omdat het platform zelf een lijn niet permanent als SIP-client kan registreren.
U heeft nodig: een volai-nummer, een API-sleutel (vk_...) en een account bij uw platform (ElevenLabs, Vapi, een eigen telefooncentrale...).
1Wanneer een eigen agent, wanneer de ingebouwde
Beide wegen lopen via hetzelfde nummer en hetzelfde tegoed - ze verschillen alleen in WIE de gesprekslogica draait en wat dat extra kost:
| Criterium | Ingebouwde agent | Eigen agent |
|---|---|---|
| Wie het gesprek aanstuurt | Wij - één systemPrompt, onze stem en onze ElevenLabs-workspace. | U - elk platform, uw eigen prompt, uw eigen stem, uw eigen tools. |
| Instellen | Eén POST /v1/agents aanroep. | De SIP-gegevens van het nummer + de configuratie van uw platform (deze pagina). |
| Gesprekskosten | 0,92 kr/min (≈ 0,04 EUR) uitgaand, 0,50 kr/min (≈ 0,02 EUR) inkomend | hetzelfde - 0,92 kr/min (≈ 0,04 EUR) uitgaand, 0,50 kr/min (≈ 0,02 EUR) inkomend |
| Toeslag voor de agent | + 2,50 kr/min (≈ 0,10 EUR) | geen - u betaalt alleen de gespreksminuten |
| Transcript, samenvatting, detectie van voicemail | Ja, automatisch. | Nee - dat regelt uw eigen platform (of niet). |
U betaalt geen toeslag voor de agent, maar u krijgt van ons ook niets extra gratis - uw eigen platform (ElevenLabs, Vapi...) betaalt u zelf, tegen de eigen tarieven. Wij rekenen alleen gespreksminuten op de volai-lijn aan, net als bij een SIP-client of de ingebouwde agent. De tarieven zijn exclusief btw, net als de hele prijslijst.
2Inkomende gesprekken naar uw eigen agent
Geen nieuwe mechanica - gewoon de bestaande mode: "sip" -routering (hetzelfde als voor uw eigen softphone, zie SIP) ) met het sipUri van uw platform. Voor een ElevenLabs SIP-trunknummer dat in UW EIGEN workspace is geregistreerd is dat een adres met hetzelfde nummer als uw volai-lijn:
curl -X PATCH "https://volai.cz/v1/numbers/+420601234567" \
-H "Authorization: Bearer vk_UW_SLEUTEL" \
-H "Content-Type: application/json" \
-d '{"routing": {"mode": "sip", "sipUri": "sip:+420601234567@sip.rtc.elevenlabs.io"}}'En in uw ElevenLabs-account (Settings → Phone Numbers → Import → SIP trunk) registreert u dit nummer met inbound_trunk_config:
{
"provider": "sip_trunk",
"phone_number": "+420601234567",
"label": "Mijn eigen agent",
"inbound_trunk_config": {
"allowed_addresses": ["81.31.45.0/24"],
"media_encryption": "allowed"
}
}allowed_addresses hierboven is ons signaleringsbereik (81.31.45.0/24) - veiliger dan het algemene 0.0.0.0/0, dat een INVITE van overal toelaat. Beide laten het gesprek door, maar bij een import zonder inloggegevens is de allowlist de ENIGE controle - gebruik dus het bereik, niet 0.0.0.0/0.
Gebruikt u een ander platform dan ElevenLabs? Hetzelfde principe - zoek bij dat platform het SIP-adres op waarnaar het gesprek voor uw nummer moet worden gestuurd en zet dat in sipUri. Bij Vapi komt hetzelfde bereik in de gateways van de BYO-trunk.
Bij Vapi is het routeringsadres sip:<E164>@<credentialId>.sip.vapi.ai - <credentialId> vindt u bij uw BYO SIP-trunk in Vapi; een organisatie in de EU-regio gebruikt in plaats van sip.vapi.ai het domein sip.eu.vapi.ai. Het kale sip.vapi.ai hoort bij native Vapi-nummers en werkt niet voor een nummer van ons. Laat de gebruikersnaam en het wachtwoord bij de BYO-trunk leeg, Vapi herkent onze gesprekken aan het IP-adres in de gateways.
Voer in de gateways het bereik apart in als IP 81.31.45.0 en netmask 24. Met het standaardmasker 32 zou Vapi maar één adres toelaten en onze gesprekken weigeren.
3Uitgaande gesprekken van uw eigen agent (relay)
Dit is de omgekeerde richting - uw platform belt zelf naar buiten. De meeste spraak-AI-platforms (ook ElevenLabs) kunnen een telefoonlijn echter niet permanent als SIP-client registreren - ze sturen alleen één geauthenticeerd gesprek met de inloggegevens van uw lijn. Het telefoonnetwerk laat zo'n gesprek niet rechtstreeks door naar het doelnummer, daarom leidt u het via een kortstondige relayverbinding:
Waarom relay en niet rechtstreeks bellen
Het doelnummer rechtstreeks via de trunk bellen werkt via geen van beide mogelijke wegen: naar een nummer buiten ons netwerk komt het gesprek helemaal niet tot stand (het platform meldt een mislukking en nergens blijft een spoor achter), en naar een ander volai-nummer in ons netwerk wordt het alleen INTERN als anoniem gesprek doorgeschakeld - het verlaat ons netwerk nooit echt, ook al lijkt het een tot stand gekomen gesprek. Relay is de enige manier om een gesprek echt naar buiten te laten gaan.
1. Stel uw platform in op uw lijn
Haal de SIP-gegevens van uw lijn op:
curl "https://volai.cz/v1/numbers/+420601234567/sip" \
-H "Authorization: Bearer vk_UW_SLEUTEL"{
"server": "sip.volai.cz",
"username": "123456",
"password": "a1b2c3d4e5f6",
"outboundTrunkAddress": "sip.volai.cz",
"port": 5060,
"transport": "tcp",
"inboundSignallingCidrs": ["81.31.45.0/24"]
}Het antwoord bevat server (voor de REGISTER van een softphone, zie SIP) en outboundTrunkAddress APART - ze zijn niet uitwisselbaar.
En stel outboundTrunkAddress - NIET server - in als uitgaande trunk van uw platform. Bij ElevenLabs gaat het om het outbound_trunk_config van het betreffende telefoonnummer (Settings → Phone Numbers → uw nummer → Outbound calling), precies in deze vorm:
{
"outbound_trunk_config": {
"address": "sip.volai.cz",
"transport": "tcp",
"media_encryption": "allowed",
"credentials": {
"username": "123456",
"password": "a1b2c3d4e5f6"
}
}
}Voer precies outboundTrunkAddress in
Het adres van de uitgaande trunk moet precies de waarde van outboundTrunkAddress uit het antwoord zijn - ongeacht of die gelijk is aan server. Een ander adres betekent dat het gesprek in het netwerk niet wordt gerouteerd en het platform meldt dit als 1011 sip request timed out - in de gespreksgeschiedenis blijft er niets van over.
2. Maak een relayverbinding aan
Vlak voor het gesprek (de verbinding heeft een korte levensduur, zie de limieten hieronder) roept u aan:
curl -X POST https://volai.cz/v1/relay \
-H "Authorization: Bearer vk_UW_SLEUTEL" \
-H "Content-Type: application/json" \
-d '{"to": "+420777123456", "from": "+420601234567"}'{
"id": "rl_4f2a91cd",
"sipName": "volai_relay_2",
"sipUri": "sip:volai_relay_2@sip.volai.cz",
"expiresAt": 1756111760000,
"callId": "c_9d4e2b7f"
}Het nummer dat u wilt bellen geeft u aan ONS door in to - het platform ziet het nooit, het krijgt alleen de kale sipName uit het antwoord.
3. Laat uw platform de sipName bellen
De kale naam, niet de volledige SIP-URI
ElevenLabs to_number weigert een volledige SIP-URI met de melding “SipCallTo should be a phone number or SIP user, not a full SIP URI” - daarom geeft het antwoord hierboven sipName (de kale volai_relay_2) en sipUri (de volledige sip:volai_relay_2@sip.volai.cz) APART terug. Alleen de eerste hoort in to_number - nooit de volledige URI.
Bij ElevenLabs betekent dit bellen via /v1/convai/sip-trunk/outbound-call met to_number rechtstreeks ingesteld op de sipName:
{
"agent_id": "agent_...",
"agent_phone_number_id": "phnum_...",
"to_number": "volai_relay_2"
}agent_id vindt u bij uw agent in ElevenLabs, agent_phone_number_id is de phone_number_id van het geïmporteerde nummer - die staat in het antwoord van de import of in de lijst Phone numbers.
Gebruikt u een eigen SIP-client of PBX in plaats van ElevenLabs? Bel dan rechtstreeks de volledige sipUri als een gewoon SIP-gesprek - die beperking geldt alleen voor platforms die een kale naam willen zonder het voorvoegsel sip: .
4. Wat er daarna gebeurt
Het telefoonnetwerk neemt het gesprek aan onder de naam volai_relay_2, schakelt het door naar uw to en stelt het zichtbare nummer van de beller in op uw from - de gebelde ziet op het display uw volai-lijn en niet de interne naam van de relayslot (als het nummer eigen relaynamen heeft - zie Facturering hieronder, anders ziet de gebelde het demonummer van volai). Na afloop van het gesprek komt de lease vrij en worden de minuten aangerekend zoals bij een gewoon uitgaand gesprek - 0,92 kr/min (≈ 0,04 EUR), geen toeslag voor de agent.
Het antwoord op het belverzoek komt pas na de volledige beltijd (gerust tientallen seconden) - dat is geen fout, ook al zou een korte timeout aan uw kant op dat moment als een mislukking overkomen terwijl het gesprek loopt.
4Problemen oplossen
De meest voorkomende meldingen bij een eigen agent en wat u eraan kunt doen:
| Melding | Oorzaak | Oplossing |
|---|---|---|
| 1011 sip request timed out | Het adres van de uitgaande trunk is niet outboundTrunkAddress. | Stel in ElevenLabs outbound_trunk_config.address in op outboundTrunkAddress uit het antwoord met de SIP-gegevens, niet op server. |
| SipCallTo should be a phone number or SIP user, not a full SIP URI | to_number bevat de volledige sipUri in plaats van de kale naam. | In to_number hoort alleen sipName uit het antwoord van POST /v1/relay. |
| Het gesprek eindigt op het platform meteen (bij ElevenLabs failed), bij ons niets | U heeft het telefoonnummer rechtstreeks gebeld, niet via relay. | Maak een relayverbinding aan (POST /v1/relay) en bel de teruggegeven sipName. |
| max auth retry attempts reached for SIP invite | Het platform kwam niet door de aanmelding: ofwel kloppen de gebruikersnaam of het wachtwoord van de uitgaande trunk niet, ofwel kwam het gesprek binnen als telefoonnummer in plaats van als sipName - het netwerk vraagt dan om een nieuwe aanmelding die het platform niet kan doorstaan. | Neem de gebruikersnaam en het wachtwoord exact over uit de SIP-gegevens van het nummer (username, password). Zet in to_number alleen sipName uit POST /v1/relay en start het gesprek via de API (POST /v1/convai/sip-trunk/outbound-call) of de MCP-tool make_outbound_call van ElevenLabs, niet via een formulier dat alleen telefoonnummers accepteert. Een lease wacht op het gesprek slechts ttlSecs (standaard 120 s). |
| 404 from_number_not_owned | from in POST /v1/relay is niet uw eigen volai-nummer. | Vul bij from precies het volai-nummer in waarmee u belt. |
| 400 relay_lease_limit | Op dit nummer (1) of account (2) loopt al een actieve lease. | Wacht tot de lease vrijkomt, of annuleer een ongebruikte (DELETE /v1/relay/{id}). |
| 503 capacity_busy | De gedeelde pool met relayslots is op dit moment vol. | Er wordt niets in rekening gebracht - probeer het zo meteen opnieuw. |
| Inkomend gesprek gaat niet over | Het nummer is niet geïmporteerd in ElevenLabs, allowed_addresses laat ons bereik niet toe, of de routering is in volai niet opgeslagen. | Controleer alle drie de stappen hierboven; als de telefooncentrale om 401 vraagt, vul dan de gebruikersnaam en het wachtwoord bij de routering in. |
| De gebelde ziet het nummer van volai in plaats van het uwe | Het nummer heeft nog geen eigen relaynamen. Die worden direct na de aankoop aangemaakt, deze keer is dat niet gelukt. | Het volgende gesprek herhaalt de aanmaak vanzelf. Ziet de gebelde na een uur nog steeds het nummer van volai, schrijf dan naar de support. |
| Een herhaald gesprek wordt direct geweigerd (SIP 603) | Het platform heeft dezelfde sipName opnieuw gebeld, meestal na een onbeantwoord gesprek. Een lease verbindt maar één gesprek. | Maak vóór elke poging, ook bij een herhaling na een onbeantwoord gesprek, een nieuwe lease aan (POST /v1/relay) en zet het automatisch opnieuw bellen in uw platform uit. |
5Facturering
Een uitgaand gesprek via relay wordt tegen hetzelfde tarief aangerekend als een gewoon uitgaand gesprek - 0,92 kr/min (≈ 0,04 EUR) - zonder enige toeslag voor de agent. De tarieven zijn exclusief btw, net als de hele prijslijst.
Het aantal gelijktijdige gesprekken is beperkt (zie de limieten hieronder): maximaal 1 actief gesprek per nummer van u en maximaal 2 per account tegelijk.
De gebelde ziet uw volai-lijn ALLEEN als het nummer eigen relaynamen (relayNames) heeft - het nummer krijgt ze direct na de aankoop. Zolang het ze niet heeft, valt de lease terug op de gedeelde pool en ziet de gebelde het demonummer van volai. Duurt dat langer dan een uur, schrijf dan naar de support.
6Limieten, quota en beveiliging
Het maximum is 1 actieve lease per nummer van u en maximaal 2 per account - een bewuste beveiliging die voorkomt dat één klant de hele gedeelde pool met relayslots bezet:
| Wat | Waarde |
|---|---|
| Lease wacht op het eerste gesprek (pending) | standaard 120 s, ttlSecs 15 tot 300 s |
| Gesprek loopt (active) | 15 minuten |
| Actieve lease per nummer van u | maximaal 1 |
| Actieve leases per account | maximaal 2 |
| Gebruik van een lease | eenmalig - een tweede gesprek op dezelfde lease wordt geweigerd, ook een herhaling na een onbeantwoord gesprek heeft een nieuwe lease nodig |
- from moet uw eigen volai-nummer zijn - anders
from_number_not_owned. Zonder deze controle zou men zich kunnen voordoen als de lijn van een ander (caller ID spoofing). - Dezelfde poorten als bij een gewoon gesprek - bel-me-niet-lijst (geldt alleen voor gesprekken, niet voor sms), automatische blokkade van 30 dagen na 3 mislukte pogingen naar hetzelfde nummer binnen 24 uur, premium-nummers, bescherming tegen lussen tussen volai-nummers, vergrendeling van het gebelde nummer en de algemene limiet op het aantal gesprekken. Niets hiervan is via relay te omzeilen.
- Volle pool -> 503 capacity_busy - relayslots vormen een gedeeld plafond voor gelijktijdigheid van het HELE platform, niet alleen van uw account. Bij
capacity_busywordt er niets in rekening gebracht, probeer het zo meteen opnieuw. - De volledige REST-referentie (foutcodes,
GET/DELETEbij leases) vindt u in de REST API.
Elke API-fout bevat cause (wie het oplost) en action (wat u moet doen) - zie Foutformaat in de REST API-referentie.
Gerelateerd
MCP-server
Koppel Claude Code, Codex CLI, Codex desktop, Cursor en andere AI-editors.
REST API
Volledige referentie van alle endpoints: nummers, gesprekken, sms, mobiele nummers voor sms, agents en hun concepten, tools, opnames, webhooks, niet-bellen-lijst, relay, account, taken, tegoed, documenten, agenda's en integraties.
Spraakagent
Systeemprompt, tools, overdracht aan een mens, opnames en gestructureerde gespreksgegevens.
SIP
Uw eigen softphone, SIP-gegevens, uitgaande gesprekken via een SIP-client.