Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. VoIP et ToIP - Asterisk
  3. Asterisk
Extrait - VoIP et ToIP - Asterisk La téléphonie IP d'entreprise [2ième édition]
Extraits du livre
VoIP et ToIP - Asterisk La téléphonie IP d'entreprise [2ième édition]
2 avis
Revenir à la page d'achat du livre

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})...