WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

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
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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

e. Archivage

Pour éviter des fichiers de logs trop volumineux pour Asterisk, il est judicieux de mettre en place une rotation de ces fichiers. Pour l'archivage du journal d'activité logrotate est utilisé. Ce programme vient en général s'installer avec le système d'exploitation

On trouvera donc un fichier /etc/logrotate.d/Asterisk destiné à archiver le journal d'activité. Archivage du journal d'activité (fichier /etc/logrotate.d/Asterisk)

compress

/var/log/Asterisk/messages {

daily

missingok

rotate 30

sharedscripts

postrotate

/usr/sbin/rAsterisk -x 'logger reload' >/dev/null 2>/dev/null || true

endscript }

Quelques explications sur les instructions de ce fichier s'imposent.

Les archives sont compressées par le programme gzip et suffixées par .gz.

Avec le journal d'activité, le fichier messages existant dans la repertoir /var/log/Asterisk est archivé.

Les archives sont réalisées quotidiennement et trente jours d'enregistrement d'activité sont conservés.

Une fois les archives créées, c'est-à-dire après l'exécution périodique du programme logrotate, la commande console loggerre load est exécutée (via le programme Asterisk) afin de créer un nouveau fichier /var/log/Asterisk/message. L'instruction sharedscripts permet de n'exécuter cette commande qu'une fois, plutôt que pour chaque archive enregistrée.

f. Solution CDR (CALL Detail Record) dans 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

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Soit réservé sans ostentation pour éviter de t'attirer l'incompréhension haineuse des ignorants"   Pythagore