ASTERISK
| 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
Où 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