Naar de inhoud springen

Handleidingen

SIP

Wanneer de spraakagent en eenvoudig doorschakelen niet volstaan en u een nummer wilt koppelen aan uw eigen softphone of telefooncentrale (PBX), hebt u een SIP-trunkprovider nodig - volai is er een. Deze pagina is een stapsgewijze handleiding.

1Inkomende gesprekken naar uw SIP-server

Stel de routering van het nummer in op mode: "sip" en geef het uw sipUri - vandaar gaat het gesprek rechtstreeks naar u, niet naar onze agent of doorschakeling:

bash
curl -X PATCH "https://volai.eu/v1/numbers/+420601234567" \
  -H "Authorization: Bearer vk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"routing": {"mode": "sip", "sipUri": "sip:reception@your-server.com"}}'

Alleen de inkomende minuut wordt gefactureerd - 0,50 kr/min (≈ 0,02 EUR), geen extra agent - de volledige vorm van het verzoek en de andere routeringsmodi staan in de REST API-referentie.

Authenticatie bij uw PBX

Wij sturen het gesprek eerst als niet-geauthenticeerde INVITE naar uw SIP-server op sipUri. Een PBX die daarop antwoordt met een inlog-uitdaging (401/407) en het gesprek zonder meer weigert, krijgt het in deze vorm nooit - er is niemand die de uitdaging beantwoordt. Voeg daarom ook sipUsername en sipPassword toe aan de routering - als u beide invult, beantwoordt ons netwerk de uitdaging (SIP digest) en belt het het gevraagde nummer. Geverifieerd met een live gesprek naar het native SIP-nummer van Vapi, dat gegevens accepteert ongeacht de inhoud. Of ook uw eigen PBX het gesprek verbindt, hangt van haar af - ze moet de INVITE echt met een uitdaging beantwoorden en de gebruikersnaam en het wachtwoord accepteren die u opgeeft; dat garanderen wij niet voor elke PBX (in tests mislukte het bijvoorbeeld tegen het SIP-domein van Twilio). Zonder sipUsername en sipPassword blijft de routering in de huidige niet-geauthenticeerde vorm. Zo voegt u de gegevens toe:

bash
curl -X PATCH "https://volai.eu/v1/numbers/+420601234567" \
  -H "Authorization: Bearer vk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"routing": {"mode": "sip", "sipUri": "sip:reception@your-server.com", "sipUsername": "reception", "sipPassword": "supersecret123"}}'

Het gevraagde nummer sturen wij altijd precies zoals het in sipUri vóór het @-teken staat - wij voegen nooit een prefix of voorloopnul toe en verwijderen er geen, dus de doel-PBX moet precies verwerken wat u daar invult.

Noch sipUsername noch sipPassword mag een dubbele punt, @-teken, witruimte, aanhalingsteken of backslash bevatten, en elk mag maximaal 64 tekens lang zijn.

Slechts één van de twee invullen wordt geweigerd - de API geeft terug "Please fill in both username and password, or leave both empty."

Een dubbele punt in het gebruikersdeel van sipUri (vóór het @-teken) en een poort in de host (na de dubbele punt achter de server, bijv. :5060) worden allebei nog niet ondersteund samen met sipUsername en sipPassword - beide geven dezelfde harde fout. Zonder gegevens blijven beide ongewijzigd werken.

Uitzondering: een Vapi BYO SIP-trunk (adres <credentialId>.sip.vapi.ai, of <credentialId>.sip.eu.vapi.ai voor een organisatie in de EU-regio) accepteert geen gegevens. Vapi herkent onze gesprekken aan het IP in de gateways van de trunk, en als sipUsername en sipPassword zijn ingevuld, wordt het gesprek nooit verbonden, dus de API weigert die routering met de validatiecode. Het native SIP-nummer van Vapi (sip:<name>@sip.vapi.ai) wordt hierdoor niet geraakt.

Wie de gebruikersnaam en het wachtwoord nog meer ziet

De gebruikersnaam en het wachtwoord reizen met het gesprek ons netwerk in en blijven bewaard in de routeringsgegevens - u bent niet de enige die ze kan zien. Maak op uw PBX een account aan dat speciaal voor ons is bedoeld, niet uw hoofdbeheerderswachtwoord.

Gedeeltelijke updates: een weggelaten veld behoudt zijn opgeslagen waarde

Als uw PATCH alleen sipUri stuurt en sipUsername en sipPassword weglaat, blijven beide velden ongewijzigd - u hoeft ze niet bij elke wijziging van sipUri opnieuw te sturen. Een veld dat helemaal uit de body ontbreekt, behoudt altijd zijn opgeslagen waarde; de authenticatie wordt alleen gewist met een expliciete lege tekenreeks in BEIDE velden. De enige uitzondering is het wijzigen van de server: als u ook het deel na het @-teken wijzigt, moet u het wachtwoord opnieuw sturen - wij sturen nooit een opgeslagen wachtwoord naar een andere server dan die waarvoor u het hebt ingevoerd. Controleer de huidige status met het veld hasSipPassword in het antwoord.

Gesprek niet verbonden? Sta ons toe via IP

Sipa-authenticatie werkt alleen tegen een doel dat de INVITE uitdaagt en de gegevens accepteert (geverifieerd met het native SIP-nummer van Vapi) - anders komt het gesprek niet door, of u nu gegevens invult of niet. Onze signalering komt uit het bereik 81.31.45.0/24, meestal van 81.31.45.51 en 81.31.45.56. Sta dat hele bereik toe op uw PBX en u hebt helemaal geen gegevens nodig - ze herkent het gesprek aan het bronadres, niet aan gebruikersnaam en wachtwoord.

2SIP-gegevens voor een nummer

Haal de gegevens van de lijn op met één aanroep:

bash
curl "https://volai.eu/v1/numbers/+420601234567/sip" \
  -H "Authorization: Bearer vk_YOUR_KEY"
json
{
  "server": "sip.volai.cz",
  "username": "123456",
  "password": "a1b2c3d4e5f6",
  "outboundTrunkAddress": "sip.volai.cz",
  "port": 5060,
  "transport": "tcp",
  "inboundSignallingCidrs": ["81.31.45.0/24"]
}

Instellen in een softphone (Zoiper, Linphone)

Beide apps vragen in wezen hetzelfde, alleen onder andere namen - zoek naar "Account toevoegen" / "SIP-account":

VeldWaarde
Server / Domeinsip.volai.cz
Gebruikersnaamuit het antwoord hierboven (username)
Wachtwoorduit het antwoord hierboven (password)
TransportTCP
Poort5060 (standaard SIP-poort - laat leeg als het veld een lege optie biedt)

Vraagt uw client om een realm in te vullen?

Laat het veld leeg - de meeste clients halen de realm uit de uitdaging van de server. In het logboek van uw client kan een technisch domein van ons netwerk staan, dat is normaal. Vereist uw client een realm als verplicht veld, neem dan contact op met de support.

Na het opslaan hoort de softphone zich te registreren (een statuspictogram "online"/"geregistreerd") en gaan gesprekken naar het nummer rechtstreeks daarin overgaan.

3Uitgaande gesprekken vanuit een SIP-client

Zodra de softphone is geregistreerd, kan ze zelf via deze lijn uitbellen - daarvoor hoeft u geen van onze API's aan te roepen, u belt rechtstreeks vanuit de client zoals vanaf een gewone telefoonlijn.

De minuten gaan van uw volai-tegoed af

Uitgaande gesprekken via een SIP-client worden tegen hetzelfde tarief gefactureerd als een uitgaand gesprek via de API - 0,92 kr/min (≈ 0,04 EUR) en afgeschreven van uw tegoed - niet van een apart SIP-account. De tarieven zijn excl. btw, zoals de hele prijslijst.

De verbinding loopt rechtstreeks tussen uw client en de server sip.volai.cz, niet via onze API, dus minuten kunnen niet precies op het moment van kiezen worden gereserveerd. Een gesprek dat rechtstreeks vanuit een SIP-client is gekozen, wordt achteraf op basis van de gespreksgegevens van het netwerk gefactureerd - op zijn vroegst 10 minuten na afloop, meestal binnen een half uur. Het gesprek verschijnt op het moment van kiezen niet op uw tegoed. Dagelijkse gesprekslimieten en tegoedcontroles op het moment van kiezen gelden niet voor deze gesprekken - ze bewaken alleen API-gesprekken. Uw tegoed kan dus onder nul zakken. Zodra uw tegoed nul bereikt, worden nieuwe betaalde API-/MCP-acties geweigerd (voor een gesprek is een saldo van minimaal 5 CZK nodig). Komt het saldo onder nul, dan wordt de SIP-toegang van de lijn binnen enkele minuten uitgeschakeld, wordt de doorschakeling losgekoppeld en ontvangt u een e-mail; nadat u hebt opgewaardeerd tot minstens 5 CZK, wordt alles vanzelf hervat en blijft het wachtwoord hetzelfde. Wordt de schuld niet binnen een week voldaan, dan wordt het nummer weer vrijgegeven in de voorraad (waarmee de SIP-toegang definitief eindigt). Houd uw tegoed dus tijdig in de gaten, niet pas als het al op nul staat.

Hebt u een AI-spraakagent, geen softphone?

Deze stap gaat uit van een client die zich bij de lijn kan registreren (SIP REGISTER) - een softphone, een PBX. Een platform dat slechts één keer een geauthenticeerd gesprek stuurt zonder blijvende registratie (typisch AI-spraakagents zoals ElevenLabs) heeft een andere aanpak nodig - zie Breng uw eigen agent mee.

Neem het adres van de uitgaande trunk van het platform uit het veld outboundTrunkAddress, niet uit server hierboven - alle details staan op die pagina.

4Limieten

  • Eén registratie per lijn - één set gegevens ondersteunt op een bepaald moment één geregistreerd apparaat. Als u met een tweede client inlogt, verliest de eerste hoogstwaarschijnlijk zijn registratie - reken niet op meerdere apparaten tegelijk op één lijn.
  • Uitgaand vanaf uw eigen agent ja, volledige trunk-peering nee - met de gegevens van de lijn registreert UW client zich bij ONS als telefoon. Uitgaande gesprekken vanaf uw eigen spraakagent (ElevenLabs of een ander platform) werken vandaag wél - via de relay, zie Breng uw eigen agent mee. U kunt uw PBX echter nog niet als peer-carrier met eigen routering koppelen voor INKOMENDE gesprekken van buiten - gebruik daarvoor forward routering naar het nummer van uw PBX.
  • Alleen spraak - geen video of andere SIP-extensies.