Gesprekken plaatsen
Je PBX stuurt een SIP INVITE naar het SIP-domein van de trunk om een gesprek te plaatsen. Bird controleert het verzoek, routeert het naar een carrier en stuurt de audio door. Deze pagina behandelt de vereisten, verzoek-velden, authenticatie en kosten.
Voordat je een gesprek plaatst
Vier dingen moeten klaar zijn, in willekeurige volgorde, en drie ervan stel je zelf in:
- Een trunk die je verkeer accepteert. Maak een SIP-trunk aan en schakel uitgaand bellen in. Voeg de IP-bereiken van je apparatuur toe, een toegestane API-sleutel, of beide. Clients die geen langlevend geheim kunnen bewaren, kunnen een sessiereferentie gebruiken.
- Een geverifieerd beller-ID. Registreer het nummer dat je presenteert en voltooi de verificatieoproep. Zo bewijst een werkruimte dat ze eigenaar is van de nummers die ze presenteert. Verificatie garandeert geen end-to-end-bezorging van de CLI of verbinding van het gesprek wanneer de CLI geen nummer is dat via Bird is verkregen: zie de disclaimer over CLI-verificatie en -bezorging.
- Het bestemmingsland ingeschakeld. Schakel de landen die je bedient in op de pagina Destinations.
- Routering gekoppeld aan je werkruimte. Bird stelt dit voor je in en bepaalt welke carriers welke bestemmingen bedienen. Zolang dit niet actief is, worden gesprekken geweigerd met routing_not_configured, een van de redenen die Geweigerde gesprekken behandelt.
Wat Bird verwacht in de INVITE
Stuur het verzoek naar het SIP-domein van je trunk op een van de ondersteunde poorten. Twee headers bevatten alles wat Bird nodig heeft:
| Header | Wat Bird ermee doet |
|---|---|
| To | Het nummer dat wordt gebeld. Bird leest het land af om een carrier te kiezen en het gesprek te prijzen |
| From | Het nummer dat je als beller presenteert. Het moet een geverifieerd beller-ID in deze werkruimte zijn |
Gebruik volledige internationale nummers in E.164-formaat, een voorloop-+ gevolgd door de landcode en het nationale nummer, in beide headers. Dat is het formaat dat Bird vastlegt bij het gesprek en dat de bestemmingsmatching verwacht.
Afgezien van die twee headers is dit een gewoon SIP-gesprek, zonder aangepaste headers in beide richtingen.
Elk gesprek authenticeren
Wat een gesprek doorloopt hangt af van hoe de trunk is geopend:
- Alleen IP-allowlist. Eén verzoek. Bird vergelijkt het bronadres met de lijst en routeert het gesprek, zonder challenge om te beantwoorden.
- Alleen toegestane API-sleutels. Bird vraagt het gesprek eerst om een wachtwoord, via de SIP Digest-uitwisseling.
- Beide. Het bronadres wordt gecontroleerd voordat Bird überhaupt een challenge stuurt, dus een gesprek vanaf een niet-vermeld adres wordt geweigerd, ongeacht de meegestuurde referenties.
- Sessiereferenties aan. Bird daagt het gesprek uit ongeacht de herkomst, zelfs vanaf een adres dat niet op de allowlist staat, en een referentie die minuten eerder is uitgegeven beantwoordt de challenge. Apparatuur die al is toegelaten via de allowlist op een trunk zonder toegestane sleutels blijft verbinden zonder challenge.
Wanneer de trunk toegestane API-sleutels heeft, antwoordt je telefoonsysteem met een hash van het API-sleutelgeheim in plaats van het geheim zelf. Dat is wat SIP Digest-authenticatie doet:
- Je PBX stuurt de INVITE.
- Bird beantwoordt 407 Proxy Authentication Required met één challenge-regel per algoritme dat de trunk aanbiedt, standaard SHA-256 en dan MD5.
- Je PBX stuurt de INVITE opnieuw met een Proxy-Authorization-header berekend met gebruikersnaam bird en het geheim van de API-sleutel als wachtwoord.
- Bird verifieert het antwoord en gaat verder met routeren.
Een preventieve Proxy-Authorization-header wordt vóór de challenge verstuurd, dus je apparatuur moet een algoritme kiezen dat de trunk aanbiedt. Als de trunk ook een IP-allowlist heeft, moet het verzoek nog steeds van een vermeld adres komen.
Bird beantwoordt een mislukte handshake op de SIP-laag, dus de poging wordt afgewezen voordat het platform een gespreksrecord aanmaakt. Als je gesprekken helemaal niet in het gesprekslogboek verschijnen, controleer dan de referenties in plaats van de routering.
Gespreksattestatie
Gesprekken naar de Verenigde Staten en Frankrijk bevatten STIR/SHAKEN-attestatie. Carriers gebruiken deze handtekening bij het labelen van gesprekken. Bird past standaard niveau B toe zonder extra configuratie. Neem contact op met support om niveau A aan te vragen.
Wanneer een gesprek wordt geweigerd
Bird controleert het beller-ID, de bestemming, limieten en het walletsaldo voordat een carrier wordt gebeld. Een weigering bereikt je telefoonsysteem als SIP 503; de specifieke oorzaak staat op het geauthenticeerde gespreksrecord. Open het gesprek in het gesprekslogboek, of bekijk geweigerde gesprekken voor elke reden en oplossing.
Los de vastgelegde oorzaak op voordat je het opnieuw probeert. calls_per_second_exceeded gaat bijvoorbeeld door totdat je het beltempo verlaagt.
Noodoproepen worden niet doorgeleid
Bird Voice leidt geen oproepen naar hulpdiensten door. Een oproep naar 112, 911, 999 of elk ander alarmnummer wordt geweigerd, op elke trunk, in elk land. Je telefoonsysteem moet hulpdiensten via een andere route bereiken.
Dit gedrag hangt niet af van je abonnement, saldo of bestemmingen. Configureer je telefoonsysteem om noodoproepen te routeren via een dienst die ze ondersteunt, zoals een lokale PSTN-lijn, on-premises gateway of een andere provider. Test die route. Bird retourneert 503 voor een geweigerde noodoproep, zodat een telefoonsysteem met een alternatieve route in het kiesplan die kan proberen.
Hulpdiensten zijn afhankelijk van de geregistreerde locatie van de beller, die Bird niet opslaat voor een trunk. Vertrouw niet op een Bird-route voor noodoproepen.
Kosten en facturatie
Voice is prepaid vanuit de wallet van je organisatie, net als de andere kanalen:
- Factureerbare tijd loopt van beantwoording tot einde, ongeacht hoe lang het gesprek eerst overgaat. Het gespreksrecord toont dit naast Total duration, die loopt vanaf het moment dat Bird het gesprek ontving.
- Het tarief hangt af van het bestemmingsland. Je tariefkaart prijst elk land in de valuta van de wallet. Een tarief definieert een minimale gefactureerde tijd en het increment dat na dat minimum wordt gebruikt. Een tarief met een minimum van één minuut en increments van zes seconden factureert een gesprek van 10 seconden bijvoorbeeld als één minuut.
- De wallet wordt gecontroleerd voordat de carrier wordt gebeld. Een gesprek dat je saldo niet dekt, wordt vooraf geweigerd met insufficient_balance in plaats van achteraf in rekening gebracht. Houd een buffer aan, of schakel automatische opwaarderingen in.
- Er geldt een dagelijkse spraaklimiet. Als die is bereikt, worden gesprekken geweigerd met daily_spend_exceeded totdat de volgende UTC-dag begint. Het bedrag hangt af van je abonnement.
- Kosten verschijnen op het gesprek zodra het is getarifeerd, op volledige precisie, exclusief btw.
Om de totale uitgaven over gesprekken te berekenen, exporteer je de gefilterde gesprekslijst als CSV vanuit de pagina Calls, of bekijk je je facturen en gebruik.
Volgende stappen
| Pagina | Wat het behandelt |
|---|---|
| Gesprekslogboek | Bekijken, filteren en exporteren van je gespreksrecords |
| Voice-events | Gespreksresultaten naar je eigen systemen laten pushen |
| Betaalmethoden & wallet | Opwaarderen, automatische opwaarderingen en hoe de wallet wordt afgeschreven |
Gerelateerde bronnen
Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.