Configurazione del client SIP
Qualsiasi client SIP in grado di effettuare una chiamata attraverso un proxy può usare un trunk Bird. Questo include PBX, softphone desktop e strumenti da riga di comando. Questa pagina associa i dettagli di connessione del trunk ai campi più comuni dei client e alle impostazioni di autenticazione.
Cosa serve a un client
Quattro valori, tutti dalla pagina del trunk:
| Campo del client | Cosa inserire |
|---|---|
| Server SIP, domain, host o proxy | Il dominio SIP del trunk |
| Porta e trasporto | Una delle porte supportate dal trunk |
| Authentication user, auth user o login | bird |
| Password o secret | Il secret di una chiave API autorizzata sul trunk |
Un trunk che usa solo la propria lista di IP consentiti ha bisogno solo dei primi due. Le credenziali sono ciò che aggiunge l'autenticazione con chiave API.
Gli esempi usano YOUR_TRUNK_DOMAIN, YOUR_CALLER_ID e YOUR_API_KEY_SECRET. Copia il dominio completo dalla pagina del trunk. Bird rifiuta le chiamate verso un altro dominio prima che raggiungano il tuo registro chiamate. Dopo aver effettuato l'accesso con il Bird CLI, esegui bird voice tools test-call --dry-run per stampare questi valori come riga account di baresip.
Lascia realm o authentication domain vuoto, così il client usa il realm nella challenge di Bird. Se un client richiede un valore, usa l'ID dello spazio di lavoro senza il prefisso wsp_, seguito da .sip.bird.com. Il realm dello spazio di lavoro è diverso dal dominio SIP del trunk.
Effettuare chiamate senza registrazione
Bird autentica ogni INVITE rispetto alla lista di IP consentiti del trunk o tramite una challenge con password. I client non si registrano sul trunk.
Verifica la registrazione prima di effettuare una chiamata:
- In un PBX, configura Bird come trunk e lascia la registrazione disattivata. In Asterisk significa nessuna sezione type=registration; in FreeSWITCH significa register=false sul gateway; FreePBX e 3CX hanno una modalità di registrazione da impostare su none.
- In un softphone, disattiva la registrazione nelle impostazioni avanzate dell'account, se disponibile. Dove non lo è, il tentativo di registrazione fallito è puramente estetico e la composizione funziona comunque, perché l'azione avviene sull'INVITE anziché sulla registrazione.
Due identità, due campi
Il client deve inviare due identità diverse:
- Il caller ID va nell'header From e deve essere un numero che hai verificato, in formato E.164: un + iniziale seguito dal prefisso internazionale e dal numero nazionale. Nella maggior parte dei client è il campo user o caller-ID dell'account.
- Il digest username è sempre bird. Nella maggior parte dei client è il campo authentication user o login.
Componi anche in E.164, dato che è il formato su cui Bird instrada e tarifica.
Softphone
Un softphone è il modo più rapido per verificare che un nuovo trunk funzioni prima di indirizzarvi il traffico di produzione.
baresip
Aggiungi una riga a ~/.baresip/accounts, con il tuo caller ID come account user e bird come auth user:
Esempio di codice
<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 è ciò che impedisce a baresip di registrarsi. Avvialo e componi con /dial +31612345678.
Zoiper
Aggiungi un account SIP manualmente. Imposta Domain sul dominio SIP del trunk, Username sul tuo caller ID verificato e Password sul secret della chiave API. Nelle impostazioni avanzate, imposta Auth username su bird, disattiva la registrazione all'avvio e scegli il trasporto.
Linphone
Aggiungi un account con bird come auth user dell'identità SIP e il tuo caller ID come username, quindi disattiva la registrazione sull'account. In linphonerc lo stesso account è una sezione [proxy_N] con reg_sendregister=0.
MicroSIP
In Account: SIP server è il dominio SIP del trunk, Username il tuo caller ID verificato, Login bird, Password il secret della chiave API. Lascia Domain uguale al server SIP.
PBX
Asterisk
In pjsip.conf, un endpoint con autenticazione outbound e nessuna sezione di registrazione:
Esempio di codice
[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 è il caller ID che Bird controlla, quindi deve essere un numero verificato. Componi con Dial(PJSIP/+31612345678@bird).
FreePBX
In Connectivity > Trunks, aggiungi un trunk SIP (chan_pjsip). Nelle pjsip Settings, imposta Username su bird, Secret sul secret della chiave API, SIP Server sul dominio SIP del trunk, Authentication su outbound e Registration su none. Imposta il caller ID in uscita del trunk su un numero verificato.
FreeSWITCH
Un gateway in conf/sip_profiles/external/bird.xml:
Esempio di codice
<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>Con caller-id-in-from impostato, il caller ID sulla tratta diventa il numero From, quindi impostalo su un numero verificato quando origini la chiamata.
3CX
Aggiungi un trunk SIP generico e disattiva la registrazione. Imposta l'host sul dominio SIP del trunk, l'authentication ID su bird e la password sul secret della chiave API. Imposta il caller ID in uscita su un numero verificato.
Passi successivi
| Pagina | Cosa tratta |
|---|---|
| Risoluzione dei problemi vocali | Diagnosticare una chiamata che non va a buon fine, partendo dal sintomo |
| Trunk SIP | I dettagli di connessione, le liste di IP consentiti e l'offerta Digest |
| Effettuare chiamate | Cosa si aspetta Bird sull'INVITE e come viene tarificata una chiamata |
| Caller ID | Registrare un numero e dimostrarne la titolarità con una chiamata di verifica |
| Registro chiamate | Confermare che una chiamata è stata effettuata e quanto è costata |
Risorse correlate
Prosegui con la documentazione, le guide e gli esempi per questo argomento. Le risorse sono in inglese.
Comprendi il concettoWhat is a voice API?Esplora la funzionalitàVoiceGuida all'implementazioneVoice overview
Ottieni un brief di implementazione