SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Installation et configuration d'un serveur IPBX Asterisk 1.4
Sommaire
1 - Installation d’Asterisk
1.1 Prérequis
1.2 Récupération des sources
1.3 Compilation
2 - Configuration d’Asterisk
2.1 sip.conf
2.2 extensions.conf
2.3 Prise en compte des configurations
3 - Ajout de fonctions
3.1 Transfert d’appel
3.2 Mise en attente
3.3 Messagerie vocale
3.4 Configuration du MTA pour la messagerie vocale
4 - Asterisk en temps réel avec MySQL
4.1 Prérequis
4.2 Récupération des sources Asterisk Add-Ons
4.3 Compilation
4.4 Configuration initiale
4.5 Migration du fichier sip.conf
4.6 Migration du fichier extension.conf
1 - Installation d'Asterisk
1.1 Prérequis
Liste des dépendances nécessaires à l’installation :
- glibc-source
- ncurses-dev
- zlib1g-dev
1.2 Récupération des sources
Direction www.asterisk.org pour récupérer les sources.
Il est conseillé de choisir la version LTS (Long Time Support), ici la version 1.4.
On télécharge l’archive dans le répertoire /usr/src/, puis on détare :
1.3 Compilation
On se déplace dans le répertoire détarré et on compile:
On crée des fichiers de configuration d’exemple.
On copie le bon script init pour le lancement automatique au démarrage suivant sa distribution,
ici Debian.
# cp /usr/src/astrisk/contrib/init.d/rc.debian.asterisk /etc/init.d/asterisk
Attention : Ce script semble problématique sur Debian 5. En effet, si Asterisk est lancé
par ce biais, la consommation du CPU monte à 99% en permanance.
Un moyen de contourner ce problème peut être de passer par inittab, en ajoutant dans celui-ci :
Le 2 correspond au runlevel, donc de cette manière asterisk se lance au démarrage et se
relance grâce au respawn si le processus meurt pour n’importe quelle raison. On n’oublie pas
de désactiver le script init au démarrage :
2 - Configuration d’Asterisk
Pour qu’Asterisk fonctionne de manière basique, il est nécessaire de modifier seulement deux
fichiers de configuration : sip.conf et extensions.conf.
Ces fichiers de configurations se trouvent dans /etc/asterisk.
2.1 sip.conf
C’est dans ce fichier que l’on définit les comptes sip des utilisateurs. Pour être fonctionnel, un
compte a besoin d’au minimum 6 lignes :
Voyons en détail chaque ligne :
[utilisateur1] est le début du bloc SIP. Les informations présentes après cette ligne
concerneront le compte [utilisateur1].
type=friend permet d’appeler et d’être appelé.
host=dynamic l’adresse ip du client est définie par DHCP. Si son IP était fixe on l’aurait
précisé ici.
user=utilisateur1 le nom utilisateur
secret=mysceret le mot de passe en clair
context=default le contexte auquel le compte est associé dans le dialplan (servira pour le
fichier extensions.conf)
Une liste des options possibles :
http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf#SIPconfigurationspeersandclients
A noter qu’en utilisant ’secret’, le mot de passe est stocké en clair. Il est préférable d’utiliser
’md5secret’, qui, comme son nom l’indique, utilisera un hash md5. Voici la structure nécessaire
pour la génération du hash :
Par défaut le realm est ’asterisk’. Pour générer le hash de l’utilisateur toto qui a pour mot de
passe ’tutu’ avec bash, on fait donc :
2.2 extensions.conf
C’est dans ce fichier que l’on définit le dialplan, c’est à dire le plan de la numérotation. On
explicite l’action qui se déroulera si l’on compose un numéro. Voici ce que pourrait contenir
ce fichier :
Le [default] est ce qu’on appelle un contexte. Le contexte est une zone où la portée des
actions est limitée. Cela permet par exemple d’attribuer deux numéros identiques à des
utilisateurs différents, l’un ou l’autre sera contacté suivant le contexte définit dans le compte
SIP de l’utilisateur cherchant à les joindre.
La ligne suivante nous montre comment enregistrer une extension.
On commence par le mot clé exten suivi d’une flèche =>.
Le 100 est le numéro que l’on souhaite associer, c’est ce que l’on composera sur le téléphone.
Le 1 est le numéro de séquence. On peut en effet ordonner plusieurs actions pour une même
extension.
Dial(SIP/utilisateur1) est l’action à effectuer. On appelle ici la fonction Dial(), qui déclenche
l’appel, avec pour argument SIP/utilisateur1 pour appeler le compte SIP utilisateur1.
Ici donc, pour tous les utilisateurs du contexte default, composer le 100 appelera l’utilisateur1
Un petit exemple pour assimiler la notion de séquence :
Ici, j’attends 5 secondes avant de sonner, puis j’appelle l’utilisateur1.De nombreuses actions
sont possibles, au dela du simple appel. En voici une liste :
http://www.voip-info.org/tiki-index.php?page=Asterisk+-+documentation+of+application+commands
2.3 Prise en compte des configurations
Pour toute modification du sip.conf et du extensions.conf, il est nécessaire qu’Asterisk
recharge ces fichiers. Pour cela, on se logue sur la console d’Asterisk :
Puis on recharge Asterisk :
La commande suivante permet de recharger uniquement le dialplan (extensions.conf) :
A ce moment-là, le serveur est opérationnel. L’utilisateur1 possède un compte SIP et un numéro
lui est associé. Il ne reste plus qu’à ajouter d’autres utilisateurs et mettre à jour le dialplan.
3 - Ajout de fonctions
Il faut noter que le transfert d’appel et la mise en attente sont souvent directement implémentés
dans les softphone et les terminaux SIP. Les manipulations suivantes permettent de les activer
directement dans Asterisk, ce qui permet de s’affranchir d’un logiciel ou matériel particulier.
3.1 Transfert d’appel
Il est nécessaire avant tout d’activer les tonalités DTMF à la fois côté client et serveur. Pour
Asterisk, il suffit d’ajouter la ligne suivante dans sip.conf, dans le contexte [général] ou pour
chaque utilisateur :
La démarche à suivre côté client dépend du client, il faut regarder du coté des paramètres SIP.
Pour activer le transfert d’appel, il suffit simplement de modifier les paramètres de la fonction
Dial dans extensions.conf :
Après SIP/utilisateur1, nous avon ajouté les options t et T qui autorisent l’appelé et l’appelant
à transférer l’appel (nous reviendrons sur les deux virgules précédentes dans une prochaine
section).
Pour effectuer le transfert, il faut appuyer durant une communication sur le # (on entend à ce
moment la ”transfer”) suivi du numéro sur lequel on souhaite transférer l’appel.
3.2 Mise en attente
La mise en attente permet de mettre une communication en pause. Cela est très utile, car du
coup la ligne est libérée. On peut alors composer un autre numéro, ou récupérer l’appel sur un
autre poste.
Il est là aussi nécessaire d’activer les tonalités DTMF (cf section précédente). Pour activer la
mise en attente, il suffit d’ajouter la ligne suivante dans le contexte default du fichier
extensions.conf :
Pour mettre son interlocuteur en attente lors d’un appel, il faut composer le #700. Le serveur
attribue un numéro au sein du parc d’attente. On peut alors raccrocher, changer de poste, et
reprendre l’appel en composant le numéro annoncé par le serveur.
3.3 Messagerie vocale
Si on veut que la voix de la messagerie soit en français, il faut le spécifier lors de la
compilation d’Asterisk à l’aide de la commande :
Il faut ensuite ajouter dans le contexte [general] de sip.conf la ligne suivante :
On crée une boite vocale dans le fichier /etc/asterisk/voicemail.conf, dans la partie [default] :
Le 100 est le numéro de téléphone auquel on associe la boite vocale.
Le 1010 est le mot de passe de la messagerie.
Suivent le nom de l’utilisateur, ainsi que son mail. Le mail servira à l’alerter en cas de
réception de message vocal, à condition qu’un MTA soit correctement configuré (nous le
verrons plus tard).
La boite vocale est maintenant déclarée, il reste à l’inclure dans extensions.conf pour qu’elle
soit utilisée :
Nous avions déjà vu un exemple de séquences, en voici un nouveau.
La première action effectuée lorsque l’on compose le 101 est l’appel de l’utilisateur1. Le 10
situé après la virgule est le timeout avant de passer à la deuxième séquence. C’est pour cela
que l’on avait mis deux virgules de suite dans la section transfert d’appel.
Une fois le timeout atteint, on bascule sur la deuxième séquence, qui est l’appel de la boite
vocale avec la fonction Voicemail.
Enfin, on raccroche avec la fonction Hangup.
3.4 Configuration du MTA pour la messagerie vocale
Il est en effet très intéressant de passer par une alerte mail lors de la réception d’un message :
l’utilisateur est alors au courant qu’il a un message, et peut l’écouter directement en pièce jointe.
On a déjà renseigné l’adresse mail de l’utilisateur dans voicemail.conf, il ne reste plus qu’à
configurer un MTA.
J’ai ici arbitrairement choisi exim4, car c’est le MTA par défaut de Debian.
Puisque exim4 est déjà installé, on va simplement le reconfigurer :
dpkg-reconfigure exim4-config
Type de configuration : Distribution directe par SMTP (site Internet)
Nom de courriel du système :le FQDN
Liste d’adresses IP où Exim sera en attente de connexions SMTP entrantes : 127.0.0.1
Autres destinations dont le courriel doit être accepté : vide
Domaines à relayer : vide
Machines à relayer : vide
Faut-il minimiser les requêtes DNS (connexions à la demande) ? Non
Méthode de distribution du courrier local : Format "mbox" dans /var/mail
Faut-il séparer la configuration dans plusieurs fichiers ? Non
Le serveur mail va se relancer, Asterisk est désormais capable d’envoyer des mails d’alerte avec le
message vocal en pièce jointe.
4 - Asterisk en temps réel avec MySQL
Comme nous venons de le voir, pour que toute modification de sip.conf ou extensions.conf
soit prise en compte, il est nécessaire de recharger le serveur Asterisk. Si on a un vrai besoin
d’une prise en compte en temps réel et d’une plus grande souplesse dans la configuration, la
migrer vers MySQL peut être extrêmement intéressant.
On peut en fait se servir de tables au lieu de fichiers de configuration. Lorsque l’on modifiera
ces tables, celles-ci seront prises en compte instantanément, sans avoir besoin de recharger le
serveur.
Cette fonctionnalité, bien que puissante, est considérée comme experimentale. C’est pour
cette raison qu’elle n’est pas présente directement dans les sources. Il est nécessaire de
télécharger et installer les Add-Ons d’Asterisk.
4.1 Prérequis
Dépendances nécessaires :
- mysql-client
- mysql-server
- libmysqlclient-dev
4.2 Récupération des sources Asterisk Add-Ons
Toujours sur www.asterisk.org, on télécharge les sources dans /usr/src puis on détarre :
4.3 Compilation
On se déplace dans le répertoire détaré et on compile :
Il est conseillé de vérifier avec make menuselect si les modules dépendants de mysql sont bien
activés et s’il ne manque aucune dépendance.
4.4 Configuration initiale
Une fois la compilation effectuée, il on copie ces 2 fichiers :
Les paramètres de connexion d’Asterisk à MySQL sont définis dans le fichier res_mysql.conf :
4.5 Migration du fichier sip.conf
En premier lieu il est nécessaire de créer la base ’asterisk’ dans MySQL.
On entre la requete SQL suivante à l’aide du client mysql en ligne de commande ou au travers
d’une interface web de type phpmyadmin :
Puis on crée la table ’sip’ :
mysql>CREATE TABLE ‘sip‘ (
‘id‘ int(11) NOT NULL auto_increment,‘name‘ varchar(80) NOT NULL default ’’,
‘accountcode‘ varchar(20) default NULL,‘amaflags‘ varchar(13) default NULL,
‘callgroup‘ varchar(10) default NULL,‘callerid‘ varchar(80) default NULL,
‘canreinvite‘ char(3) default ’yes’,‘context‘ varchar(80) default NULL,
‘defaultip‘ varchar(15) default NULL,‘dtmfmode‘ varchar(7) default NULL,
‘fromuser‘ varchar(80) default NULL,‘fromdomain‘ varchar(80) default NULL,
‘fullcontact‘ varchar(80) default NULL,‘host‘ varchar(31) NOT NULL default ’’,
‘insecure‘ varchar(4) default NULL,‘language‘ char(2) default NULL,
‘mailbox‘ varchar(50) default NULL,‘md5secret‘ varchar(80) default NULL,
‘nat‘ varchar(5) NOT NULL default ’no’,‘deny‘ varchar(95) default NULL,
‘permit‘ varchar(95) default NULL,‘mask‘ varchar(95) default NULL,
‘pickupgroup‘ varchar(10) default NULL,‘port‘ varchar(5) NOT NULL default ’’,
‘qualify‘ char(3) default NULL,‘restrictcid‘ char(1) default NULL,
‘rtptimeout‘ char(3) default NULL,‘rtpholdtimeout‘ char(3) default NULL,
‘secret‘ varchar(80) default NULL,‘type‘ varchar(6) NOT NULL default ’friend’,
‘username‘ varchar(80) NOT NULL default ’’,‘disallow‘ varchar(100) default ’all’,
‘allow‘ varchar(100) default ’g729;ilbc;gsm;ulaw;alaw’,
‘musiconhold‘ varchar(100) default NULL,‘regseconds‘ int(11) NOT NULL default ’0’,
‘ipaddr‘ varchar(15) NOT NULL default ’’,‘regexten‘ varchar(80) NOT NULL default ’’,
‘cancallforward‘ char(3) default ’yes’,‘setvar‘ varchar(100) NOT NULL default ’’,
PRIMARY KEY (‘id‘),
UNIQUE KEY ‘name‘ (‘name‘),
KEY ‘name_2‘ (‘name‘)
) TYPE=MyISAM ROW_FORMAT=DYNAMIC;
La requête est intentionnellement lourde pour avoir tous les champs disponibles dès le départ.
Cela permet d’affecter des valeurs par défaut sur certains champs, et d’avoir les autres déjà prêts
pour plus tard, au cas où.
On va créer un compte avec cette requête :
Pour vérifier, on va utiliser le CLI de MySQL. On se connecte sur la base asterisk :
On regarde les champs précédemment remplis :
Enfin, on va spécifier à Asterisk d’aller chercher les paramètres SIP dans MySQL. Il suffit
d’ajouter ces 2 lignes à la fin du fichier extconfig.conf :
Au prochain redémarrage d’Asterisk, il ira chercher les données des comptes SIP dans la table
sip de MySQL en complément du fichier sip.conf.
4.6 Migration du fichier extension.conf
On crée la table SQL ’extensions’ :
On renseigne cette table avec un numéro de téléphone associé au compte SIP précédemment
créé :
On vérifie à l’aide de la requête suivante :
La structure est quasiment identique au fichier extensions.conf.
Comme précédemment, il faut rajouter une ligne à extconfig.conf pour dire à Asterisk d’aller
chercher les extensions dans MySQL :
# echo ’extensions => mysql,asterisk,extensions’ >> /etc/asterisk/extconfig.conf
Enfin, il faut rajouter à la fin de extensions.config une ligne renvoyant vers la base SQL :
Au prochain redémarrage d’Asterisk, les extensions seront chargées à partir de la table MYSQL
’asterisk’, en complément du fichier extensions.conf.

Contenu connexe

Tendances

éTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécuriséeéTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécuriséeSaad Jouhari
 
Déploiement d'un serveur Asterisk
Déploiement d'un serveur Asterisk Déploiement d'un serveur Asterisk
Déploiement d'un serveur Asterisk ImnaTech
 
Asterisk to ip_rapport
Asterisk to ip_rapportAsterisk to ip_rapport
Asterisk to ip_rapportGilles Samba
 
Mise en place d'une solution VOIP sécurisée
Mise en place d'une solution VOIP sécuriséeMise en place d'une solution VOIP sécurisée
Mise en place d'une solution VOIP sécuriséeOlivierMawourkagosse
 
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Manassé Achim kpaya
 
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurations
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurationsMise en oeuvre de la VoIP sous Trixbox - Installation et configurations
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurationsStephen Salama
 
Sécurité asterisk web
Sécurité asterisk webSécurité asterisk web
Sécurité asterisk webAgarik
 
Rapport de stage TOIP/VOIP
Rapport de stage TOIP/VOIPRapport de stage TOIP/VOIP
Rapport de stage TOIP/VOIPMounir Kaali
 
Projet haute disponibilité asterisk pdf
Projet haute disponibilité asterisk pdfProjet haute disponibilité asterisk pdf
Projet haute disponibilité asterisk pdfAbderahim Amine Ali
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Ousmane BADJI
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagioschristedy keihouad
 
Vulnérabilités de vo ip et sécurisation
Vulnérabilités de vo ip et sécurisationVulnérabilités de vo ip et sécurisation
Vulnérabilités de vo ip et sécurisationMoustapha Mbow
 
La VoIP,Elastix, CentOs, Codima, WireShark
La VoIP,Elastix, CentOs, Codima, WireSharkLa VoIP,Elastix, CentOs, Codima, WireShark
La VoIP,Elastix, CentOs, Codima, WireSharkAbdelhamid KHIRENNAS
 

Tendances (20)

éTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécuriséeéTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécurisée
 
TELEPHONIE SUR IP
TELEPHONIE SUR IPTELEPHONIE SUR IP
TELEPHONIE SUR IP
 
Asterisk
AsteriskAsterisk
Asterisk
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
Rapport de fin d'etude
Rapport  de fin d'etudeRapport  de fin d'etude
Rapport de fin d'etude
 
Déploiement d'un serveur Asterisk
Déploiement d'un serveur Asterisk Déploiement d'un serveur Asterisk
Déploiement d'un serveur Asterisk
 
Asterisk to ip_rapport
Asterisk to ip_rapportAsterisk to ip_rapport
Asterisk to ip_rapport
 
Mise en place d'une solution VOIP sécurisée
Mise en place d'une solution VOIP sécuriséeMise en place d'une solution VOIP sécurisée
Mise en place d'une solution VOIP sécurisée
 
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
 
ToIP
ToIPToIP
ToIP
 
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurations
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurationsMise en oeuvre de la VoIP sous Trixbox - Installation et configurations
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurations
 
Sécurité asterisk web
Sécurité asterisk webSécurité asterisk web
Sécurité asterisk web
 
Rapport de stage TOIP/VOIP
Rapport de stage TOIP/VOIPRapport de stage TOIP/VOIP
Rapport de stage TOIP/VOIP
 
Projet haute disponibilité asterisk pdf
Projet haute disponibilité asterisk pdfProjet haute disponibilité asterisk pdf
Projet haute disponibilité asterisk pdf
 
Présentation VOIP
Présentation  VOIPPrésentation  VOIP
Présentation VOIP
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7
 
Rapport PFE VoIP
Rapport PFE VoIPRapport PFE VoIP
Rapport PFE VoIP
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagios
 
Vulnérabilités de vo ip et sécurisation
Vulnérabilités de vo ip et sécurisationVulnérabilités de vo ip et sécurisation
Vulnérabilités de vo ip et sécurisation
 
La VoIP,Elastix, CentOs, Codima, WireShark
La VoIP,Elastix, CentOs, Codima, WireSharkLa VoIP,Elastix, CentOs, Codima, WireShark
La VoIP,Elastix, CentOs, Codima, WireShark
 

Similaire à Installation et configuration asterisk

Communication avec le serveur Astrisk
Communication avec le serveur AstriskCommunication avec le serveur Astrisk
Communication avec le serveur AstriskImnaTech
 
02 tp asterisk_trunk
02 tp asterisk_trunk02 tp asterisk_trunk
02 tp asterisk_trunkRakoto Zafy
 
installation et configuration Squirremail
installation et configuration Squirremailinstallation et configuration Squirremail
installation et configuration Squirremailiferis
 
Rapport TME_semaine_7_KAID_NHEK
Rapport TME_semaine_7_KAID_NHEKRapport TME_semaine_7_KAID_NHEK
Rapport TME_semaine_7_KAID_NHEKBelkacem KAID
 
Mise en place d'un serveur de mail complet linux server wiki
Mise en place d'un serveur de mail complet   linux server wikiMise en place d'un serveur de mail complet   linux server wiki
Mise en place d'un serveur de mail complet linux server wikidebaros
 
Trunk IAX et Conférence sur Asterisk
Trunk IAX et Conférence sur AsteriskTrunk IAX et Conférence sur Asterisk
Trunk IAX et Conférence sur AsteriskEmeric Kamleu Noumi
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)ninanoursan
 
serveur kanne passerelle-sms
serveur kanne  passerelle-smsserveur kanne  passerelle-sms
serveur kanne passerelle-smsKomaps99
 
Cisco Call Manager on CISCO IOS
Cisco Call Manager on CISCO IOSCisco Call Manager on CISCO IOS
Cisco Call Manager on CISCO IOSHermann GBILIMAKO
 
L’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueL’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueAmadou Dia
 
Mise en place de service FTP kalinux.pdf
Mise en place de service FTP kalinux.pdfMise en place de service FTP kalinux.pdf
Mise en place de service FTP kalinux.pdfImnaTech
 

Similaire à Installation et configuration asterisk (20)

Communication avec le serveur Astrisk
Communication avec le serveur AstriskCommunication avec le serveur Astrisk
Communication avec le serveur Astrisk
 
02 tp asterisk_trunk
02 tp asterisk_trunk02 tp asterisk_trunk
02 tp asterisk_trunk
 
installation et configuration Squirremail
installation et configuration Squirremailinstallation et configuration Squirremail
installation et configuration Squirremail
 
SERVICES RESEAUX AVANCES
SERVICES RESEAUX AVANCESSERVICES RESEAUX AVANCES
SERVICES RESEAUX AVANCES
 
Configuration rnis
Configuration rnisConfiguration rnis
Configuration rnis
 
Rapport TME_semaine_7_KAID_NHEK
Rapport TME_semaine_7_KAID_NHEKRapport TME_semaine_7_KAID_NHEK
Rapport TME_semaine_7_KAID_NHEK
 
Mise en place d'un serveur de mail complet linux server wiki
Mise en place d'un serveur de mail complet   linux server wikiMise en place d'un serveur de mail complet   linux server wiki
Mise en place d'un serveur de mail complet linux server wiki
 
Trunk IAX et Conférence sur Asterisk
Trunk IAX et Conférence sur AsteriskTrunk IAX et Conférence sur Asterisk
Trunk IAX et Conférence sur Asterisk
 
Rapport des travaux
Rapport des travauxRapport des travaux
Rapport des travaux
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
 
serveur kanne passerelle-sms
serveur kanne  passerelle-smsserveur kanne  passerelle-sms
serveur kanne passerelle-sms
 
Messagerie
MessagerieMessagerie
Messagerie
 
Expozimbra
ExpozimbraExpozimbra
Expozimbra
 
Cisco Call Manager on CISCO IOS
Cisco Call Manager on CISCO IOSCisco Call Manager on CISCO IOS
Cisco Call Manager on CISCO IOS
 
532357212ccf0
532357212ccf0532357212ccf0
532357212ccf0
 
Cours couche application
Cours couche applicationCours couche application
Cours couche application
 
L’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueL’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en Pratique
 
voip
voipvoip
voip
 
Mise en place de service FTP kalinux.pdf
Mise en place de service FTP kalinux.pdfMise en place de service FTP kalinux.pdf
Mise en place de service FTP kalinux.pdf
 

Plus de Gilles Samba

Architecture reseau mobile
Architecture reseau mobileArchitecture reseau mobile
Architecture reseau mobileGilles Samba
 
Etude des modeles_ns2
Etude des modeles_ns2Etude des modeles_ns2
Etude des modeles_ns2Gilles Samba
 
Dsr aodv performance
Dsr aodv performanceDsr aodv performance
Dsr aodv performanceGilles Samba
 
Mpls foudhaili oussama
Mpls foudhaili oussamaMpls foudhaili oussama
Mpls foudhaili oussamaGilles Samba
 
4 g americas glossary of wireless acronyms 2012
4 g americas glossary of wireless acronyms 20124 g americas glossary of wireless acronyms 2012
4 g americas glossary of wireless acronyms 2012Gilles Samba
 
4 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v34 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v3Gilles Samba
 
4 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v34 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v3Gilles Samba
 
Cour simulation ns2
Cour simulation ns2Cour simulation ns2
Cour simulation ns2Gilles Samba
 
2 architecture reseau-mobile
2 architecture reseau-mobile2 architecture reseau-mobile
2 architecture reseau-mobileGilles Samba
 

Plus de Gilles Samba (18)

Asterisk trixbox
Asterisk trixboxAsterisk trixbox
Asterisk trixbox
 
Architecture reseau mobile
Architecture reseau mobileArchitecture reseau mobile
Architecture reseau mobile
 
Apport de la_lte
Apport de la_lteApport de la_lte
Apport de la_lte
 
Acces umts efort
Acces umts efortAcces umts efort
Acces umts efort
 
Cours ipv6pdf
Cours ipv6pdfCours ipv6pdf
Cours ipv6pdf
 
Evaluation aodv
Evaluation aodvEvaluation aodv
Evaluation aodv
 
Etude des modeles_ns2
Etude des modeles_ns2Etude des modeles_ns2
Etude des modeles_ns2
 
Dsr aodv performance
Dsr aodv performanceDsr aodv performance
Dsr aodv performance
 
Mpls foudhaili oussama
Mpls foudhaili oussamaMpls foudhaili oussama
Mpls foudhaili oussama
 
4 g evolution
4 g evolution4 g evolution
4 g evolution
 
4 g
4 g4 g
4 g
 
4 g americas glossary of wireless acronyms 2012
4 g americas glossary of wireless acronyms 20124 g americas glossary of wireless acronyms 2012
4 g americas glossary of wireless acronyms 2012
 
4 g lte
4 g lte4 g lte
4 g lte
 
4 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v34 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v3
 
Umts et wan
Umts et wanUmts et wan
Umts et wan
 
4 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v34 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v3
 
Cour simulation ns2
Cour simulation ns2Cour simulation ns2
Cour simulation ns2
 
2 architecture reseau-mobile
2 architecture reseau-mobile2 architecture reseau-mobile
2 architecture reseau-mobile
 

Dernier

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 

Dernier (20)

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 

Installation et configuration asterisk

  • 1. Installation et configuration d'un serveur IPBX Asterisk 1.4 Sommaire 1 - Installation d’Asterisk 1.1 Prérequis 1.2 Récupération des sources 1.3 Compilation 2 - Configuration d’Asterisk 2.1 sip.conf 2.2 extensions.conf 2.3 Prise en compte des configurations 3 - Ajout de fonctions 3.1 Transfert d’appel 3.2 Mise en attente 3.3 Messagerie vocale 3.4 Configuration du MTA pour la messagerie vocale 4 - Asterisk en temps réel avec MySQL 4.1 Prérequis 4.2 Récupération des sources Asterisk Add-Ons 4.3 Compilation 4.4 Configuration initiale 4.5 Migration du fichier sip.conf 4.6 Migration du fichier extension.conf 1 - Installation d'Asterisk 1.1 Prérequis Liste des dépendances nécessaires à l’installation : - glibc-source - ncurses-dev - zlib1g-dev 1.2 Récupération des sources Direction www.asterisk.org pour récupérer les sources. Il est conseillé de choisir la version LTS (Long Time Support), ici la version 1.4. On télécharge l’archive dans le répertoire /usr/src/, puis on détare :
  • 2. 1.3 Compilation On se déplace dans le répertoire détarré et on compile: On crée des fichiers de configuration d’exemple. On copie le bon script init pour le lancement automatique au démarrage suivant sa distribution, ici Debian. # cp /usr/src/astrisk/contrib/init.d/rc.debian.asterisk /etc/init.d/asterisk Attention : Ce script semble problématique sur Debian 5. En effet, si Asterisk est lancé par ce biais, la consommation du CPU monte à 99% en permanance. Un moyen de contourner ce problème peut être de passer par inittab, en ajoutant dans celui-ci : Le 2 correspond au runlevel, donc de cette manière asterisk se lance au démarrage et se relance grâce au respawn si le processus meurt pour n’importe quelle raison. On n’oublie pas de désactiver le script init au démarrage : 2 - Configuration d’Asterisk Pour qu’Asterisk fonctionne de manière basique, il est nécessaire de modifier seulement deux fichiers de configuration : sip.conf et extensions.conf. Ces fichiers de configurations se trouvent dans /etc/asterisk.
  • 3. 2.1 sip.conf C’est dans ce fichier que l’on définit les comptes sip des utilisateurs. Pour être fonctionnel, un compte a besoin d’au minimum 6 lignes : Voyons en détail chaque ligne : [utilisateur1] est le début du bloc SIP. Les informations présentes après cette ligne concerneront le compte [utilisateur1]. type=friend permet d’appeler et d’être appelé. host=dynamic l’adresse ip du client est définie par DHCP. Si son IP était fixe on l’aurait précisé ici. user=utilisateur1 le nom utilisateur secret=mysceret le mot de passe en clair context=default le contexte auquel le compte est associé dans le dialplan (servira pour le fichier extensions.conf) Une liste des options possibles : http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf#SIPconfigurationspeersandclients A noter qu’en utilisant ’secret’, le mot de passe est stocké en clair. Il est préférable d’utiliser ’md5secret’, qui, comme son nom l’indique, utilisera un hash md5. Voici la structure nécessaire pour la génération du hash : Par défaut le realm est ’asterisk’. Pour générer le hash de l’utilisateur toto qui a pour mot de passe ’tutu’ avec bash, on fait donc : 2.2 extensions.conf
  • 4. C’est dans ce fichier que l’on définit le dialplan, c’est à dire le plan de la numérotation. On explicite l’action qui se déroulera si l’on compose un numéro. Voici ce que pourrait contenir ce fichier : Le [default] est ce qu’on appelle un contexte. Le contexte est une zone où la portée des actions est limitée. Cela permet par exemple d’attribuer deux numéros identiques à des utilisateurs différents, l’un ou l’autre sera contacté suivant le contexte définit dans le compte SIP de l’utilisateur cherchant à les joindre. La ligne suivante nous montre comment enregistrer une extension. On commence par le mot clé exten suivi d’une flèche =>. Le 100 est le numéro que l’on souhaite associer, c’est ce que l’on composera sur le téléphone. Le 1 est le numéro de séquence. On peut en effet ordonner plusieurs actions pour une même extension. Dial(SIP/utilisateur1) est l’action à effectuer. On appelle ici la fonction Dial(), qui déclenche l’appel, avec pour argument SIP/utilisateur1 pour appeler le compte SIP utilisateur1. Ici donc, pour tous les utilisateurs du contexte default, composer le 100 appelera l’utilisateur1 Un petit exemple pour assimiler la notion de séquence : Ici, j’attends 5 secondes avant de sonner, puis j’appelle l’utilisateur1.De nombreuses actions sont possibles, au dela du simple appel. En voici une liste : http://www.voip-info.org/tiki-index.php?page=Asterisk+-+documentation+of+application+commands 2.3 Prise en compte des configurations Pour toute modification du sip.conf et du extensions.conf, il est nécessaire qu’Asterisk recharge ces fichiers. Pour cela, on se logue sur la console d’Asterisk : Puis on recharge Asterisk : La commande suivante permet de recharger uniquement le dialplan (extensions.conf) :
  • 5. A ce moment-là, le serveur est opérationnel. L’utilisateur1 possède un compte SIP et un numéro lui est associé. Il ne reste plus qu’à ajouter d’autres utilisateurs et mettre à jour le dialplan. 3 - Ajout de fonctions Il faut noter que le transfert d’appel et la mise en attente sont souvent directement implémentés dans les softphone et les terminaux SIP. Les manipulations suivantes permettent de les activer directement dans Asterisk, ce qui permet de s’affranchir d’un logiciel ou matériel particulier. 3.1 Transfert d’appel Il est nécessaire avant tout d’activer les tonalités DTMF à la fois côté client et serveur. Pour Asterisk, il suffit d’ajouter la ligne suivante dans sip.conf, dans le contexte [général] ou pour chaque utilisateur : La démarche à suivre côté client dépend du client, il faut regarder du coté des paramètres SIP. Pour activer le transfert d’appel, il suffit simplement de modifier les paramètres de la fonction Dial dans extensions.conf : Après SIP/utilisateur1, nous avon ajouté les options t et T qui autorisent l’appelé et l’appelant à transférer l’appel (nous reviendrons sur les deux virgules précédentes dans une prochaine section). Pour effectuer le transfert, il faut appuyer durant une communication sur le # (on entend à ce moment la ”transfer”) suivi du numéro sur lequel on souhaite transférer l’appel. 3.2 Mise en attente La mise en attente permet de mettre une communication en pause. Cela est très utile, car du coup la ligne est libérée. On peut alors composer un autre numéro, ou récupérer l’appel sur un autre poste. Il est là aussi nécessaire d’activer les tonalités DTMF (cf section précédente). Pour activer la mise en attente, il suffit d’ajouter la ligne suivante dans le contexte default du fichier extensions.conf :
  • 6. Pour mettre son interlocuteur en attente lors d’un appel, il faut composer le #700. Le serveur attribue un numéro au sein du parc d’attente. On peut alors raccrocher, changer de poste, et reprendre l’appel en composant le numéro annoncé par le serveur. 3.3 Messagerie vocale Si on veut que la voix de la messagerie soit en français, il faut le spécifier lors de la compilation d’Asterisk à l’aide de la commande : Il faut ensuite ajouter dans le contexte [general] de sip.conf la ligne suivante : On crée une boite vocale dans le fichier /etc/asterisk/voicemail.conf, dans la partie [default] : Le 100 est le numéro de téléphone auquel on associe la boite vocale. Le 1010 est le mot de passe de la messagerie. Suivent le nom de l’utilisateur, ainsi que son mail. Le mail servira à l’alerter en cas de réception de message vocal, à condition qu’un MTA soit correctement configuré (nous le verrons plus tard). La boite vocale est maintenant déclarée, il reste à l’inclure dans extensions.conf pour qu’elle soit utilisée : Nous avions déjà vu un exemple de séquences, en voici un nouveau. La première action effectuée lorsque l’on compose le 101 est l’appel de l’utilisateur1. Le 10 situé après la virgule est le timeout avant de passer à la deuxième séquence. C’est pour cela que l’on avait mis deux virgules de suite dans la section transfert d’appel. Une fois le timeout atteint, on bascule sur la deuxième séquence, qui est l’appel de la boite vocale avec la fonction Voicemail. Enfin, on raccroche avec la fonction Hangup. 3.4 Configuration du MTA pour la messagerie vocale Il est en effet très intéressant de passer par une alerte mail lors de la réception d’un message : l’utilisateur est alors au courant qu’il a un message, et peut l’écouter directement en pièce jointe.
  • 7. On a déjà renseigné l’adresse mail de l’utilisateur dans voicemail.conf, il ne reste plus qu’à configurer un MTA. J’ai ici arbitrairement choisi exim4, car c’est le MTA par défaut de Debian. Puisque exim4 est déjà installé, on va simplement le reconfigurer : dpkg-reconfigure exim4-config Type de configuration : Distribution directe par SMTP (site Internet) Nom de courriel du système :le FQDN Liste d’adresses IP où Exim sera en attente de connexions SMTP entrantes : 127.0.0.1 Autres destinations dont le courriel doit être accepté : vide Domaines à relayer : vide Machines à relayer : vide Faut-il minimiser les requêtes DNS (connexions à la demande) ? Non Méthode de distribution du courrier local : Format "mbox" dans /var/mail Faut-il séparer la configuration dans plusieurs fichiers ? Non Le serveur mail va se relancer, Asterisk est désormais capable d’envoyer des mails d’alerte avec le message vocal en pièce jointe. 4 - Asterisk en temps réel avec MySQL Comme nous venons de le voir, pour que toute modification de sip.conf ou extensions.conf soit prise en compte, il est nécessaire de recharger le serveur Asterisk. Si on a un vrai besoin d’une prise en compte en temps réel et d’une plus grande souplesse dans la configuration, la migrer vers MySQL peut être extrêmement intéressant. On peut en fait se servir de tables au lieu de fichiers de configuration. Lorsque l’on modifiera ces tables, celles-ci seront prises en compte instantanément, sans avoir besoin de recharger le serveur. Cette fonctionnalité, bien que puissante, est considérée comme experimentale. C’est pour cette raison qu’elle n’est pas présente directement dans les sources. Il est nécessaire de télécharger et installer les Add-Ons d’Asterisk. 4.1 Prérequis Dépendances nécessaires : - mysql-client - mysql-server - libmysqlclient-dev 4.2 Récupération des sources Asterisk Add-Ons Toujours sur www.asterisk.org, on télécharge les sources dans /usr/src puis on détarre : 4.3 Compilation
  • 8. On se déplace dans le répertoire détaré et on compile : Il est conseillé de vérifier avec make menuselect si les modules dépendants de mysql sont bien activés et s’il ne manque aucune dépendance. 4.4 Configuration initiale Une fois la compilation effectuée, il on copie ces 2 fichiers : Les paramètres de connexion d’Asterisk à MySQL sont définis dans le fichier res_mysql.conf : 4.5 Migration du fichier sip.conf En premier lieu il est nécessaire de créer la base ’asterisk’ dans MySQL. On entre la requete SQL suivante à l’aide du client mysql en ligne de commande ou au travers d’une interface web de type phpmyadmin : Puis on crée la table ’sip’ : mysql>CREATE TABLE ‘sip‘ ( ‘id‘ int(11) NOT NULL auto_increment,‘name‘ varchar(80) NOT NULL default ’’, ‘accountcode‘ varchar(20) default NULL,‘amaflags‘ varchar(13) default NULL, ‘callgroup‘ varchar(10) default NULL,‘callerid‘ varchar(80) default NULL, ‘canreinvite‘ char(3) default ’yes’,‘context‘ varchar(80) default NULL, ‘defaultip‘ varchar(15) default NULL,‘dtmfmode‘ varchar(7) default NULL, ‘fromuser‘ varchar(80) default NULL,‘fromdomain‘ varchar(80) default NULL,
  • 9. ‘fullcontact‘ varchar(80) default NULL,‘host‘ varchar(31) NOT NULL default ’’, ‘insecure‘ varchar(4) default NULL,‘language‘ char(2) default NULL, ‘mailbox‘ varchar(50) default NULL,‘md5secret‘ varchar(80) default NULL, ‘nat‘ varchar(5) NOT NULL default ’no’,‘deny‘ varchar(95) default NULL, ‘permit‘ varchar(95) default NULL,‘mask‘ varchar(95) default NULL, ‘pickupgroup‘ varchar(10) default NULL,‘port‘ varchar(5) NOT NULL default ’’, ‘qualify‘ char(3) default NULL,‘restrictcid‘ char(1) default NULL, ‘rtptimeout‘ char(3) default NULL,‘rtpholdtimeout‘ char(3) default NULL, ‘secret‘ varchar(80) default NULL,‘type‘ varchar(6) NOT NULL default ’friend’, ‘username‘ varchar(80) NOT NULL default ’’,‘disallow‘ varchar(100) default ’all’, ‘allow‘ varchar(100) default ’g729;ilbc;gsm;ulaw;alaw’, ‘musiconhold‘ varchar(100) default NULL,‘regseconds‘ int(11) NOT NULL default ’0’, ‘ipaddr‘ varchar(15) NOT NULL default ’’,‘regexten‘ varchar(80) NOT NULL default ’’, ‘cancallforward‘ char(3) default ’yes’,‘setvar‘ varchar(100) NOT NULL default ’’, PRIMARY KEY (‘id‘), UNIQUE KEY ‘name‘ (‘name‘), KEY ‘name_2‘ (‘name‘) ) TYPE=MyISAM ROW_FORMAT=DYNAMIC; La requête est intentionnellement lourde pour avoir tous les champs disponibles dès le départ. Cela permet d’affecter des valeurs par défaut sur certains champs, et d’avoir les autres déjà prêts pour plus tard, au cas où. On va créer un compte avec cette requête : Pour vérifier, on va utiliser le CLI de MySQL. On se connecte sur la base asterisk : On regarde les champs précédemment remplis : Enfin, on va spécifier à Asterisk d’aller chercher les paramètres SIP dans MySQL. Il suffit d’ajouter ces 2 lignes à la fin du fichier extconfig.conf :
  • 10. Au prochain redémarrage d’Asterisk, il ira chercher les données des comptes SIP dans la table sip de MySQL en complément du fichier sip.conf. 4.6 Migration du fichier extension.conf On crée la table SQL ’extensions’ : On renseigne cette table avec un numéro de téléphone associé au compte SIP précédemment créé : On vérifie à l’aide de la requête suivante : La structure est quasiment identique au fichier extensions.conf. Comme précédemment, il faut rajouter une ligne à extconfig.conf pour dire à Asterisk d’aller chercher les extensions dans MySQL : # echo ’extensions => mysql,asterisk,extensions’ >> /etc/asterisk/extconfig.conf Enfin, il faut rajouter à la fin de extensions.config une ligne renvoyant vers la base SQL : Au prochain redémarrage d’Asterisk, les extensions seront chargées à partir de la table MYSQL ’asterisk’, en complément du fichier extensions.conf.