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:
| Clientveld | Wat je invult |
|---|---|
| SIP-server, domain, host of proxy | Het SIP-domein van de trunk |
| Poort en transport | Een van de ondersteunde poorten van de trunk |
| Authentication user, auth user of login | bird |
| Password of secret | Het 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_DOMAINfrom_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
| Pagina | Wat het behandelt |
|---|---|
| Voice-probleemoplossing | Een gesprek diagnosticeren dat niet doorkomt, aan de hand van het symptoom |
| SIP-trunks | De verbindingsgegevens, de allowlists en het Digest-aanbod |
| Gesprekken plaatsen | Wat Bird verwacht op de INVITE, en hoe een gesprek wordt geprijsd |
| Beller-ID's | Een nummer registreren en bewijzen dat het van jou is met een verificatiegesprek |
| Gesprekslog | Bevestigen 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.