Exemple de Dialplan
Voici un exemple simple de dialplan pour comprendre les bases :
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
[globals]
TRUNK=SIP/trunk_provider
[incoming_calls]
exten => 100,1,Answer()
same => n,Playback(welcome)
same => n,Dial(SIP/100,20)
same => n,Voicemail(100@default,u)
same => n,Hangup()
[outgoing_calls]
exten => _9.,1,Dial(${TRUNK}/${EXTEN:1})
same => n,Hangup()
Explication du Dialplan
- [general] : Contient les paramètres généraux du dialplan.
static
: Siyes
, empêche les modifications dynamiques du dialplan.writeprotect
: Siyes
, empêche les modifications du fichier de dialplan pendant qu’Asterisk est en cours d’exécution.autofallthrough
: Siyes
, les appels tombent automatiquement à travers le dialplan s’il n’y a pas de prioritén
.clearglobalvars
: Sino
, conserve les variables globales entre les rechargements du dialplan.
- [globals] : Définit des variables globales accessibles dans tout le dialplan.
TRUNK
: Déclare un trunk SIP pour les appels sortants.
- [incoming_calls] : Un contexte pour les appels entrants.
exten => 100,1,Answer()
: Répond à l’appel.same => n,Playback(welcome)
: Joue un message de bienvenue.same => n,Dial(SIP/100,20)
: Transfère l’appel à l’extension SIP 100 et sonne pendant 20 secondes.same => n,Voicemail(100@default,u)
: Si l’appel n’est pas répondu, transfère à la messagerie vocale de l’utilisateur 100.same => n,Hangup()
: Raccroche l’appel.
- [outgoing_calls] : Un contexte pour les appels sortants.
exten => _33.,1,Dial(${TRUNK}/${EXTEN:1})
: Utilise le trunk SIP pour les appels commençant par 33, en supprimant le 33 initial.same => n,Hangup()
: Raccroche l’appel une fois terminé.
Applications Utiles
- Dial : Passe un appel à une extension ou un numéro externe.
- Answer : Répond à un appel entrant.
- Hangup : Raccroche un appel.
- Playback : Joue un fichier audio.
- Voicemail : Envoie un appel à la messagerie vocale.
- Goto : Redirige l’appel vers une autre extension ou contexte.