Sign inGet started

SIP-clientconfiguratie

Elke SIP-client die een gesprek via een proxy kan opzetten, kan een Bird-trunk gebruiken. Dat geldt voor PBX'en, desktopsoftphones en opdrachtregeltools. Deze pagina koppelt de verbindingsgegevens van de trunk aan veelvoorkomende clientvelden en authenticatie-instellingen.

Wat een client nodig heeft

Vier waarden, allemaal van de trunkpagina:
ClientveldWat je invult
SIP-server, domain, host of proxyHet SIP-domein van de trunk
Poort en transportEen van de ondersteunde poorten van de trunk
Authentication user, auth user of loginbird
Password of secretHet secret van een API-sleutel die op de trunk is toegestaan
Een trunk die alleen zijn IP-allowlist gebruikt, heeft alleen de eerste twee nodig. De credentials zijn wat API-sleutelauthenticatie toevoegt.
De voorbeelden gebruiken YOUR_TRUNK_DOMAIN, YOUR_CALLER_ID en YOUR_API_KEY_SECRET. Kopieer het volledige domein van de trunkpagina. Bird weigert gesprekken naar een ander domein voordat ze je gesprekslog bereiken. Als je bent ingelogd met de Bird CLI, voer je bird voice tools test-call --dry-run uit om deze waarden als baresip-accountregel af te drukken.
Laat realm of authentication domain leeg zodat de client het realm uit de challenge van Bird gebruikt. Als een client een waarde vereist, gebruik dan de werkruimte-ID zonder het wsp_-prefix, gevolgd door .sip.bird.com. Het werkruimte-realm verschilt van het SIP-domein van de trunk.

Bellen zonder registratie

Bird authenticeert elke INVITE aan de hand van de IP-allowlist van de trunk of via een wachtwoordchallenge. Clients registreren zich niet bij de trunk.
Controleer registratie voordat je belt:
  • Configureer Bird in een PBX als trunk en laat registratie uit. Bij Asterisk betekent dat geen type=registration-sectie; bij FreeSWITCH betekent dat register=false op de gateway; FreePBX en 3CX hebben een registratiemodus die je op none zet.
  • Zet in een softphone registratie uit in de geavanceerde instellingen van het account als die optie beschikbaar is. Als dat niet kan, is de mislukte registratiepoging cosmetisch en werkt bellen gewoon, omdat we reageren op de INVITE in plaats van op de registratie.

Twee identiteiten, twee velden

Je client moet twee verschillende identiteiten meesturen:
  • De beller-ID staat in de From-header en moet een nummer zijn dat je hebt geverifieerd, in E.164-formaat: een + aan het begin, gevolgd door de landcode en het nationale nummer. In de meeste clients is dit het user- of caller-ID-veld van het account.
  • De digest-gebruikersnaam is altijd bird. In de meeste clients is dit het authentication user- of loginveld.
Kies ook in E.164, want daar routeert en prijst Bird op.

Softphones

Een softphone is de snelste manier om te controleren of een nieuwe trunk werkt voordat je productieverkeer erop richt.

baresip

Voeg één regel toe aan ~/.baresip/accounts, met je beller-ID als accountgebruiker en bird als auth user:
Codevoorbeeld
<sip:YOUR_CALLER_ID@YOUR_TRUNK_DOMAIN>;auth_user=bird;auth_pass=YOUR_API_KEY_SECRET;regint=0;outbound="sip:YOUR_TRUNK_DOMAIN;transport=udp"
regint=0 voorkomt dat baresip zich registreert. Start het en bel met /dial +31612345678.

Zoiper

Voeg handmatig een SIP-account toe. Stel Domain in op het SIP-domein van de trunk, Username op je geverifieerde beller-ID en Password op het API-sleutelsecret. Stel in de geavanceerde instellingen Auth username in op bird, schakel registratie bij het opstarten uit en kies het transport.

Linphone

Voeg een account toe met bird als auth user van de SIP-identiteit en je beller-ID als gebruikersnaam. Schakel vervolgens registratie uit op het account. In linphonerc is hetzelfde account een [proxy_N]-sectie met reg_sendregister=0.

MicroSIP

Onder Account: SIP server is het SIP-domein van de trunk, Username je geverifieerde beller-ID, Login bird, Password het API-sleutelsecret. Laat Domain hetzelfde als de SIP-server.

PBX'en

Asterisk

In pjsip.conf, een endpoint met outbound auth en geen registratiesectie:
Codevoorbeeld
[bird-auth]
type=auth
auth_type=userpass
username=bird
password=YOUR_API_KEY_SECRET

[bird-aor]
type=aor
contact=sip:YOUR_TRUNK_DOMAIN:5060

[bird]
type=endpoint
context=from-internal
outbound_auth=bird-auth
aors=bird-aor
from_user=YOUR_CALLER_ID
from_domain=YOUR_TRUNK_DOMAIN
from_user is de beller-ID die Bird controleert, dus het moet een geverifieerd nummer zijn. Bel met Dial(PJSIP/+31612345678@bird).

FreePBX

Ga naar Connectivity > Trunks en voeg een SIP (chan_pjsip)-trunk toe. Stel in de pjsip Settings Username in op bird, Secret op het API-sleutelsecret, SIP Server op het SIP-domein van de trunk, Authentication op outbound en Registration op none. Stel de uitgaande beller-ID van de trunk in op een geverifieerd nummer.

FreeSWITCH

Een gateway in conf/sip_profiles/external/bird.xml:
Codevoorbeeld
<include>
  <gateway name="bird">
    <param name="proxy" value="YOUR_TRUNK_DOMAIN"/>
    <param name="register" value="false"/>
    <param name="username" value="bird"/>
    <param name="password" value="YOUR_API_KEY_SECRET"/>
    <param name="from-domain" value="YOUR_TRUNK_DOMAIN"/>
    <param name="caller-id-in-from" value="true"/>
  </gateway>
</include>
Met caller-id-in-from ingesteld wordt de beller-ID op de leg het From-nummer. Stel het dus in op een geverifieerd nummer wanneer je origineert.

3CX

Voeg een generieke SIP-trunk toe en schakel registratie uit. Stel de host in op het SIP-domein van de trunk, de authentication ID op bird en het wachtwoord op het API-sleutelsecret. Stel de uitgaande beller-ID in op een geverifieerd nummer.

Vervolgstappen

PaginaWat het behandelt
Voice-probleemoplossingEen gesprek diagnosticeren dat niet doorkomt, aan de hand van het symptoom
SIP-trunksDe verbindingsgegevens, de allowlists en het Digest-aanbod
Gesprekken plaatsenWat Bird verwacht op de INVITE, en hoe een gesprek wordt geprijsd
Beller-ID'sEen nummer registreren en bewijzen dat het van jou is met een verificatiegesprek
GesprekslogBevestigen dat een gesprek is uitgegaan, en wat het heeft gekost

Gerelateerde bronnen

Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.

Ontvang een implementatieoverzicht