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