Mise en oeuvre d’un PABX IP open source : Asterisk– DEUXIEME PARTIE
I. MISE EN OEUVRE D’UN PABX IP OPEN SOURCE : Asterisk
I.1 PRESENTATION GENERALE
Asterisk est un PABX IP entièrement logiciel, sous licence GPL ,crée par Mark Spencer. Il intègre un multitude de protocoles et évolue rapidement.
Comme tout IP PBX, Asterisk est réalisé suivant la philosophie du monde des télécoms et est fortement orienté sur la voix.

** Asterisk: Materiels
Asterisk ne nécessite aucun matériel supplémentaire pour un usage interne, mais une/plusieurs cartes pour atteindre le réseau PSTN (X100p, TDM,…) sont nécessaires, ainsi les cartes Digium sont conseillées.
Pour les cartes TDM (Time Division Multiplexing) nous pouvons avoir jusqu’à 4 modules FXS (raccordement des téléphones) ou FXO (raccordement des lignes / PABX ). Les modules FXS ont la couleur verte par contre, les modules FXO ont une couleur rouge.
Il existe plusieurs types de cartes TDM sur le marché. La désignation “TDM” est alors suivie par le nombre de modules FXS, puis le nombre de modules FXO, et enfin la lettre “B”.

Les cartes TDM

Modules FXO
0 1 2 3 4
0 TDM01 TDM02 TDM03 TDM04
Modules 1 TDM10 TDM11 TDM12 TDM13
FXS 2 TDM20 TDM21 TDM22
3 TDM30 TDM31
4 TDM40

Tableau 5. Les cartes TDM

La carte ci-dessous est une carte TDM04B c’est à dire une carte ou il y a zéro FXS et quatre FXO ou nous pouvons connecter jusqu’à 4 lignes téléphoniques venant de la SONATEL ce qui signifie qu’on pouvait effectuer jusqu’à quatre appels simultanés vers le réseau publique.

Carte TDM04B
Figure 8: Carte TDM04B

** Asterisk: Téléphones
Asterisk peut supporter plusieurs types de téléphones:
• Les téléphones analogiques ou traditionnels qui utilisent le protocole SIP, sa connexion dans le réseau IP se fait via à une passerelle utilisant ce même protocole. Il existe dans le marché des solutions propriétaires telle que Linksys adapter qui est une passerelle SIP contenant deux modules FXS pour deux téléphones analogiques et un port RJ45 pour la relier au réseau IP.
• Les téléphones IP: nous avons plusieurs types de téléphones IP(voir annexe 5) parmi les quels nous avons les téléphones CISCO, qui utilisent le protocole SCCP(Skinny Client Control Protocole) . Il existe également des téléphones GSM/WIFI, qui fonctionnent avec le protocole SIP, son interconnexion avec le réseau IP se fait via à un ACCES POINT.
• Les stimulateurs téléphoniques appelés softphones, qui sont des logiciels, qui jouent un rôle de téléphone. Ces logiciels (Xten , Xlite, gromemeeting, etc.) ne sont pas tous gratuits(voir annexe 4) , peuvent être installer sur des systèmes différents (windows, linux, mac, etc.).

L'accès au réseau IP
Figure 9: L’accès au réseau IP

** Asterisk: Installation
Asterisk fonctionne sur un système d’exploitation de type Unix/Linux. L’installation de base est aisée mais la configuration est difficile et nécessite une bonne connaissance en Unix/Linux.

** Asterisk: Protocoles
Asterisk supporte plusieurs protocoles de voix sur IP et peut collaborer avec la majorité des standards (H323, SIP, MGCP, etc.) dans le domaine.
Afin de permettre une étroite collaboration entre deux PABX IP asterisk, les responsables du projet Asterisk ont développé le protocole propriétaire IAX (Inter Asterisk eXchange Protocol). Ce protocole IAX est le plus mis en production en interconnexion de sites distants, il utilise un débit limité .

** Asterisk: Codecs
Asterisk supporte également plusieurs de types de codecs:
• G711 (alow): USA
• G711 (ulaw): Europe
• G723, G726, Speek, etc.

Tous ces codecs ne sont pas libres, l’insertion ou la suppression est facile mais le choix du codec dépend du type de téléphone utilisé.

** Asterisk: PSTN et autres réseaux
Asterisk autorise le dialogue avec plusieurs serveur VoIP (décentralisé), il est possible d’atteindre simplement le réseau PSTN par une carte insérée dans notre serveur Asterisk (carte TDM). Il existe des possibilités de gérer plusieurs canaux entrée/sortie (plusieurs lignes téléphoniques ).

** Asterisk: Modules ou services
Asterisk a toutes les caractéristiques d’un PABX et même plus, l’inconvénient est que toutes se configurent par édition de fichier et nécessitent donc une bonne connaissance en Unix/Linux mais l’avantage est qu’il est complètement paramétrable et contrôlable.

Parmi les services on peut citer:
** Centre téléphonique:
• Mise en attente à l’arrivée d’un appel, redirection ou boite vocale
• Message d’accueil avec possibilité de redirection par appui sur une touche du téléphone par l’appelant
• Le centraliste peut être dédié à un poste ou s’authentifier par mot de passe.
• Enregistrement des appels
• Conférence:
• Mise en place de salles de conférences
• Ces salles peuvent être pré configurées par l’administrateur ou dynamiques (par un appelant).
• Possibilité de mettre un mot de passe.

** La boite vocale:
• Chaque poste peut se voir attribuer une boite vocale.
• Paramétrable par l’utilisateur (mot de passe, message d’occupation, message d’absence, …)
• Consultation de la boite vocale par plusieurs méthodes
• Appel de la boite vocale
• Réception du message vocal par email
• Ecoute du message vocal par site web

** Taxation:
• Mise en place par exemple d’un crédit que l’utilisateur doit réapprovisionner afin de pouvoir appeler vers le Pstn.

** Autres:
• La signalisation d’un double appel
• La réception d’un double appel
• La restruction d’appels ou filtrage d’appels entrants ou sortant
• L’affichage du numéro appelant
• Capture d’un appel qui est destiné à un autre poste de l’entreprise (call pickup)
• Capture d’un appel qui est destiné à un group de postes de l’entreprise (group call pickup)
• Le stationnement temporaire d’un appel afin de le reprendre sur un autre poste ( call park)
• IVR (interactive Voice Response)
• L’enregistrement de la conversation audio/video
• La redirection vers n’importe quel poste (IP ou pas)
• la mobilité de poste locale (logiciel sur PC, téléphone IP fixe ou mobile) au sein de l’entreprise
• La mobilité de poste globale (logiciel sur PC, téléphone IP fixe ou mobile) à travers le monde
• SMS ( Asterisk peut envoyer des sms directement par le réseau commuté )
• Etc.

** Asterisk: Les scripts AGI (Asterisk Gateways Interfaces)
Asterisk permet d’exécuter des scripts en Java, PHP, Python, ou en Perl dans le plan de numérotation. Ces scripts peuvent être également exécutés dans une autre machine différente du serveur asterisk dans ce cas on l’appelle: FastAGI .

Installation d’Asterisk et Quelques commandes

I.2 INSTALLATION ET CONFIGURATION DES PACKAGES NECESSAIRES
I.2.1 Installation des packages nécessaires
A partir des CDs de Fedora core 3, installez les packages nécessaires pour le bon fonctionnement du serveur Asterisk. Pour cela, copiez tous les packages nécessaires dans un répertoire commun et ensuite procéder à l’installation en respectant l’ordre de succession des packages (voir annexe 1).

Les sources de Asterisk sont téléchargeable à partir du site ftp.digium.com/pub.
Les packages nécessaires sont:
• Libpri: contient tous les librairies dont qu’Asterisk aura besoin pour son bon foctionnement
• Zaptel: il est utilisé pour configurer les cartes digium et accéder aux réseaux PSTN
• Asterisk: il représente le noyau de Asterisk
• Chan_sccp: ce protocole est utilisé par les téléphones IP de Cisco
• Asterisk-sounds: contient tous les fichiers sons d’Asterisk
• Asterisk-addon: contient tous les modules de connexion à des bases de données (mysql, postgresql, oracle, etc.).
L’installation doit se faire en respectant l’ordre de succession des sources (voir annexe 2).

I.2.2 Configuration
Nous trouvons de nombreux documents sur Internet concernant Asterisk et comment le configurer, mais nous allons vous proposer une mise en oeuvre simplifiée en prenant les concepts de base afin de faciliter la compréhension de la plate-forme.
Nous commençons par la configuration de base autorisant l’appel entre plusieurs postes localisés sur le même PABX.
La configuration nécessite la compréhension du principe de routage. Chaque extension est manipulée depuis sa source (une ligne analogique ou numérique, un téléphone IP ou un softphone, l’appel en provenance d’un autre PABX) vers une destination via des règles de routage qui s’enchaînent. Nous regroupons les règles dans des contextes permettant de séparer les utilisateurs, les usages ou les sources.

La configuration de base (voir annexe 3) comporte au minimum le fichier extensions.conf. Les sources sont dans différents fichiers en fonction de leur type: mgcp.conf, iax.conf, sip.conf, sccp.conf ou encore zapata.conf.
Pour les configurations faites au niveau de la section informatique(voir annexe 4).
Etude et mise en place d’un système de communication de VoIP: Appliqué à un PABX IP open source