ASTERISK

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine PBX / serveur VOIP
Config comptes /etc/asterisk/sip.conf (ou pjsip.conf)
Dialplan /etc/asterisk/extensions.conf
Voir aussi Turn

Asterisk est l'un des serveurs de téléphonie sur IP (VOIP) libres les plus utilisés : PBX logiciel gérant l'enregistrement de comptes SIP, le routage des appels (dialplan), la messagerie vocale, les conférences, etc.

Installation

aptitude install asterisk

Configuration des comptes (sip.conf)

Les comptes utilisateurs (postes SIP) sont définis dans sip.conf :

[alice]
type=friend        ; peut à la fois appeler et être appelé
host=dynamic        ; adresse IP du poste fournie dynamiquement (DHCP/NAT)
secret=changeme     ; mot de passe du compte SIP
context=default     ; contexte du dialplan utilisé par ce compte

⚠️ Note : chan_sip (le pilote SIP historique, utilisé ci-dessus) est déprécié depuis Asterisk 17 et retiré des versions récentes au profit de chan_pjsip, plus complet (WebRTC, IPv6, TLS moderne). Pour un déploiement neuf, préférer la configuration via pjsip.conf.

Un mot de passe peut aussi être vérifié sous forme de hash MD5 (user:realm:secret) :

echo -n "alice:asterisk:changeme" | md5sum

Dialplan (extensions.conf)

Le dialplan définit le plan de numérotation et le comportement associé à chaque extension (numéro appelé) :

[default]
exten => 555,1,Answer                  ; décrocher
exten => 555,2,Playback(tt-weasels)    ; message d'accueil
exten => 555,3,Dial(SIP/alice,20)      ; sonner le poste "alice", 20s de timeout
exten => 555,4,Voicemail(555@default)  ; bascule messagerie si pas de réponse
exten => 555,5,Hangup                  ; raccrochage

Après toute modification du dialplan ou des comptes, recharger la configuration depuis la console Asterisk (sans redémarrer le service) :

asterisk -rvvv
> sip reload            ; ou pjsip reload
> dialplan reload

Transfert d'appel

Le transfert d'appel assisté par l'appelant nécessite le DTMF (Dual-Tone Multi-Frequency, la tonalité envoyée par les touches du téléphone) :

; dans sip.conf
dtmfmode=rfc2833

; dans extensions.conf : options t/T autorisent le transfert
; côté appelé (t) et/ou appelant (T)
exten => 555,1,Dial(SIP/alice,20,tT)

L'utilisateur déclenche ensuite le transfert avec la touche # (comportement par défaut, configurable).

Mise en attente (parking)

[default]
include => parkedcalls

Un appel mis en attente (touche #700 par défaut) est stocké sur une extension de parking, récupérable depuis n'importe quel poste en composant ce numéro.

Messagerie vocale

Déclaration d'une boîte vocale dans voicemail.conf :

[default]
555 => 1234,Alice,alice@exemple.net

555 est le numéro de boîte, 1234 le code PIN, suivi du nom et de l'adresse mail de notification. Pour une interface vocale en français, sélectionner la langue lors de la compilation (make menuselect → Core Sound Packages → fr) ou installer le paquet de sons français correspondant selon la distribution.

Client

Un client SIP libre couramment utilisé pour tester un serveur Asterisk : Ekiga (Linux), ou plus largement aujourd'hui des softphones comme Zoiper, Linphone, ou un client WebRTC via chan_pjsip.

Voir aussi

  • Turn — relais TURN/STUN nécessaire pour la téléphonie WebRTC derrière du NAT