Annexe A - Plan de numérotation commenté
Introduction
L’objectif de cette annexe est de présenter un plan de numérotation d’une architecture de PME. Les deux fichiers extensions.conf et extensions_macro.conf nécessaires sont présentés et commentés.
Les commentaires sont précédés du caractère ; et permettent d’apporter un commentaire au dial-plan.
Fichier Extensions.conf
1. Contexte [general]
[general]
static=yes
writeprotect=no
autofalltrough=yes
clearglobalvars=no
proirityjumping=no
; les fichiers externes extensions_supervision.conf et
extensions_macro.conf sont inclus dans le dial plan
#include extensions_supervision.conf
#include extensions_macro.conf
2. Contexte [CONTEXT_BASIC]
Le contexte [CONTEXT_BASIC] est le contexte par défaut déclaré dans la définition des clients SIP de la table clients_sip de la base de données MySQL asterisk_db.
[CONTEXT_BASIC]
include => CONTEXT_SUPERVISION
include => CONTEXT_INTERNAL
include => CONTEXT_CONTROLE_MESSAGERIE
include => CONTEXT_CONTROL_FORWARD
include => CONTEXT_AGENCE_1
include => CONTEXT_AGENCE_2
include => CONTEXT_NATIONAL
include => CONTEXT_GSM
include => CONTEXT_MONACO
include => CONTEXT_BELGIQUE
include => CONTEXT_MESSAGES
include => CONTEXT_QUEUES
include => CONTEXT_TRUNK
include => CONTEXT_INTERCEPTION
include => CONTEXT_NUMEROS_ABREGES
include => CONTEXT_NUMEROS_BOX
include => CONTEXT_NUMEROS_URGENCES
include => CONTEXT_NUMEROS_VERTS
include => CONTEXT_NUMEROS_SURTAXES
3. Contexte [CONTEXT_MANAGERS]
Le contexte [CONTEXT_MANAGERS] est destiné aux responsables de service.
[CONTEXT_MANAGERS]
include => CONTEXT_BASIC
include => CONTEXT_NUMEROS_SURTAXES_RESTREINTS
Il inclut [CONTEXT_BASIC] et [CONTEXT_NUMEROS_SURTAXES_ RESTREINTS] qui sont présentés ci-après.
4. Contexte [CONTEXT_CODIR]
Le contexte [CONTEXT_CODIR] est destiné aux postes téléphoniques des membres du Comité de Direction.
[CONTEXT_CODIR]
include => CONTEXT_MANAGERS
include => CONTEXT_INTERNATIONAL
Il inclut [CONTEXT_MANAGERS] et [CONTEXT_INTERNATIONAL] qui sont présentés ci-après.
5. Contexte [CONTEXT_INCOMING]
Le contexte [CONTEXT_INCOMING] est le contexte qui a été déclaré dans le fichier de configuration /etc/zaptel.conf. Tous les appels en provenance de l’extérieur y sont gérés.
Chaque SDA est définie sur ses quatre derniers chiffres (choix de l’opérateur qui présente les numéros). Chaque appel vers une SDA déclenche la fonction Macro().
[CONTEXT_INCOMING]
exten => 5750,1,Macro(appel_sda,${EXTEN})
exten => 5751,1,Macro(appel_sda,${EXTEN})
exten => 5752,1,Macro(appel_sda,${EXTEN})...
Extensions_macro.conf
1. appel_sda
La macro appel_sda est utilisée par le contexte [context_incoming] et est appelée chaque fois qu’un appel se présente sur une SDA affectée à un compte SIP.
[macro-appel_sda]
;***********************
;Explication:
;On ouvre un canal de communication
;Requête du Type Sql " select * from... "
;Affectation de la variable DEST_CFDND =
champ cfdnd_ext issu de la requête.
;Affectation de la variable DEST_CFIM =
champ cfim_ext issu de la requête.
;On vérifie que le poste titulaire de la SDA n'est pas en renvoi
immédiat (CFIM) ou en fonction " Ne pas Déranger " (CFDND)
exten => s,1,Answer()
exten => s,n,Realtime(device_info,sda,${MACRO_EXTEN},var_)
exten => s,n,set(DEST_CFDND=${var_cfdnd_ext})
exten => s,n,set(DEST_CFIM=${var_cfim_ext})
;***********************
;Explication:
;On teste si le poste est en CFDND
;[ Si Vrai, se rendre à l'extension nommée next.
;[ Si Faux, se rendre à l'extension nommée cfdnd-sda
(fonction Ne pas Déranger activée sur le poste).
;Extension nommée next.
;On teste si le poste en CFIM.
[ Si Vrai, se rendre à l'extension nommée sda-ok.
[ Si Faux, se rendre à l'extension nome cfim-sda (renvoi
immédiat activée sur le poste).
exten => s,n,GotoIf($[${DEST_CFDND} =0]?next:cfdnd-sda)
exten => s,n(next),GotoIf($[${DEST_CFIM} =0]?sda-ok:cfim-sda)
exten => s,n(sda-ok),Realtime(device_info,sda,
${MACRO_EXTEN},var_)
exten => s,n,set(DEVICE_DESTINATAIRE=${var_number})
exten => s,n,set(DESTINATAIRE=${var_cid_name})
;***********************
;Extension nommée sda-ok.
;Explication:
;Requête du Type Sql " select * from... "
;Affectation de la variable DEVICE_DESTINATAIRE = champ number
issu de la requête.
;Affectation de la variable DESTINATAIRE =
champ cid_name issu de la requête.
;Requête du Type Sql " select * from... "
;Test pour voir si le numéro appelant est dans la table
asterisk.abreges
;[ Si Vrai, se rendre à l'extension nommée know.
;[ Si Faux, se rendre à l'extension nommée unknow.
exten => s,n(sda-ok),Realtime(device_info,sda,
${MACRO_EXTEN},var_)
exten => s,n,set(DEVICE_DESTINATAIRE=${var_number})...