Sign inGet started

Configuration client SIP

Tout client SIP capable de passer un appel via un proxy peut utiliser un trunk Bird. Cela inclut les PBX, les softphones de bureau et les outils en ligne de commande. Cette page fait correspondre les détails de connexion du trunk aux champs courants des clients et aux paramètres d'authentification.

Ce dont un client a besoin

Quatre valeurs, toutes issues de la page du trunk :
Champ du clientValeur à saisir
Serveur SIP, domaine, hôte ou proxyLe domaine SIP du trunk
Port et transportUn des ports pris en charge du trunk
Utilisateur d'authentification, auth user ou loginbird
Mot de passe ou secretLe secret d'une clé API autorisée sur le trunk
Un trunk qui utilise uniquement sa liste d'adresses IP autorisées n'a besoin que des deux premiers. Les identifiants sont ce qu'ajoute l'authentification par clé API.
Les exemples utilisent YOUR_TRUNK_DOMAIN, YOUR_CALLER_ID et YOUR_API_KEY_SECRET. Copiez le domaine complet depuis la page du trunk. Bird refuse les appels vers un autre domaine avant qu'ils n'atteignent votre journal d'appels. Une fois connecté avec le Bird CLI, exécutez bird voice tools test-call --dry-run pour afficher ces valeurs sous forme de ligne de compte baresip.
Laissez realm ou domaine d'authentification vide pour que le client utilise le realm du challenge Bird. Si un client exige une valeur, utilisez l'identifiant de l'espace de travail sans son préfixe wsp_, suivi de .sip.bird.com. Le realm de l'espace de travail diffère du domaine SIP du trunk.

Passer des appels sans enregistrement

Bird authentifie chaque INVITE par rapport à la liste d'adresses IP autorisées du trunk ou via un challenge par mot de passe. Les clients ne s'enregistrent pas auprès du trunk.
Vérifiez l'enregistrement avant de passer un appel :
  • Dans un PBX, configurez Bird comme trunk et laissez l'enregistrement désactivé. Pour Asterisk, cela signifie aucune section type=registration ; pour FreeSWITCH, register=false sur la gateway ; FreePBX et 3CX disposent d'un mode d'enregistrement à définir sur none.
  • Dans un softphone, désactivez l'enregistrement dans les paramètres avancés du compte si l'option est proposée. Si elle ne l'est pas, la tentative d'enregistrement échouée est cosmétique et la numérotation fonctionne quand même, car l'authentification porte sur l'INVITE et non sur l'enregistrement.

Deux identités, deux champs

Votre client doit envoyer deux identités distinctes :
  • L'identifiant de l'appelant figure dans l'en-tête From et doit être un numéro que vous avez vérifié, au format E.164 : un + initial suivi de l'indicatif pays et du numéro national. Dans la plupart des clients, il s'agit du champ utilisateur ou identifiant de l'appelant du compte.
  • Le nom d'utilisateur digest est toujours bird. Dans la plupart des clients, il s'agit du champ utilisateur d'authentification ou login.
Composez également en E.164, car c'est sur cette base que Bird route et tarifie.

Softphones

Un softphone est le moyen le plus rapide de vérifier qu'un nouveau trunk fonctionne avant d'y diriger le trafic de production.

baresip

Ajoutez une ligne dans ~/.baresip/accounts, avec votre identifiant d'appelant comme utilisateur du compte et bird comme utilisateur d'authentification :
Exemple de code
<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 empêche baresip de s'enregistrer. Lancez-le et composez avec /dial +31612345678.

Zoiper

Ajoutez un compte SIP manuellement. Définissez Domain sur le domaine SIP du trunk, Username sur votre identifiant d'appelant vérifié, et Password sur le secret de la clé API. Dans les paramètres avancés, définissez Auth username sur bird, désactivez l'enregistrement au démarrage, et choisissez le transport.

Linphone

Ajoutez un compte avec bird comme utilisateur d'authentification de l'identité SIP et votre identifiant d'appelant comme nom d'utilisateur, puis désactivez l'enregistrement sur le compte. Dans linphonerc, le même compte est une section [proxy_N] avec reg_sendregister=0.

MicroSIP

Sous Account : SIP server correspond au domaine SIP du trunk, Username à votre identifiant d'appelant vérifié, Login à bird, Password au secret de la clé API. Laissez Domain identique au serveur SIP.

PBX

Asterisk

Dans pjsip.conf, un endpoint avec authentification sortante et sans section d'enregistrement :
Exemple de code
[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 est l'identifiant d'appelant que Bird vérifie ; il doit donc être un numéro vérifié. Composez avec Dial(PJSIP/+31612345678@bird).

FreePBX

Sous Connectivity > Trunks, ajoutez un trunk SIP (chan_pjsip). Dans ses pjsip Settings, définissez Username sur bird, Secret sur le secret de la clé API, SIP Server sur le domaine SIP du trunk, Authentication sur outbound et Registration sur none. Définissez l'identifiant d'appelant sortant du trunk sur un numéro vérifié.

FreeSWITCH

Une gateway dans conf/sip_profiles/external/bird.xml :
Exemple de code
<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>
Avec caller-id-in-from défini, l'identifiant d'appelant sur le leg devient le numéro From : définissez-le sur un numéro vérifié au moment de l'appel.

3CX

Ajoutez un trunk SIP générique et désactivez l'enregistrement. Définissez son hôte sur le domaine SIP du trunk, son identifiant d'authentification sur bird, et son mot de passe sur le secret de la clé API. Définissez l'identifiant d'appelant sortant sur un numéro vérifié.

Étapes suivantes

PageContenu
Dépannage vocalDiagnostiquer un appel qui n'aboutit pas, à partir du symptôme
Trunks SIPLes détails de connexion, les listes d'autorisation et l'offre Digest
Passer des appelsCe que Bird attend sur l'INVITE, et comment un appel est tarifé
Identifiants d'appelantEnregistrer un numéro et prouver que vous en êtes propriétaire par un appel de vérification
Journal d'appelsConfirmer qu'un appel a été émis, et son coût

Ressources associées

Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.

Obtenir un guide d'implémentation