La mise en place de la téléphonie ip dans un réseau informatique.( Télécharger le fichier original )par Mustapha Boumaza INSFP EX- ITEEM beau lieu oued smar alger - Technicien superieur en réseaux et systémes informatique 2016 |
9. Fonctionnalités :a. Appel ? Configuration du Dialplan Nous allons donc configurer Asterisk de telle sorte que l'utilisateur 6001 puisse appeler le numéro 6002. La syntaxe du fichier extensions.conf est sous le format suivant : Exten => extension, priorité, commande (paramètre) - Exten : permet de définir une nouvelle extension. - Extension : C'est généralement le numéro de téléphone ou le nom du client. - Priorité : C'est un numéro qui indique la priorité de la commande, le serveur prend en considération la priorité de la commande en utilisant le numéro inscrit dans la syntaxe. 53 Chapitre III: Implémentation d'un serveur Asterisk - Commande : C'est la commande qui peut exister, comme la commande dial (appel), voice mail (boîte vocale), etc. On peut utiliser plusieurs options pour un seul numéro d'appel, on peut mettre par exemple un transfert d'appel vers un autre numéro ou vers la boite vocale selon des priorités. Voici donc le contenu du notre fichier extensions.conf Donc la ligne : exten => _6XXX,1,Dial(SIP/${EXTEN},20) se traduit par: Quand on compose le numéro (par exemple) 6001, on appelle le numéro 6001 et si au bout de 20 secondes il n'y a pas de réponses on passe à la ligne du dessous. Dans le cas du numéros 6001 la ligne devient comme ceci : exten => 6001,1,Dial(SIP/6001,20), mais l'avantage de la ligne précédente est qu'elle permet d'appeler les numéros de 6000 a 6999. La seconde ligne : exten => _6XXX,2,Hangup() permet de raccrocher si il n'y a pas de réponses au bout des 20 secondes. Dans chaque ajout ou modification d'un client, il faut mettre à jour le serveur Asterisk en utilisant la commande suivante dans la console : reload Pour faire les tests, il suffit d'appeler par exemple à partir du compte de mustapha boumaza (6001) le numéro 6002. Figure III.7 : Simulation d'un appel 54 Chapitre III: Implémentation d'un serveur Asterisk b. Mise en place des boîtes vocales On va éditer le fichier /etc/asterisk/voicemail.conf Voici le contenu du fichier: - format : Il est possible de définir les différents formats dans lesquels seront sauvegardés les messages vocaux. (Plusieurs formats séparées par un | permettent de sauvegarder dans plusieurs format) - [work] : Contexte dans lequel se trouvent nos utilisateurs - 6001 =>: Numéro de l'utilisateur - vide, on n'utilise pas un mot de passe pour accéder à la boite vocale - mustapha boumaza: Prénom et nom de l'utilisateur Maintenant nous allons éditer le fichier extensions.conf pour configurer deux choses : - après certain temps Asterisk bascule sur la boite vocale de l'utilisateur si celui-ci ne répond pas. - Création d'une extension pour créer le numéro qui servira à consulter la boite vocale. Voici le fichier extensions.conf modifié : On a remplacé la ligne : exten => _6XXX,2,Hangup() Par : exten => _6XXX,2,VoiceMail(${EXTEN}@work) Cette ligne permet donc de basculer sur la boîte vocale de l'utilisateur appelé s'il n'y a pas de réponse au bout de 20 secondes. 55 Chapitre III: Implémentation d'un serveur Asterisk Explication de cette ligne: exten => : On déclare l'extensions _6XXX : Toujours les numéros de 6000 à 6999 2 : Priorité VoiceMail: On lance l'application Voicemail ${EXTEN}@work : On récupère la numéro mis en variable et on se connecte à la boite vocale associé du contexte work (comme précisé dans le fichier voicemail.conf) On a aussi rajouté la ligne suivante: exten => 600,1,VoiceMailMain(${CALLERID(num)}@work) Cette ligne sert à mettre en place un numéro pour que nos utilisateurs puissent consulter leurs boîtes vocales. exten => : On déclare l'extension 600 : On déclare le numéro 600 comme numéro de messagerie 1 : Priorité VoiceMailMain : On appelle l'application VoiceMailMain ${CALLERID(num)} : On récupère le numéros de l'utilisateur qui appelle pour se connecter à sa boîte vocale @work : on est toujours dans le contexte work Lorsqu'on fait un reload de notre serveur Asterisk, on peut déposer des messages vocaux entre nos utilisateurs et faires en sortes qu'ils consultent les messageries en appelant le 600. c. Création d'un mot de passe crypté Les mots de passe des clients SIP sont stockés en clair dans le serveur Asterisk, et peuvent être identifiés par plusieurs méthodes : - Dans le fichier SIP.conf, lorsqu'on définit les mots de passe des utilisateurs: Dans notre exemple le mot de passe de client 6001 est 1234 [6001] Type=friend Host=dynamic fullname= mustapha boumaza username = mustapha secret=1234 context = work 56 Chapitre III: Implémentation d'un serveur Asterisk - La commande console : sip show users Les mots de passe sont cryptés à l'aide de la méthode MD5, utilisé comme couche de sécurité de base. Voici la structure nécessaire pour la génération du hash MD5 : echo -n "utilisateur:Asterisk:motdepasse" | md5sum Des modifications seront nécessaires dans sip.conf pour que la configuration soit fonctionnelle. Dans notre cas on a crypté les deux clients 6001 & 6002, donc on change la ligne secret par md5secret Le résultat est le suivant : - Avant cryptage : 57 Chapitre III: Implémentation d'un serveur Asterisk - Après cryptage Dans les lignes des deux clients 6001 & 6002 les mots de passe ne sont pas visibles. d. Surveiller son système en lisant les logs : Les journaux d'activité d'Asterisk (ou fichiers de log) sont classés dans le répertoire /var/log/Asterisk. On y retrouve des informations importantes, comme une erreur survenue dans le programme ou dans un de ses modules, les connexions qui arrivent à notre serveur Asterisk. Ces fichiers sont en fait des indicateurs de santé du serveur Asterisk. Le fichier le plus important pour l'administration et la surveillance du serveur Asterisk est /var/log/Asterisk/messages. La configuration des journaux d'activité s'effectue dans le fichier /etc/Asterisk/logger.conf. Configuration du journal d'activité (fichier /etc/Asterisk/logger.conf) [general] [logfiles] console =>notice,warning,error,debug,verbose,dtmf messages =>notice,warning,error Figure III.8 : fichiers de log 58 Chapitre III: Implémentation d'un serveur Asterisk
CDR (Call Detail Records) sont indispensables à tout système de téléphonie d'entreprise, principalement pour des raisons de sécurité. Ils contiennent en effet les informations sur les appels traités par Asterisk (numéro appelant, destination, durée de l'appel, etc.). Avec l'authentification et le contrôle d'accès, la traçabilité est le troisième pilier qui soutient la politique de sécurité du système d'information dans l'entreprise. Pour le système de téléphonie, les tickets de taxation sont les éléments de base qui permettront, en cas de besoin, de vérifier l'utilisation du système, et donc d'assurer la 59 Chapitre III: Implémentation d'un serveur Asterisk traçabilité des communications téléphoniques. Asterisk dispose de plusieurs interfaces d'enregistrement de tickets de taxation, auxquelles accèdent différents modules. La configuration de base du CDR est déjas présente dans le fichier cdr.conf Le module cdr_csv sera chargé au démarrage d'Asterisk, sinon il est possible de le charger comme ceci : Asterisk -rvvvvvvv Module load cdr-csv.so Pour confirmer que le module apparaît bien via la commande console cdr show status. Les CDR seront enregistrés dans le répertoire /var/log/Asterisk/cdr-csv/Master.csv. La figure suivante montre le format général du fichier Master.csv Figure III.9 : format général du fichier Master.csv Parmi les colonnes, nous retrouvons : ? Clid: l'ID de l'appelant ? Start : date de début de l'appel ? Answer: date de la réponse ? End : date de fin de l'appel ? Duration : durée total de l'appel 60 Chapitre III: Implémentation d'un serveur Asterisk |
|