Professional Documents
Culture Documents
A Bodiguel de Meudon la Fort. Il sest droul du 10 avril 2006 au 2 juin 2006 la Direction des Systmes dInformation de lUniversit Paris 5 (Ren Descartes). Au cours de mon stage en entreprise, jai souhait approfondir mes connaissances sur une technologie mergente qui est la voix sur IP , de plus en plus utilise par les entreprises. Pour cela jai tudi un logiciel qui fonctionne sur un systme LINUX, Il sagit dun IPBX sous le nom d ASTERISK.
REMERCIEMENTS :
Au personnel de lUniversit Paris V : Monsieur CORIS Jean-Marc, Directeur de la DSI Monsieur DE CARNE Patrick, Responsable du service Rseaux Systmes et Tlcommunications (RSysT) Monsieur WALDEK Olivier, Ingnieur Monsieur MINET Aurlien, Ingnieur systme Monsieur GERDAY Yves, Ingnieur systme
A mes formateurs lAFPA de Meudon la Fort: Monsieur GOMES Jos Madame BOURDAIS Isabelle Monsieur ESSAFI Abderrazak Monsieur GUETTA Marc
INTRODUCTION
La Tlphonie sur Internet (ToIP) est en plein essor. Daprs les prvisions de France Tlcom, 60% du parc des commutateurs tlphoniques (soit 14 millions de lignes de postes) passera en full IP en 2010, dont 10% en centrex IP. Ce phnomne est d plusieurs facteurs. Linternet est en pleine croissance en France. On comptait 7,4 millions dabonnements haut dbit au premier trimestre 2005, daprs une tude mene par lArcep (Autorit de rgulation des communications lectroniques et des postes, nouveau nom de lART). Lobjectif est de parvenir une rduction des cots des communications tlphoniques en utilisant le rseau IP. Un appel entre 2 PC, connects linternet et quips dun logiciel de communication, est gratuit. Cest ce qui a fait le succs de Skype chez les particuliers (100 millions dutilisateurs dans le monde en avril 2006). Compte tenu de la dure damortissement et de la dure de vie moyenne des PABX (autocommutateur tlphonique priv), la plupart des PABX traditionnels, acquis vers 2000, devraient tre remplacs en 2006-2007. La possibilit de combiner voix, donnes et vido sur le mme rseau de transport ouvre la perspective de nouvelles applications : CTI (Couplage Tlphonie Informatique), messagerie unifie, vidoconfrence, etc Les conditions conomiques et technologiques semblent runies pour une migration des entreprises vers la ToIP. Cependant, la qualit des appels ainsi que leur scurit semblent remettre en cause la maturit des offres de Voix sur IP.
Les points abords lors de ce stage seront : 1. Coopration et redondance entre 2 serveurs Asterisk 2. Couplage avec lannuaire LDAP de ltablissement 3. Scurit avec Asterisk 4. Les cartes dinterfaces 5. Les Tlphones IP compatibles Asterisk 6. Les softphones sur diffrents OS (Windows, Linux, Mac OS) 7. Services de Tlphonie 8. Gestion des appels 9. Gestion des comptes 10. Tarification des appels
En option : - Comment un incident peut-il tre manag ? - Peut-on interconnecter un serveur Asterisk et un Call Manager Cisco ?
Schma
Logiciels utiliss : Ethereal : sniffer rseau X-Lite : tlphone logiciel (softphone) SIP qui fonctionne sur diffrents OS (Windows XP, Linux, Mac OS) A tlcharger sur ce lien : http://www.xten.com/index.php?menu=download
Matriel requis :
2 Serveurs sur lesquels seront installs Asterisk (sur Fedora Core 4) 2 PC clients pour les tests avec diffrents OS 1 hub ou 1 switch 2 casques avec micro Cbles Ethernet
1.1. Prsentation de lUniversit PARIS V 1.2. Prsentation dun PABX 1.3. Prsentation de la Voix sur IP 1.4. Prsentation dAsterisk
2. MATERIEL REQUIS 2.1. Serveur pour linstallation dAsterisk 2.2. Tlphone IP 2.3. Adaptateur ATA 2.4. Softphone 2.5. Cartes dinterfaces 3. SERVICES DE TELEPHONIE 3.1. Bote vocale (Voicemail) 4. ETUDE AVEC DEUX SERVEURS ASTERISK 4.1. Coopration 4.2. Redondance 5. COUPLAGE AVEC LANNUAIRE LDAP 5.1. Objectif 5.2. Configuration 6. SECURITE 6.1. Cration dun mot de passe crypt en md5 6.2. Capture du login 6.3. Crack du mot de passe 6.4. Conclusion sur la scurit 7. ADMINISTRATION AVEC AMP 7.1. Prsentation 7.2. Tarification
1. PRESENTATIONS
1.1 Prsentation de lUniversit PARIS V
1.1.1 LUniversit
Avec ses 10 Units de formation et de recherche (UFR), l'universit Ren Descartes Paris 5 couvre l'ensemble des connaissances en sciences de l'homme et de la sant. Seule universit francilienne runissant mdecine, pharmacie et dentaire, son ple sant est reconnu en Europe et dans le monde entier pour la qualit de ses formations et l'excellence de sa recherche. Ren Descartes - Paris 5 c'est : 32 000 tudiants, 1915 enseignants, 1040 personnels IATOS, 5 domaines de formation (3 en master), 65 masters dont 36 masters professionnels, 210 DU - DIU, plus de 11 000 diplmes dlivrs par an, plus de 200 thses soutenues par an (hors thses d'exercice en mdecine, pharmacie et odontologie), une centaine de laboratoires dont 57 associs aux grands organismes de recherche (CNRS et Inserm), 6 coles doctorales, 29 masters recherche, 10 UFR ou facults, un budget de 117 millions d'euros hors salaires (en 2004) et un patrimoine immobilier de 252 400 m2. Luniversit Paris 5 est compose dun sige central situ au 12, rue de lEcole de Mdecine 75006 PARIS ( Odon) et de 12 sites disperss gographiquement dans Paris et sa banlieue.
Organigramme de LUniversit Paris V La DSI a pour mission de mettre en uvre la politique des systmes dinformation et des technologies de linformation et de la communication dfinie par le Prsident et le conseil dadministration de lUniversit dans les domaines de lenseignement, de la gestion, de la recherche et de la documentation, et, dune manire plus gnrale, tout ce qui touche au traitement informatis ou numrique de linformation. Dans le cadre de cette mission, la DSI a pour objectifs : - de dvelopper et de constituer un systme dinformation global ainsi que son rfrentiel - d'assurer laccs linformation et aux applications (ENT) et d'en garantir la scurit, l'intgrit et la fiabilit - de proposer des actions de formation des personnels de l'tablissement en matire de TIC - de constituer un guichet unique permettant d'offrir ses usagers des infrastructures dont il a la responsabilit, un accueil et une gestion de la demande homogne et unifie
A ce titre, il a en charge : - les infrastructures de rseaux (les moyens de communication au sein de ltablissement, ainsi que vers les rseaux rgionaux, nationaux et internationaux), de serveurs et services associs, leur organisation, gestion et maintenance (quipements informatiques, audiovisuels et de tlcommunication et tlmatiques placs explicitement sous sa responsabilit) - lexpertise sur les systmes, les rseaux, les serveurs, les logiciels - l'assistance technique informatique aux activits d'enseignement, de recherche, de gestion et de documentation de ltablissement - la coordination de la politique d'achat des matriels et logiciels - le dveloppement de nouveaux produits, bases de donnes, progiciels, interfaces et mthodes d'accs au systme d'information. - la participation et l'assistance la ralisation des tableaux de bord et de pilotage pour l'tablissement et ses composantes, en liaison avec la cellule dvaluation et de pilotage de lUniversit.
Organigramme de la DSI
A la DSI, jtais affect au service Rseaux Systmes et Tlcommunications (RSysT) Lquipe RSysT soccupe : Des infrastructures de rseaux et tlcom Liens inter-sites, Interconnexion RAP Firewall, Routeurs, commutateurs et bornes de Sites Tlphonie IP
Permanence des services Les 3/3 de larchitecture informatique applicative : Postes client Serveur dapplications Serveur de bases de donnes
La gestion de parc et le service aux usagers Stockage, sauvegardes et archivages Administration des bases de donnes (DBA) et mutualisation Scurit daccs aux rseaux et au SI Dploiement du Wifi
LAdministration des bases de donnes et le dploiement de toutes les applications est de la responsabilit de lquipe RSysT. Les dveloppements spcifiques (logiciels touchant au systme dinformations (LDAP, Annuaires, Web, ) seront sous la responsabilit dune cellule transversale.
1.2
Il existe deux sortes de PABX : - Les PABX traditionnels (qui peuvent ventuellement migrer partiellement ou totalement en IP), - Et les PABX-IP ou IPBX ou PBXIP (qui nativement offrent une connectivit IP Ethernet).
Slection Directe l'Arrive (SDA) : permet un appelant externe d'appeler directement un poste interne du PABX sans passer par un standard quelconque. Interfaces RNIS : permet de raccorder sur le PABX un ou plusieurs liens RNIS (T0 ou T2). Communment appel NUMERIS par France Tlcom. Les liens NUMERIS permettent en supplment de faire transiter des donnes en plus de la voix, ainsi que toutes les informations de signalisation, de taxation et la SDA. Interfaces RTC : permet de raccorder sur le PABX un ou plusieurs liens analogiques provenant de l'oprateur de tlcommunications (comme France Tlcom par exemple), ou d'autres lignes en provenance d'autres PABX de marques identiques ou diffrentes et distants. Equipements de postes analogiques : permet de raccorder un certain nombre de postes analogiques, sur cette interface, afin d'offrir tous les services de tlphonie une ou plusieurs personnes physiques dans l'enceinte de l'tablissement. Equipements de postes numriques : permet de raccorder un certain nombre de postes numriques, sur cette interface, afin d'offrir tous les services de tlphonie une ou plusieurs personnes physiques dans l'enceinte de l'tablissement. Les postes numriques offrent gnralement un afficheur N/B ou couleur, plus d'autres fonctions bien pratiques comme les touches programmables dynamiques. Attention : les postes numriques ont leurs propres protocoles propritaires. Plan de numrotation : Un plan de numrotation est indispensable pour la bonne marche du PABX, il comprend deux parties essentielles : Le plan des prfixes (qui comprend des prfixes pour prendre un faisceau externe ou interne, des prfixes pour les services internes au PABX, pour appeler des tranches de numros internes ou des numros abrgs, etc.). Le plan des suffixes (qui sont des codes que l'on tape uniquement lorsque l'on est en cours d'une communication tlphonique, par exemple pour la mise en confrence).
Fonction ACD : Automatic Call Distribution : Fonction adapte l'activit des centres d'appels, supportant des pointes de trafic, et intgrant des fonctions de gestion organisationnelle. Il distribue et rpartie quitablement les appels entrants et le traitement de tous les appels. Il prsente galement des fonctions de supervision.
Rapport de stage Asterisk - Juin 2006 AFPA Meudon - TSRITE Page 12 Raymond TRAN
Il est notamment possible de grer plusieurs files d'attente de contacts en fonction des ressources humaines disponibles. Messagerie unifie: en complment de la messagerie vocale, elle centralise et permet de consulter tout type de messages (lectroniques, vocaux et parfois fax) partir dune interface unique (tlphone ou logiciel client de messagerie). Serveur Vocal Interactif : le SVI est un serveur connect au PABX permettant dchanger de manire automatique des informations diverses. La signalisation DTMF est employe pour permettre lutilisateur de transmettre des ordres au SVI, comme avec les botes vocales par exemple. En outre, le SVI peut piloter le PABX pour une multitude des fonctions: services vocaux dinformation, dassistance (avec centre dappels), de transaction (VPC), de messagerie vocale, de routage dappels, etc. Taxation : permet de visualiser, en dtail, et de rpartir les cots tlphoniques dans les diffrents services dune socit.
Les principaux constructeurs de PABX traditionnels sont Alcatel, Nortel, Siemens et Avaya. Puis sont arrivs les pionniers de la tlphonie sur IP tels que Cisco et 3Com.
1.3
le cas de la tlphonie traditionnelle, lappel sera envoy vers le service durgence le plus proche car lusager aura t localis.
Les principaux protocoles utiliss pour l'tablissement de connexions en voix sur IP sont :
H.323 H.323 a t labor par lUIT (Union Internationale des Tlcommunications) en 1996. Il est donc issu du monde des tlcoms. Cette norme est pnalise par sa complexit et son manque dvolutivit pour louverture vers les systmes dinformation.
SIP
Rapport de stage Asterisk - Juin 2006 AFPA Meudon - TSRITE Page 15 Raymond TRAN
SIP (Session Initiation Protocol) est un protocole qui a t normalis par lIETF (Internet Engineering Task Force) en 1999. Il est issu du monde de linternet. Il se charge de lauthentification et de la localisation des participants. Mais il ne transporte pas de donnes. SIP remplace progressivement H.323 car il est plus souple et plus volutif. Fonctionnement de SIP : SIP est un protocole de type requte/rponse comme http. Une adresse sip se prsente sous cette forme : sip:400@172.22.10.146 400 est le numro dextension SIP et 172.22.10.146 ladresse IP du serveur SIP. Les utilisateurs (clients SIP) vont senregistrer auprs de serveurs proxy.
1- Le Softphone A s'inscrit dans le proxy SIP il effectue une demande d'appel auprs de ce proxy SIP Le proxy SIP transfre la demande au tlphone SIP B. 2- Le tlphone SIP B sonne et demande l'utilisateur s'il souhaite rpondre. La rponse positive (200 OK) part alors vers le proxy et arrive sur le softphone A pour lui indiquer que l'appel est accept. 3- Le softphone A renvoie directement au tlphone B un accus de rception (ACK), et la communication est engage.
MGCP est implment dans les solutions de passerelle entre le monde de lIP et le monde des tlcoms. Il est complmentaire H.323 et SIP. Il est surtout utilis par les FAI (Fournisseur daccs Internet)
IAX (Inter-Asterisk eXchange) LIAX est un protocole de voix sur IP spcifique Asterisk. Il permet la communication entre un client et serveur Asterisk ainsi quentre deux serveurs Asterisk. Il a t conu pour la transmission de flux multimdia avec un dbit plus faible (notamment pour la voix). Par exemple, avec le codec de compression G.729 et en utilisant lIAX, on peut faire passer 103 appels travers 1 Mbits de bande passante, Au lieu dutiliser RTP (Real Time Protocol), IAX utilise UDP (User Datagram Protocol) et un seul port (le port 5036 pour IAX1 et le port 4569 pour IAX2). Contrairement SIP, le protocole IAX2 peut simplmenter simplement derrire un NAT et traverse facilement les firewalls. Il envoie constamment des requtes pour savoir si la ligne est active. IAX2 est a apparu longtemps aprs SIP qui sest vite avr tre le protocole de rfrence par les constructeurs et les fournisseurs de services VoIP. Avant le protocole SIP, il sagissait du protocole H323 qui tait le plus utilis. Ce succs grandissant de IAX2 nest cependant pas vraiment une menace pour SIP de la manire que SIP la t pour H323. SIP est bien install, mais nul doute quIAX2 va simposer comme une vritable alternative.
2. Il est galement possible de remplacer le PABX classique par un IP PBX (serveur d'appel VoIP et serveur d'application) impliquant le remplacement des terminaux tlphoniques analogiques classiques par des tlphones IP. C'est le choix de la rupture, impliquant un renouvellement complet des infrastructures.
3. Enfin, il est possible d'externaliser les fonctions de tlphonie vers un IP Centrex, service fourni par un oprateur ou autre fournisseur de solution de VoIP, qui gre le service de bout en bout. L'externalisation du service est bien adapt aux sites de petites tailles (PME et TPE) puisque, hormis l'installation de tlphones IP, aucun investissement n'est ncessaire.
Plus simplement, et quelle que soit la solution adopte, les bnfices attendus de la VoIP par les entreprises tendent tous vers le mme objectif : rduire les cots.
1.4
Prsentation dAsterisk
Protocole IAX (Inter-Asterisk eXchange) H.323 Protocole SIP (Session Initiation Protocol) Protocole MGCP (Media Gateway Control Protocol)
Signalisation RBS (Robbed-bit Signaling) o FXS et FXO o Prise par bouclage o Dclenchement par la terre o Kew start o mission-rception (E&M) o Signalisation d'mission-rception (E&M Wink) o Groupe de caractristiques D
Page 19 Raymond TRAN
Protocoles PRI o 4ESS o Lucent 5E o DMS100 o National ISDN2 o EuroISDN o BRI (ISDN4Linux)
Codecs : Systme GSM G.729 (sur l'achat de licences) G.723.1 (fonction mulation) Linaire Mu-Law A-Law ADPCM G.726 ILBC LPC-10 MP3 (dcodage seulement)
La configuration ncessite la comprhension du principe de routage. Chaque extension est manipule depuis sa source (une ligne analogique ou numrique, un tlphone IP ou un softphone, lappel en provenance dun autre PABX) vers une destination via des rgles de routage qui senchanent. On regroupe les rgles dans des contextes permettant de sparer les utilisateurs, les usages ou les sources. La configuration de base comporte au minimum les fichiers asterisk.conf et extensions.conf. Les sources sont dans diffrents fichiers en fonction de leur type: mgcp.conf, iax.conf, sip.conf (protocoles) ou encore zapata.conf (matriel)
asterisk.conf
Par dfaut on positionne certains chemins de base au fonctionnement du moteur asterisk, la prsence de ce fichier nest pas obligatoire, mais voici un exemple de contenu: astetcdir => /etc/asterisk astmoddir => /usr/lib/asterisk/modules astvarlibdir => /var/lib/asterisk astagidir => /var/lib/asterisk/agi-bin astspooldir => /var/spool/asterisk astrundir => /var/run/asterisk astlogdir => /var/log/asterisk
sip.conf
Le fichier sip.conf, va dfinir l'ensemble de nos utilisateurs. Pour connaitre l'ensemble des fonctions utilisables, rendez-vous sur le site http://www.asteriskguru.com/tutorials/ et galement sur le site http://www.voip-info.org/ Nous ditons le fichier sip.conf (avec Vi, par exemple). A la fin du fichier nous allons crer deux utilisateurs ainsi :
[general] port = 5060 [100] username=100 type=friend secret=123 host=dynamic context=dsi language=fr callerid=Ray <100> [200] username=200 type=friend secret=123 host=dynamic context=dsi language=fr callerid=Anatole <200>
Chaque client sera dfini par un label, nous utilisons par dfaut lextension. Comme chaque fichier de configuration, une section initiale est globale, ensuite viennent toutes les sections variables.
Port=5060 Username=
=> port sur lequel Asterisk coute pour recevoir les connexions SIP => si Asterisk agit entre un client SIP et un serveur SIP distant, ce champ est utilis pour authentifier le message INVITE envoy par Asterisk au serveur
Type=
=> il existe 3 types dutilisateurs : user = peut appeler mais ne peut pas recevoir dappel peer = peut recevoir des appels friend = peut appeler et recevoir des appels
=> dfinit le mot de passe de lutilisateur => permet de se connecter avec cet utilisateur depuis n'importe quelle adresse IP. => l'option "context" sera ensuite utilise dans le fichier extensions.conf, lorsque l'utilisateur emet un appel, il rentrera dans la zone "dsi", qu'on definira plus tard. => permet d'utiliser les fichiers audio francais. => permet dafficher le nom de lappelant sur le poste appel
Le fichier extensions.conf permet de dfinir les rgles de routage cest--dire les actions faire lors d'un appel sur un numro de tlphone. Dans le contexte dsi, nous dfinissons comment joindre les diffrents postes. Chaque extension de notre plan de numrotation interne va tre interprt et achemin vers des liens physiques (IAX ou SIP dans notre cas). [tsrite] exten => 100,1,Dial(SIP/100) exten => 200,1,Dial(SIP/200) Les commandes utilises pour la dfinition des extensions ont la forme suivante : exten => <extension>,<priorit>,<application(paramtres)> extension : numro compos pour contacter Asterisk. Ce paramtre peut galement prendre la valeur dune extension prdfinie par Asterisk (a, i, s, t, etc.). Afin dobtenir un complment dinformation sur ces extensions prdfinies veuillez consulter le site : www.voip-info.org/wiki-Asterisk+standard+extensions
Rapport de stage Asterisk - Juin 2006 AFPA Meudon - TSRITE Page 22 Raymond TRAN
priorit : permet de dfinir lordre dans lequel plusieurs commandes pour une mme extension vont tre excutes. La priorit la plus leve est 1, puis on incrmente de 1 pour la priorit des commandes suivantes (1, 2, 3, etc.) application : permet de dfinir laction raliser pour lextension en cours. La totalit des commandes peuvent tre consultes sur le site : www.voip-info.org/wiki-Asterisk++documentation+of+application+commands). Lapplication Dial est utilise pour lacheminement de lappel dans le contexte dsi, le premier argument pass est la ligne prfixe par son type (IAX2 ou SIP).
Dmarrage du serveur
Pour dmarrer automatiquement votre serveur Asterisk au dmarrage de la machine, vous devez enregistrer la commande au dmarrage de votre serveur (a l'aide de WebMin ?) : /usr/sbin/safe_asterisk
Vous pouvez galement dmarrer depuis la console, en tapant la commande : asterisk -vvvc Une fois le serveur "dmarr", vous pouvez vous connecter la console en tapant la commande : asterisk -r Cette commande ne dmarre pas le serveur, elle vous permet juste de vous reconnecter sur la console une fois le serveur dj lanc !
Commandes du serveur Pour connatre l'ensemble des commandes du serveur, vous pouvez taper : help, une fois connect la console Asterix Ceci dit, voici quelques commandes utiles : A chaque modification du fichier sip.conf, vous devez excuter la commande "sip reload" pour recharger le fichier A chaque modification du fichier extensions.conf, vous devez excuter la commande "extensions reload" pour recharger le fichier. Pour recharger l'ensemble du serveur, tapez la commande : reload
Rapport de stage Asterisk - Juin 2006 AFPA Meudon - TSRITE Page 23 Raymond TRAN
Pour connatre l'ensemble des "peers" connects (vos utilisateurs SIP), tapez : sip show peers
2. MATERIEL REQUIS
Asterisk permet dinterconnecter un rseau de tlphonie de voix sur IP et un rseau de tlphonie classique (analogique ou numrique) via des cartes dinterface.
2.1
Le choix du serveur dpendra du nombre total de ligne grer Les lments ncessaires qui doivent tre intgrs sur le serveur : Alimentation redondante Onduleur Si possible double processeurs.
Page 25 Raymond TRAN
2.2
Tlphone IP
Exemple : le GrandStream Tlphone SIP Budge Tone 100. Le Budge Tone 100 peut tre configur via une interface web. Son logiciel de configuration peut tre upgrad avec un serveur TFTP.
2.3
Adaptateur ATA
Exemple : le GrandStream Adaptateur SIP ATA-286 Le HandyTone ATA-286 permet de transformer un tlphone analogique en tlphone SIP. Il est pourvu dune prise RJ11 raccorder au tlphone analogique et dune prise RJ45 raccorder au rseau TCP/IP. Avec cet adaptateur, Il est possible : - dappeler un tlphone classique depuis un tlphone IP - dappeler un tlphone IP depuis un tlphone classique
2.4
Softphone
Un softphone est un logiciel que l'on utilise pour faire de la tlphonie sur Internet depuis son ordinateur. Exemples : le X-Lite de Xten (nous reviendrons ultrieurement sur sa configuration), WengoPhone Classic ou SJPhone. Edit par Xten, X-Lite 2.0 est l'un des tlphones logiciels les plus utiliss au monde. Il dispose supplmentaires telles que la mmorisation les derniers numros mis ou reus. Certains softphones intgrent un rpondeur et permet de transfrer une ligne, de raliser des confrences tlphoniques jusqu' dix participants (il sagit en gnral de versions professionnelles). Les deux versions facilitent l'import et l'export du rpertoire de contacts. Nous avons pu le tester avec succs sur Windows XP, Linus et Mac OS X.
2.5
Cartes dinterface
Asterisk peut tre connect un rseau tlphonique externe : Soit un rseau tlphonique commut (RTC) Exemple 1 : la carte Digium X100P :
Exemple 2 : la carte Digium TDM22B (2 FXS et FXO) : On y connecte 2 postes analogiques + 2 lignes RTC
Soit un rseau RNIS grce une carte ISDN Accs de base = Basic Rate Interface (BRI) 2 canaux B (2 communications en simultanes)
3. SERVICES DE TELEPHONIE
3.1 Bote vocale (Voicemail)
Pour illustrer les services de tlphonie que peut offrir Asterisk, jai pris lexemple de la bote vocale. On veut quAsterisk envoie un mail lorsque lon a un message dans la bote vocale. On va diter le fichier /etc/asterisk/voicemail.conf [general] format=wav49|gsm|wav serveremail=asterisk attach=yes maxmessage=180 minmessage=3 fromstring=repondeur ; do provient le message e-mail ; le message sera joint avec le mail ; dure maximale du message en secondes ; dure minimale du message en secondes ; nom de lmetteur
emailbody=${VM_NAME},\n\nVous avez un nouveau message dans votre boite vocale $ {VM_MAILBOX}:\n\n\tDe:\t${VM_CALLERID}\n\tDuree:\t${VM_DUR} secondes\n\tDate:\t${VM_DATE}\n\nComposez le 4000 pour acceder a votre boite vocale par telephone.\ mailcmd=/usr/sbin/sendmail t [default] ;# NumBoiteVocale => Mot_de_passe, Nom, email, timezone 1000 => 1234,Ray TRAN,raymond.tran@univ-paris5.fr,,tz=paris 1000 est le numro de ma bote vocale. 1234 est le mot de passe. Ensuite, on indique le nom et ladresse e-mail o le courrier sera envoy. ; on utilise sendmail pour envoyer les mails
Maintenant, nous allons configurer le fichier extensions.conf [dsi] exten => 100,1,Dial(SIP/100,30) exten => 100,2,Voicemail(1000@default) exten => 100,3,Hangup Aprs 30 secondes, lappelant ira automatiquement sur le rpondeur. Ensuite, on va indiquer le numro de la bote vocale pour pouvoir consulter ses messages. ; numro de la messagerie exten => 4000,1,VoiceMailMain(1000@default) Lorsquon appelle ce numro, il faut indiquer le mot de passe pour pouvoir couter ses messages.
Ds qu'un utilisateur du serveur A composera un numro entre 200 et 299 Il sera directement redirig vers le serveur B. Ds qu'un utilisateur du serveur B composera un numro entre 100 et 199 Il sera directement redirig vers le serveur A. Scurit de lauthentification : Le protocole IAX permet 3 types de mots de passe pour l'authentification des clients / serveurs Il n'est pas possible de crypter les donnes transmises via le protocole IAX, seul l'authentification permet plusieurs types de mots de passes plus ou moins scuriss. 1 - Plain text Cette mthode est dconseille, car les mots de passe sont crits en clair dans les fichiers de configuration. - MD5 Les mots de passe sont crits crypts l'aide de la mthode MD5 dans les fichiers de configurations, donc difficilement dcryptables (difficile mais pas impossible) - RSA L'authentification RSA (Rivest Shamir Adleman) utilise deux cls partages, une cl publique ainsi qu'une cl prive. Gnralement, ces clefs ont une longueur entre 1024 et 2048 bits. Gnration de cls RSA : Pour gnrer des cls de cryptage RSA, Asterisk nous fourni un utilitaire: astgenkey. Les cls RSA doivent se trouver dans le rpertoire /var/lib/asterisk/keys.
Rapport de stage Asterisk - Juin 2006 AFPA Meudon - TSRITE Page 32 Raymond TRAN
L'utilitaire "astgenkey" gnre deux cls, une cl publique mettre sur le(s) poste(s) client(s) et une cl prive garder sur le serveur. Note: Il est important que la cl prive ne soit accessible que par Asterisk, car si quelqu'un arrive prendre cette cl il pourra dcrypter la cl plus facilement. Pour gnrer une cl il suffit de se dplacer dans le rpertoire de stockage des cls d'Asterisk et de lancer l'application "astgenkey" cd var/lib/asterisk/keys Lorsque nous lanons astgenkey nous mettons le paramtres '-n' car par dfaut "astgenkey" demande une "passphrase" chaque dmarrage d'Asterisk. Avec le paramtres '-n' il enregistre la cl sans "passphrase" astgenkey -n
Nous avons cr 2 clefs dans le serveur A: test_iax.pub qui est la clef publique test_iax.key qui est la clef prive
Page 33 Raymond TRAN
Maintenant, il faut transfrer la clef publique dans lautre serveur. Pour cela, nous allons nous positionner sur le serveur B et utiliser ssh avec la commande suivante : scp user@IPserveur:/rpertoire/nom_du_fichier /destination/nom_du_fichier
Il faudra rpter lopration dans lautre sens afin de crer une interconnexion bidirectionnelle. Configuration des paramtres IAX sur chaque serveur La configuration des paramtres IAX se fait dans le fichier iax.conf se trouvant dans le rpertoire /etc/asterisk/ Sur chaque serveur nous allons configurer un utilisateur IAX qui servira l'authentification avec le serveur oppos. [VOIP1] et [VOIP2] Configuration du fichier iax.conf pour le serveur A :
trunk=yes
Dfinition du dialplan Nous devons maintenant crer les contextes dans le fichier extensions.conf dans le serveur A. [FROM_VOIP2] include => VOIP1 [VOIP1] exten => _1XX,1,Dial(IAX2/${EXTEN}) exten => _2XX,1,Dial(IAX2/VOIP2/${EXTEN}) Ce qui signifie que dans le contexte [FROM_VOIP2] est inclus le contexte [VOIP1] qui dfinit que pour les extensions commenant par 1, lappel sera achemin en interne et pour les appels commenant par 2, lappel sera transmis au serveur B. Nous faisons de mme sur le serveur B. [FROM_VOIP1] include => VOIP2 [VOIP1] exten => _2XX,1,Dial(IAX2/${EXTEN}) exten => _1XX,1,Dial(IAX2/VOIP1/${EXTEN})
Vrification : Nous lanons les 2 serveurs Asterisk et nous tapons la commande suivante :
Explication des colonnes: Name/Username: affiche le nom de la connexion Host: affiche l'adresse IP de l'utilisateur (S): affiche si l'adresse IP de l'utilisateur est statique (D): affiche si l'adresse IP de l'utilisateur est dynamique Mask: affiche le masque de sous rseau
Rapport de stage Asterisk - Juin 2006 AFPA Meudon - TSRITE Page 35 Raymond TRAN
Port: affiche le port IAX utilis (T): affiche si le lien est un "trunk" Status: affiche si le lien est OK avec les [ms] de lag affiche UNREACHABLE si le status du lien est mort affiche UNMONITORED si le status du lien n'est pas monitored ou inconnu Jai cr des compte SIP : numro 100 sur le serveur A et numro 200 sur le serveur B. Le 200 a pu appeler le 100.
Problme rencontr : Au lancement des serveurs, nous avons eu le message derreur suivant : Warning : chan_iax2 : Unable to support trunking on user VOIP1 without zaptel timing Aprs avoir effectu des recherches, jai trouv quil y avait au moins 2 applications qui ont besoin dune horloge (timer) pour fonctionner correctement : Asterisk cmd Meetme : lapplication de confrence Asterisk iax channels : IAX trunking.
Pour avoir une horloge, il faut : Une carte dinterface Digium Si on na pas de carte Digium, il y a 3 possibilits : o Ztdummy : un module que lon charge avec le noyau o Zaprtc o Realzap
Jai utilis ztdummy avec la commande modprobe pour le charger avec le noyau Linux et cela a fonctionn.
4.2
Redondance
Pour la redondance, nous allons utiliser un cluster de haute disponibilit, c'est--dire utiliser 2 serveurs afin de garantir la disponibilit du service et des donnes. Pour cela, nous allons utiliser 2 logiciels open-source : DRBD et Heartbeat.
Lorsque le serveur matre tombe , le FailOver Services destitue lIP Alias du serveur matre pour le rattribuer au serveur esclave : il dsactive ladresse IP sur lun et active lautre.
Lorsque le serveur matre peut de nouveau rpondre aux requtes, FailOver Services dsactive lIP Alias du serveur esclave et ractive celle du serveur matre.
Le logiciel DRDB (Distributed Replicated Block Device) effectue une rplication du disque primaire vers un autre disque via le rseau, en synchronisant des partitions. DRDB propose deux types de synchronisation : partielle ou totale. La synchronisation partielle neffectue une mise jour que dans les parties non synchronises, au contraire de la synchronisation totale qui effectue une copie disque disque complte.
Fonctionnement normal :
Fonctionnement anormal :
DRBD va faire du Raid 1 sur les 2 serveurs. Heartbeat va vrifier la disponibilit des services et des disques. Si le serveur principal tombe, Heartbeat bascule le serveur secondaire en mode primaire. Ds que le serveur en panne revient, il devra re-synchroniser son contenu avec le serveur primaire. Tout se passe sans interruption de service et en arrire-plan.
En conclusion, coupl avec Heartbeat, DRBD permet dobtenir un cluster haute disponibilit.
LDAP (Lightweight Directory Access Protocol) est un protocole, dfini par lIETF (RFC 3377 et 3383) permettant laccs des annuaires. Le but est de rcuprer des informations du serveur LDAP et de les transfrer sur le serveur Asterisk. Cela vite davoir saisir tous les noms du personnel. Les adresses e-mail serviront pour envoyer un mail en cas de message sur la bote vocale. Lautre avantage est que si, par exemple, on change une adresse e-mail dans lannuaire, la modification sera effectue sur Asterisk lors de sa mise jour avec le serveur LDAP.
5.2
Configuration
Le fichier ldap.conf dans /etc/asterisk est compos ainsi : [nom_de_la_section] host = <hostname> par dfaut : localhost port = <port> par dfaut : 389 user = <user dn> par dfaut : anonymous bind pass = <password> base = <base dn> scope = <sub | base | one> par dfaut : sub filter = <ldap filter pattern> par dfaut : (&(objectClass=personne) (telephoneNumber=%s)) attribute = <ldap attribute> par dfaut : commonName convert = <source charset>, <destination charset>
Nous avons configur le fichier ldap.conf ainsi : [cidname] host = annuaire.univ-paris5.fr port =389 base = ou=Personnels,dc=univ-paris5,dc=fr filter = (&(objectClass=person)(|(publicPhone=%s)(mobile=%s)(fax=%s))) attribute = displayName convert = UTF-8, ISO-8859-1 Et nous avons indiqu dans extensions.conf dans la section [default] : exten => 1234,1,LDAPget(CIDNAME=cidname/${CALLERIDNUM},${CALLERIDNUM},$ {CALLERIDNUM}) ; for telefon, mobile and fax exten => 1234,2,SetCIDName(${CIDNAME}) exten => 1234,3,Dial(Zap/11/${EXTEN},15)
Nous voyons ci-dessus que la commande LDAPget a bien permis de se connecter lannuaire LDAP de lUniversit.
Rapport de stage Asterisk - Juin 2006 AFPA Meudon - TSRITE Page 43 Raymond TRAN
6. SECURITE
Parce quelle utilise le rseau IP, la voix sur IP prsente des risques au niveau de la scurit : usurpation didentit, coute des conversations tlphoniques, exploitation de vulnrabilits En plus, les protocoles utiliss par la VoIP (H323 ou SIP) sont, actuellement, peu scuriss. Nous allons le voir au travers dun exemple. Nous utiliserons un compte SIP avec authentification par md5.
6.1
Pour crer un mot de passe crypt en md5, on utilise les commandes echo et md5sum : echo n mot_de_passe | md5sum
Cette commande retourne le mot de passe crypt en md5 (ne pas mettre le - la fin). Nous crons un utilisateur dans le fichier sip.conf.
6.2
Capture du login
Nous avons sniffer la phase de connexion du tlphone. Dans la pratique, la capture peut se faire grce lutilisation dun ARP Spoofing. Un ARP Spoofing est une attaque rseau. Quand une machine veut mettre, elle a besoin de ladresse MAC du destinataire. Pour cela, elle envoie une requte ARP en boadcast. Le
Rapport de stage Asterisk - Juin 2006 AFPA Meudon - TSRITE Page 44 Raymond TRAN
pirate rpond en envoyant des paquets ARP avec son adresse MAC. Par exemple, il va indiquer ladresse IP de la passerelle avec son adresse MAC lui. Le trafic destination de la passerelle passera alors par la machine du pirate. Il routera ensuite les paquets vers la vritable destination. Une fois que nous avons captur la communication, nous allons utiliser un outil qui se nomme SIPcrack (que lon peut trouver sur www.remote-exploit.org) ainsi que le logiciel john (http://www.openwall.com/john). Comme son nom lindique, SIPcrack permet de cracker le login du protocole SIP. Il contient 2 prorgammes : SIPdump pour sniffer les logins SIP et SIPcrack pour casser les mots de passe en utilisant la force brute. On sniffe sur la carte rseau eth0 : sipdump d logins.dump i eth0
6.3
Loutil john cre un dictionnaire des mots de passe possibles : john incremental=alpha stdout=4 > myfifofile La base de mot de passe est construite sur des codes alphanumriques et a une longueur maximale de 4 caractres. John remplit un pipe avec les mots de passe possibles et SIPcrack va essayer chacun dentre eux jusqu ce quil russisse. sipcrack w myfifofile d logins.dump
6.4
Il existe plusieurs types dattaques : par exemple, le Deni de Service qui peut saturer le rseau dune entreprise ou une attaque contre les quipements VoIP (Tlphones IP, gateways,). On peut utiliser des outils pour tester la vulnrabilit de son rseau VoIP : SiVus (disponible sur http://www.vopsecurity.org/html/tools.html) et VOMIT (Voice Over Misconfigured Internet Telephone). Lutilisation de VLAN (Virtual Local Area Network) pour sparer les paquets voix et datas est dj un premier niveau de scurit. On peut utiliser un tunnel VPN en plus.
AMP (Asterisk Management Portal) permet ladministration dAsterisk via une interface web. Jai dabord scuris la connexion au serveur web en utilisant le protocole SSL (Secure Socket Layer). SSL fonctionne SSL fonctionne suivant un mode client-serveur. Il fournit quatre objectifs de scurit :
l'authentification du serveur; la confidentialit des donnes changes (ou session chiffre); l'intgrit des donnes changes de manire optionnelle, l'authentification du client.
Il se situe entre les couches applications et transport. https fonctionne sur le port 443. SSL utilise la fois lalgorithme RSA (pour lauhtentification) et DES pour la transmission des donnes. Il utilise galement une fonction de hachage comme MD5 pour sassurer que les donnes sont transmises sans tre corrompues. SSL est surtout utilis pour le commerce lctronique. Pour gnrer les certificats SSL, jai utilis openssl et le module modssl pour le serveur web Apache install sur Asterisk.
7.2
Cration dextension
On peut crer des extensions avec AMP en utilisant le protocole SIP ou IAX.
On peut
voir
ci-dessous
ceux
qui
sont
connects
et
les
appels
en
cours.
7.3
Tarification
Asterisk enregistre les informations concernant toutes les conversations tlphoniques dans des CDR (Call Detail Record). Ces CDR sont des bases de donnes mysql, pgsql ou SQLite ou peuvent aussi tre des fichiers textes en clair. Ces logs sont utiliss pour gnrer des factures par des logiciels de paiement. Avec AMP, on peut avoir le dtail de tous les appels passs : par compte (source ou destination) par jour par mois (trafic mensuel) ou sur une priode de 1 6 mois
CONCLUSION
Le but de mon stage tait de faire une prsentation dAsterisk et de ses possibilits. Nayant pas reu les cartes dinterface temps, je nai pas pu les tester. Au cours de ce stage, jai apprci le travail au sein dune quipe avec les ingnieurs du service RSysT. Jai pu approfondi mes connaissances sur la VoIP, Linux et la scurit des rseaux. En conclusion, je pense quAsterisk possde des fonctionnalits puissantes qui devraient lui permettre de simposer dans lavenir.
REFERENCES
ANNEXES
Tlchargement
Nous avons tlcharg l'ensemble des applications utiles pour l'installation d'Asterisk. Les versions vont surement voluer, Il faut aller, ventuellement, tlcharger directement les applications sur leur site respectif pour prendre la dernire version : Le logiciel "Asterisk"
http://ftp.digium.com/pub/asterisk/asterisk-1.2.4.tar.gz les Addons d'Asterisk, vont permettre l'utilisation d'Asterisk avec MySQL :
http://ftp.digium.com/pub/asterisk/asterisk-addons-1.2.1.tar.gz Le logiciel SOX permet de convertir un fichier "WAV" en format "GSM" qui est le format pour faire diffuser une annonce d'accueil par exemple.
http://ovh.dl.sourceforge.net/sourceforge/sox/sox-12.17.8.tar.gz Ceci est un package de voix en francais, plutt que la version standard en anglais (utilise pour le repondeur, par exemple) les voix ne sont pas de trs bonne qualit, mais ont l'avantage tout de meme d'tre en francais.
http://www.sineapps.com/FrenchPrompts.tar.gz mpg123 est un logiciel permetant de diffuser un contenu en MP3, il est indispensable pour utiliser la musique d'attente.
http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz
Installation
On dcompresse maintenant l'ensemble des logiciels tlchargs. # # # # # tar tar tar tar tar -xzf -xzf -xzf -xzf -xzf asterisk-1.2.4.tar.gz asterisk-addons-1.2.1.tar.gz sox-12.17.8.tar.gz FrenchPrompts.tar.gz mpg123-0.59r.tar.gz
On va commencer par installer sox et mpg123, qui sont des petits logiciels assez rapides installer. # cd mpg123-0.59r # make linux # make install
On installe maintenant le serveur Asterisk # # # # cd ../asterisk-1.2.4 make make install make samples
make samples va installer les fichiers de configuration par defaut. (Lors des mises jour, plus la peine de l'executer) On installe maintenant les addons Mysql # cd ../asterisk-addons-1.2.1/ # make # make install
o o o o o o o o o o
Asterisk version 1.2.4 Systme dexploitation sur les PC : Windows XP SP2 Softphone : X-Lite 2.0 Protocole VoIP utilis : SIP Adresse IP du serveur Asterisk A : 192.168.1.145 Adresse IP du serveur Asterisk B : 192.168.1.146 Adresse IP du PC A : 192.168.1.31 Adresse IP du PC B : 192.168.1.53 N dextension SIP (PC A) : 100 N dextension SIP (PC B) : 200
Configuration du softphone X-Lite Voici la configuration de X-Lite sur le PC A et les champs que nous avons remplis : Enabled : Yes Display Name : Ray Username : 100 Authorization User : 100 Password : 123 Domain/Realm : 192.168.1.145 (adresse IP dAsterisk A) SIP Proxy : 192.168.1.145 (asdresse IP dAsterisk A)
Puis, voici la configuration de X-Lite sur le PC B : Enabled : Yes Display Name : Anatole Username : 200 Authorization User : 200 Password : 123 Domain/Realm : 192.168.1.146 (adresse IP dAsterisk B) SIP Proxy : 192.168.1.146 (adresse IP dAsterisk B)
Marque CISCO CISCO CISCO GRANDSTREAM GRANDSTREAM LINKSYS (Sipura) SNOM ZYXEL
EIKONEX Prix unitaire HT (euros) x x x 84,99 159,95 x 229,90 x 209,95 74,99 x x 195,00 92,40 81,40 89,99 587,40
GES Prix unitaire HT (euros) * x x x x x x x x x x 22,16 66,05 167,22 76,92 67,73 x 414,72
MYPHONECALL
Prix unitaire HT (euros) 121,06 291 ,43 439,39 74,71 x 119,55 x 125,53 224,16 59,77 x 67,24 179,33 82,18 74,71 402,03 446,86
SPA-841 190 300 VoIP Wifi Prestige 2000W HandyTone ATA286 Carte PCI Clone X101P T DM400P T DM11B (1 FXS + 1 FXO) TDM FXO (X100M) TDM FXS (S110M) AVM RNIS Fritz! Card PCI E100P/TE110P
Adaptateur ATA (analogique / ip) (pour le fax) Carte RTC Carte analogique (sans module) Carte analogique (avec modules) Module FXO Module FXS Carte RNIS (1 T0) Carte RNIS (1 PRI)