1 Plan de numérotation Asterisk ( extensions.conf )

Transcription

1 Plan de numérotation Asterisk ( extensions.conf )
Plan de numérotation Asterisk ( extensions.conf )
I) Rappels
- Le plan de num est défini dans extensions.conf et fichiers inclus ( include => nom.conf ou #include nom ).
- Il est fait de sections définissant les contextes ( noms entre crochets ).
- Les contextes sont faits de règles:
exten => n°_appelé, place_dans_les_traitements_du_n° , commande
( priorité )
- Les numéros appelés sont soit explicites soit des modèles ( pattern ) définissant des directions.
Pour cela on a la syntaxe:
1) Commencer par underscore
2) puis X: digit entre 0 et 9 ( pas * et # )
Z: digit entre 1 et 9
N: digit entre 2 et 9
[15-7]: 1 des digits entre les crochets => ici 1, 5 à 7 => 1, 5, 6, 7.
3[1-4] représente 31, 32, 33 et 34
3[12] représente 31 ou 32
[35-7] représente 3 ou 5 ou 6 ou 7
. : wildcard, à mettre en fin de pattern = n'importe quoi ( ne pas utiliser _. mais _X. ).
( _XXX. oblige à taper au minimum 3 digits )
i - Invalid
s – Start, pas d'analyse, traitement direct
h - Hangup
t - Timeout
T - AbsoluteTimeout
o - Operator
- Concaténation: Ecrire l'un à côté de l'autre: 555${EXTEN} ajoute le préfixe 555 au numéro composé.
- Troncature de numéro
${EXTEN:x:y} = permet de supprimer un préfixe ou suffixe ( strip from left ou right )
x: position de départ = on se décale de x digits ( n nième digit depuis le gauche, -n depuis la droite )
y: nombre de digits conservés
Exemple: 9 416 967 1111
${EXTEN:1:3} -> 416
${EXTEN:4:7} -> 967 1111
${EXTEN:-4:4} -> 1111
${EXTEN:7:4} -> 1111
Remarque: L'élimination d'un digit de préfixe se fait par ${EXTEN:1}
- Inclusion
* d'autre contextes:
include => nom_context
* d'un fichier d'autres contextes: # include nom_fichier.conf
II) Analyse de syntaxe de la partie n°_appelé ( n° ou pattern )
_359ZXXXXXX
_0XXX.
359
_0011[7-9]XX.
_[23478]XXXXXXXX
_[378]NXXXXXXX
III) Modification de numéros de la partie commande ( plus de pattern: n° ou variable EXTEN )
SDA
Le numéro appelé sur appel entrant est dans la variable ${EXTEN} au format EZABPQMCDU
On souhaite faire un lien SDA direct entre le MCDU du numéro public et le numéro local à 4 chiffres.
Ecrire la syntaxe à utiliser.
Numérotation abrégée
On a gardé la fin de la tranche des numéros locaux pour appel de numéros abrégés.
=> composer 3xxx appellera 0381993xxx
Ecrire la syntaxe à utiliser.
1
Modification de préfixe ( suppression du 0 et concaténation de +33 ).
L'usager compose les numéros de mobile en 06 mais on souhaite pour traitement logiciel dans des base de données avoir le
numéro en +33 ( ex: 0612345678 devient +33612345678 )
Ecrire la syntaxe à utiliser.
IV) Analyse d'un exemple
Rappel: Commande Goto
Goto(context, extension, priorité )
source: http://files.batoufflet.info/downloads/asterisk_howto.pdf
[default]
exten => 100,1,Ringing()
exten => 100,2,Wait(4)
exten => 100,3,Goto(accueil,s,1)
[accueil]
exten
exten
exten
exten
exten
=>
=>
=>
=>
=>
s,1,SetGlobalVar(sounds_path=/var/asterisk/sounds/)
s,2,Background(${sounds_path}welcome)
#,1,Goto(menu,s,1)
i,1,Playback(${sounds_path}erreur-saisie)
t,1,Goto(accueil,s,1)
[menu]
exten =>
exten =>
exten =>
exten =>
exten =>
exten =>
exten =>
exten =>
s,1,Background(${sounds_path}menu)
0,1,Goto(menu,s,1)
1,1,Goto(appel,s,1)
2,1,Goto(message,s,1)
3,1,Goto(support,s,1)
i,1,Playback(${sounds_path}erreur-saisie)
i,2,Goto(menu,s,1)
t,1,Goto(menu,s,1)
[appel]
exten =>
exten =>
exten =>
exten =>
exten =>
s,1,Background(${sounds_path}appel)
0,1,Goto(menu,s,1)
_1XXX,1,Dial(SIP/${EXTEN},20,tr)
i,1,Playback(${sounds_path}erreur-saisie)
t,1,Goto(appel,s,1)
[message]
exten => s,1,VoiceMailMain(${CALLERIDNUM}) ; redirection vers module messagerie
exten => t,1,Hangup() ; utile en cas de problème ligne précédente
[support]
exten => s,1,GoToIfTime(09:00-17:00|mon-fri|*|*?s,4)
; de 9h à 17h, du lundi au vendredi, * tous les jours du mois, * tous les mois
; extension s avec priorité 4
exten => s,2,Playback(${sounds_path}no-relation-support)
exten => s,3,Goto(menu,s,1)
exten => s,4,Playback(${sounds_path}relation-support)
exten => s,5,Queue(default) ; appel orienté vers file d'attente "default"
exten => t,1,Hangup()
Que faut-il commencer par faire dans l'accueil ( contenu du message welcome ) ?
Tracer l'arborescence de l'accueil sur le modèle page suivante.
Définir le contenu des messages d'annonce ( regarder le traitement associé ).
Comment tester en local l'accueil ?
Que devra-t-on mettre dans le fichier des appels entrants ( Zapata.conf, CAPI.conf ) pour qu'un appel entrant soit orienté vers
l'accueil ?
2
Context
Annonce welcome
" appuyer
"
Rem: En fait
Background
Fait annonce et
écoute ensemble
Ecoute numérotation
Context
Ecoute numérotation
Context
Ecoute numérotation
Context
Context
3
V) Réalisation de discrimination = Allouer des droits d'appels sortants selon les postes
Cahier des charges
a) On distingue différents types d'appels:
- locaux à 4 chiffres commençant par 1,2,3, ou 4.
- extérieur sans restriction: numéros verts = 0800 et 0805 à 10 chiffres,
( numéro vert = appel gratuit que depuis fixe ! )
urgences =15,17,18,112
- extérieurs nationaux par TDM ( 01,02,03,04,05 à 10 chiffres )
- extérieurs nationaux par IP ( 095 à 10 chiffres pour Free )
- extérieurs mobile ( 06 à 10 chiffres ),
- extérieur internationaux ( 00… à longueur variable )
On utilisera le préfixe 0 pour appel extérieur.
NB: On pourrait affiner avec télématique 36xx, renseignements ( 118xyz ), horloge parlante ( 3699 ), audiotel ( 0891, 0892,
0897, 0899 ), numéros azurs ( prix appel local 0810 et 0811 ), numéros indigos ( prix plus élevé dépendant du service ), n°
kiosque, minitel.
plan de numérotation public français: http://www.pabx-fr.com/telecoms/france.html
http://www.arcep.fr/fileadmin/wopnum.rtf
b) On définit les droits d'appels des usagers
context niveau1 ( catégorie ): droit au local, verts et urgences
context niveau2: droit au local, verts, urgences, nationaux, mobiles
context niveau3: Tous les droits
Travail
Définir les contextes nécessaires.
Comment donnera-t-on les droits à un usager ?
4

Documents pareils