Rapport de stage au SRC : Mise en place d' une solution VoIP



Documents pareils
Instructions Mozilla Thunderbird Page 1

WEB page builder and server for SCADA applications usable from a WEB navigator

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Vanilla : Virtual Box

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

Contents Windows

Guide d'installation rapide TFM-560X YO.13

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

How to Login to Career Page

Package Contents. System Requirements. Before You Begin

Application Form/ Formulaire de demande

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

VTP. LAN Switching and Wireless Chapitre 4

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

1.The pronouns me, te, nous, and vous are object pronouns.

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+

RAPID Prenez le contrôle sur vos données

Once the installation is complete, you can delete the temporary Zip files..

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

LOGICIEL D'ADMINISTRATION POUR E4000 & G4000 MANAGEMENT SOFTWARE FOR E4000 & G4000

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

DOCUMENTATION - FRANCAIS... 2

Nouveautés printemps 2013

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Gestion des prestations Volontaire

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Tutoriel compte-rendu Mission 1

Contrôle d'accès Access control. Notice technique / Technical Manual

DOCUMENTATION - FRANCAIS... 2

Acce s aux applications informatiques Supply Chain Fournisseurs

If you understand the roles nouns (and their accompanying baggage) play in a sentence...

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Tutoriel de formation SurveyMonkey

Dans une agence de location immobilière...

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Installation d'un Contrôleur Principal de Domaine SAMBA 4

Notice Technique / Technical Manual

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

USB 598. Quick Start Guide (Windows) Guide de démarrage rapide (Windows) USB Modem. Modem USB.

Lesson Plan Physical Descriptions. belle vieille grande petite grosse laide mignonne jolie. beau vieux grand petit gros laid mignon

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

I>~I.J 4j1.bJ1UlJ ~..;W:i 1U

Les techniques de la télémaintenance

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

Contrôle d accès Access control MOD-TCPIP-AI. Notice technique / Technical Manual

Paxton. ins Net2 desktop reader USB

PARIS ROISSY CHARLES DE GAULLE

Module Title: French 4

Les Portfolios et Moodle Petit inventaire

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

APPENDIX 6 BONUS RING FORMAT

CEST POUR MIEUX PLACER MES PDF

ETABLISSEMENT D ENSEIGNEMENT OU ORGANISME DE FORMATION / UNIVERSITY OR COLLEGE:

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

Tex: The book of which I'm the author is an historical novel.

VoD ( Video on Demand ) avec VLC

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

L ABC de l acquisition de petites entreprises

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Guide Installation Serveur Extensive Testing

Acronymes et abréviations. Acronymes / Abbréviations. Signification

sshgate Patrick Guiran Chef de projet support

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

BAP E Gestionnaire de parc informatique et télécommunications MI2 / MI3 Ouverts au titre de 2010 Arrêté du 7/04/10 - J.

Exemple PLS avec SAS

Cahier d exploitation

NOTICE INSTALLATION. ARCHANGE Simplex Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Procédure d installation Trixbox - A2Billing

Les fichiers de configuration d'openerp

Pratiques induites par les réunions à distance : discours, identités et organisation des actions

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

MODERN LANGUAGES DEPARTMENT

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION.

VoIP - TPs Etude et implémentation

Cedric Dumoulin (C) The Java EE 7 Tutorial

France SMS+ MT Premium Description

ONTARIO Court File Number. Form 17E: Trial Management Conference Brief. Date of trial management conference. Name of party filing this brief

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

TP Wireshark. Première approche de Wireshark. 1 ) Lancer Wireshark (double clic sur l icône sur le bureau). La fenêtre

Frequently Asked Questions

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

BILL 203 PROJET DE LOI 203

Quick Installation Guide TEW-P21G

Olivier Mondet

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Adeunis-RF Softwares. Stand-Alone configuration Manager V2. User guide version V1 FRANCAIS ENGLISH

Logitech Tablet Keyboard for Windows 8, Windows RT and Android 3.0+ Setup Guide Guide d installation

OBJECT PRONOUNS. French III

Support Orders and Support Provisions (Banks and Authorized Foreign Banks) Regulations

Transcription:

Grassart Benjamin Athlone Institute of Technologies Dublin Road, Athlone, Co. Westmeath Ireland. Rapport de stage au SRC : Mise en place d' une solution VoIP Tuteur ERASMUS : M. Cunningham année 2009-2010 Tuteur IUT : M. Chlebowski Page 1

Page 2

Remerciements Je tiens à remercier M. Anthony Cunningham, pour m' avoir acceuilli dans son département de recherche, et de m' avoir ainsi permis d' acquérir de nouvelles compétences et une expérience valorisante, tant au niveau professionnel que linguistique. Je remercie également M. Cormac Mulally, pour l' aide qu' il nous a apportée dans la résolution de certains problèmes techniques. Plus généralement, je souhaite remercier le personnel du département de recherche de l' université d' Athlone, pour leur accueil chaleureux et notre intégration réussie. Enfin je souhaite remercier les professeurs de l' IUT, qui m' ont apporté les connaissances et les méthodes pour mener à bien ce stage, et particulièrement M. Chlebowski pour le suivi qu' il a effectué. Page 3

Résumé francais Durant ce stage, nous avons tout d' abord pris connaissance du lieu, le SRC, de leur mission, la recherche sur le réseau sans oublier leur projet principal le SUNAT. Nous avons ensuite installé progressivement et pas à pas une solution VoIP afin de répondre à la problématique «Comment faire une conversation orale sur le réseau internet», puis participé au développement d' un utilitaire pour évaluer la qualité des conversations VoIP. Durant cette expérience, nous avons réutilisé un grand nombre de nos connaissances accumulées en DUT informatique, tout en les approfondissants. Nous avons particulièrement progressé en réseau et en anglais, mais aussi étudié des protocoles et eu une expérience de la mise en place d' une solution opensource. Par ailleurs le stage ERASMUS permet un enrichissement personnel et une ouverture d' esprit qui ne seraient pas les mêmes lors d' un stage traditionel en France. Page 4

English summary During this placement, first we have taken some information about our working-place, the SRC, about their role, doing some research on network protocol (SCTP, WIFI 802.11n), and finally about the main projet, SUNAT. Secondly, we have installed step by step a VoIP solution in order to solve the following problem : "How to make phone calls using the internet network? ", then we have worked on software whose role is to evaluate the quality of VoIP conversations. During this experience, we have used a lot of knowledge that we have learned while studying computer-science DUT, and we have expended on it. We have made progress particulary in English and in network technologies, we also studied protocols and implemented an opensource solution for VoIP. Besides the ERASMUS placement has helped us to gain a maturity and to be more open-minded, it wouldn't be the same if we had done the placement in France. Page 5

Sommaire Remerciement...3 Resume francais...4 Resume anglais...5 I Introduction...6 II Présentation gérérale...7 a) Présentation de l'ait et du SRC...7 b) Fonctionnement du SRC...8 c) Présentation du projet...9 III Le stage...10 a) Découverte et installation au SRC...10 b) Documentation préalable : La VoIP...11 c) Mise en place de la solution sur le réseau local...12 d) Déploiement de la solution sur internet...14 le proxy...14 Configuration finale...15 e) Développement du logiciel d' analyse des Délais...16 IV Bilan...17 a) Bilan Technique...17 b) Bilan Humain...18 V Conclusion...19 VI Glossaire...20 VII Bibliographie...23 Site web :...23 Page 6

I Introduction La problématique de la communication au sein d' un service (informatique ou non) est une question fondamentale, et influence considérablement son efficacité. Par extension, la qualité de cette composante dans une entreprise influence sa compétitivité, c' est pourquoi il est primordial de ne pas la négliger et d' utiliser des outils adaptés. Récemment une nouvelle technologie s' est développée pour effectuer des appels téléphoniques à travers un réseau informatique classique, il s' agit de la *VoIP pour Voice over Internet Protocol. Outre le réseau; elle ne nécessite que des postes informatiques normaux (équipé de casque/micro), et aucun matériel spécifique. Au sein du département de recherche de l' Athlone Institute of Technology ( *AIT) que nous présenterons, nous mettrons en place ce système ainsi qu' un réseau personnalisé pour répondre au mieux à ses besoins. Pour ce faire, nous utiliserons des logiciels libres, linux en temps que *système d'exploitation et *opensips comme serveur téléphonique, nous expliciterons davantage son fonctionnement dans la partie développement. Enfin nous n' omettrons pas de faire le bilan sur cette expérience; ce qu' elle nous a apporté, les difficultés rencontrées, ce que nous aurions pu faire en plus. Page 7

a) Présentation de l'ait et du SRC II Présentation gérérale l' AIT bénéficie du projet ARE*, dont le but est de développer la recherche et développement de l' Irlande, ceci en installant / développant des centres de recherche dans les instituts de technologie. Le but final est de fournir une main d' oeuvre qualifiée aux entreprises locales, en attirer de nouvelles et in fine accélérer le renouveau économique du pays. L'AIT remplit donc 2 objectifs : l' enseignement et la recherche. C' est dans son département de recherche, le SRC* que nous ( Quentin Bezsilko et moi-même ) ferons notre stage. Le SRC pour Software Research Centre a été créé en 2003. Sa mission est donc de faire de la recherche en collaboration avec de grandes entreprises installées dans la région, comme par exemple Ericsson, ou bien Eircom. Son principal domaine de compétence est le réseau, et plusieurs projets sont menés de front, le plus important étant le SUNAT. SUNAT est un acronyme pour Seamless Use Through Network Abtraction Technologies. Le principe est de rendre les téléphones mobiles flexibles du point de vue des réseaux utilisés. Ceci doit leur permettre de passer d' un type de réseau à un autre ( du 3G au wifi par exemple ) afin de gagner en coût et/ou en qualité. Le tout doit se faire en toute transparence pour l' utilisateur. On comprend facilement que ces technologies novatrices intéressent au plus haut point les entreprises de télécommunications, lesquelles supportent ces projets. L' AIT ressemble finalement aux pôles d' excellence français, et forme un petit campus. Page 8

b) Fonctionnement du SRC Les membres du SRC sont au nombre de huit, sans nous compter puisque nous sommes stagiaires. La taille de l' équipe étant relativement petite, la communication a lieu de manière directe ou bien par mail. Le tout est relativement peu hiérarchisé, M. Cunningham est en quelque sorte le chef de projet : il supervise les autres membres de l' équipe et définit les priorités ( puisque plusieurs projets ont lieu en même temps ). Pour ce qui est des autres membres, ils sont tous à égale responsabilité. Techniquement, le SRC dispose de son propre réseau local, et d' un accès internet à haut débit distribué sur son réseau. Les machines utilisées fonctionnent sous windows ou linux, et sont récentes. On dispose également de pièces de rechange ( écrans, clavier/souris etc.) et même d' ordinateurs de rechange. De nombreux postes sont pourvus de deux écrans. Les projets sont généralement développés dans des langages informatiques* plutôt bas-niveau, tel que le langage C*, pour des impératifs de vitesse d' exécution. Les horaires sont relativement souples, en fait ce sont plus des objectifs à réaliser qui sont indiqués, et pas vraiment un nombre d' heures et de minutes de présence. Les horaires sont théoriquement de 9h à 17h avec trente minutes de pause à 10h30 et 1h à 13h, mais il n' est pas rare de voir un chercheur arriver plus tard et repartir plus tard également. La pause de 10h30 constitue en fait le traditionnel breakfast Irlandais. En ce qui nous concerne, nous avions des objectifs à réaliser, et des pistes indiquées. Après cela, nous avions carte blanche concernant la manière de le faire, et nous gérions notre temps nous même. Il n' y avait pas d' impératif de date concernant le fonctionnement de tel ou tel module, tant que le travail était réalisé au final (dans des délais raisonnables tout de même). Ceci nécessite naturellement un minimum d' autonomie et d' organisation, mais ce n' était pas un problème puisque nous avons appris cela à l' IUT en effectuant des projets en équipe ( je pense notamment au projet tuteuré ). Page 9

c) Présentation du projet Le projet se déroulant dans un laboratoire de recherche sur le réseau, notre sujet sera donc orienté réseau. Par ailleurs, notre tuteur nous a prévenu que le sujet serait amené à évoluer en fonction de notre avancement. L' intitulé est défini comme tel : mise en place d' une solution VoIP et d' un réseau personalisé. Le cahier des charges est le suivant : nous devons utiliser opensips, un serveur téléphonique virtuel, et x- lite, un gratuiciel* qui se connecte à opensips. Nous devons également travailler sous linux, qui est capable de *compiler et d' exécuter opensips (il n'existe pas de version Windows d' opensips). Dans un second temps, nous devons mettre en place un proxy* spécifique à opensips, dans le but de pouvoir déporter une partie de la charge sur différentes machines, et surtout de pouvoir utiliser le dispositif en dehors du réseau local, c' est à dire sur le réseau internet complet. Enfin, nous avons participé au développement d' un logiciel d' analyse de la qualité d' une conversation VoIP. Ces étapes nécessitent une étude poussée préalable pour comprendre exactement comment fonctionne opensips, la VoIP, avant de se lancer dans toute installation, paramétrage ou développement. Page 10

III Le stage a) Découverte et installation au SRC Notre première mission au sein du SRC fût tout simplement de prendre possession de notre poste de travail. Loin du cadre scolaire ou il suffit de s' identifier sur la machine, nous avons chacun eu droit à un desktop* vierge avec un écran et un kit clavier-souris, ainsi qu' un disque d'installation d' Ubuntu*. Outre l'installation matérielle, nous avons donc fait nous même l' installation du système d' exploitation et sa configuration. Ayant une bonne connaissance du système d' exploitation Linux grâce au module système du DUT informatique, cette étape fût assez triviale. On nous a donc dès le début accordé une certaine autonomie, et nous aurions pu par exemple installer deux systèmes d'exploitation sur notre machine, demander une autre version de Linux, ou même installer Windows à la place. La majeure partie de cette première journée fût toutefois consacrée à la prise d' informations sur le SRC, son rôle, son fonctionnement ainsi que la définition de notre sujet de stage, avec la mise en place d'un petit cahier des charges ( oralement ). Certaines choses nous ont quand même été imposées, comme par exemple le logiciel Opensips en temps que serveur SIP, ainsi que le logiciel client pour mettre en place la solution : X-lite. Une fois le projet défini, nous nous sommes rendu compte que nous ne connaissions absolument pas le domaine de la VoIP, bien que nous ayons acquis des connaissances généralistes en réseau au cours de notre formation. Nous avons donc dans un premier temps commencé un travail de documentation sur ce domaine. Nous avons commencé par étudier comment fonctionne la VoIP, quelle technologies se «cachent» derrière, puis nous nous sommes focalisés sur notre choix technique, opensips. Page 11

b) Documentation préalable : La VoIP Qu'est ce que la VoIP? Comme indiqué dans le glossaire, la VoIP permet de faire voyager la voix sur un réseau numérique. Elle s' oppose donc aux communications téléphoniques traditionnelles qui elles empruntent un réseau analogique. En réalité, la voix numérisée voyage sur le réseau internet comme n' importe quel fichier, sous forme de bits. Quel avantages? Le premier avantage est qu'elle ne nécessite strictement aucun matériel spécifique, elle peut être mise en place avec simplement un réseau internet, du coup on peut la déployer presque partout. Le deuxième avantage est son coût, mis à part celui de la connection internet, la VoIP ne coûte rien de plus, contrairement à une communication RTC* classique. En entreprise, il suffit d'un «banal» serveur pour créer un réseau VoIP. Un réseau RTC nécessite lui un équipement onéreux, et des postes téléphoniques (alors que la VoIP peut être utilisée sur un poste de travail avec un casque / micro). Quel inconvénients? Ayant effectué ma soutenance de communication en S3 sur la sécurité informatique, je me suis tout d' abord intéressé aux risques éventuels. Le fait qu'un simple serveur assure le service peut poser problème, puisque comme tout ordinateur il peut être défaillant ou même subir une attaque. Toutefois, d'après un rapport datant de 2007 1, la disponibilité du service est de 99.9% (restant inférieur aux presque 100% de la téléphonie classique). La VoIP nécessite par ailleurs un réseau de qualité au risque d'être inutilisable, ce qui n'est pas forcément le cas du réseau externe à l'entreprise. Quelles technologies? Pour l'établissement de la connexion, la VoIP s' appuie sur les protocoles SIP / SDP*, qui lui même utilise TCP. L' avantage du protocole TCP, (vu lors du module rsx4), est qu' il permet de garantir l'intégrité des données. Pour la transmission de la voix, on utilise RTP qui lui-même s' appuie sur UDP (protocole également étudié lors du DUT informatique). Contrairement à TCP, UDP permet d'échanger rapidement des données mais au détriment des contrôles (il peut y avoir perte d' informations). Dans notre cas, cela explique pourquoi le réseau doit être suffisament qualitatif ( si il y a trop de perte d'informations, la communication devient inaudible). 1 VoIP et Asterisk, François Deppierraz's. Http://francois.ctrlaltdel.ch/ Page 12

c) Mise en place de la solution sur le réseau local Nous avons mis en place deux postes clients X-lite et un serveur opensips. Il est en réalité possible de connecter les deux postes X-lite directement sur un réseau local, à condition de connaître leurs adresses IP* respectives. Mais plutôt que de le faire manuellement comme cela, on préfèrera les connecter à un serveur qui se chargera d'établir la connection sans que les utilisateurs aient à échanger leur adresse et configurer le logiciel à chaque appel! La première solution implémentée fonctionne donc comme ceci : Dans notre cas, le serveur opensips accède à une base de données MySQL* afin d' enregistrer les utilisateurs autorisés à accéder au réseau VoIP. Il est possible d' utiliser d' autres bases de données. Il y a deux étapes à réaliser pour être joignable : On rentre l'utilisateur dans la base de données d' opensips. L' utilisateur démarre le client (X-lite dans notre cas) et renseigne l'identifiant et le mot de passe correspondant, obtienant ainsi le droit (ou non) de se connecter au serveur. Le serveur opensips «sait» donc à tout moment quels sont les utilisateurs joignables. La procédure d' établissement de la communication peut ensuite être schématisée comme telle : Page 13

Il n'est pas nécessaire de comprendre tous les signaux échangés, mais on peut résumer la procédure en trois étapes : Le client n 1 demande une communication avec le n 2 (juste entre entrant son nom). Le serveur reçoit la demande, et si le client n 2 existe et qu'il est connecté, il transmet. Si le client n 2 accepte la conversation, le serveur renvoie alors son adresse au client n 1 et vice-versa, la communication est établie directement entre les deux clients (et le travail du serveur est fini). Mais le client n 2 peut aussi refuser la communication. Si le client n 2 ne répond pas au bout d' un certain temps paramétrable, la conversation est annulée. Cette solution est fonctionelle, et présente également l' avantage d' être multiplateforme : même si Opensips nécessite une machine sous Linux, X-lite* est disponible sous Linux, Windows et Mac, et de toute façon on peut utiliser n' importe quel client SIP pour se connecter au serveur. Mais cette solution présente une faiblesse de taille : elle ne fonctionne que sur un seul réseau, le réseau local. Ce qui signifie, qu' elle ne peut fonctionner que dans un même service, au mieux dans une même entreprise, et en aucun cas sur internet. C'est la raison pour laquelle dans un deuxième temps nous avons mis en place une solution capable d' être déployée sur le réseau mondial. Page 14

d) Déploiement de la solution sur internet Une fois le problème constaté, nous avons cherché un moyen d' y remédier. La solution que nous avons trouvée comporte deux phases : relai des appels par un proxy Ajout de modules et configuration d'opensips le proxy Notre tuteur nous a demandé d'utiliser mediaproxy, un proxy pour opensips. Jusqu' à maintenant, nos clients SIP s'échangeaient directement les données sur le réseau local sans aucun intermédiaire (une fois la connection entre les deux établie grâce à Opensips). Le mediaproxy va être un intermédiaire pour la voix ( qui «passe» via RTP ), comme le montre ce schéma : Ceci présente de nombreux avantages : Page 15

On peut savoir ce qui se passe sur le réseau, combien d'appels, qui, de quelle durée... On peut archiver ces données. Mais surtout, si les clients ne se parlent plus directement, on peut rediriger les données et sortir du réseau local. A noter que le relai peut être sur n' importe quelle machine, et qu' il peut y en avoir plusieurs. Le rôle du dispatcher est de repartir la charge sur les différents relais disponibles. Installer mediaproxy n'est pas trivial, et qui plus est il est nécessaire de reconfigurer Opensips pour pouvoir l' utiliser, en ajoutant des modules et en modifiant son script d' exécution. Une fois mediaproxy en place, il reste une dernière étape pour déployer la solution sur le web. Configuration finale Il faut tout d' abord disposer d' une adresse publique pour le serveur. Une fois le serveur installé, il reste un problème. Par défaut, Opensips transmet les invitations de conversation sur les addresses IP du réseau privé en mémoire dans la base de données. Le problème, c' est que si Opensips est en dehors du réseau privé, ces adresses n'ont plus aucune signification. Il faut à la place indiquer l'adresse du routeur* du réseau local qui se chargera lui de rediriger les invitations aux bonnes machines. Ceci nécessite une fois de plus l' ajout de modules et la modification du script d' exécution d' Opensips. Pour notre part, ne disposant pas d'adresse publique nous avons simulé cette situation avec un routeur implémentant le NAT*. Le serveur était ainsi isolé sur un réseau différent et nous avons pu mettre en place le service comme si nous étions dans les conditions réelles. Toutefois il faut savoir que aujourd' hui de plus en plus d'entreprises utilisent un Switch* et pas seulement un routeur pour créer un réseau local. Nous avons donc placé cet équipement entre le serveur opensips et le routeur puis nous l' avons configuré afin de retrouver une solution fonctionnelle. Cette étape fût la dernière concernant la mise en place de la solution VoIP, mais nécessaire pour affirmer que nous pourrions déployer ce système dans quasiment n' importe quel réseau d'entreprise. Tout au long de ce projet, nous avons écrit une documentation, un tutoriel pour expliquer comment faire, à la demande de notre tuteur. En effet, bien que les logiciels utilisés soient robustes, ils souffrent d' un manque de documentation, au-delà de la documentation strictement technique, il est très difficile de trouver des documents expliquant comme effectuer des actions ou une configuration ( relai des appels par le médiaproxy ). Page 16

e) Développement du logiciel d' analyse des Délais Nous avons mis en place une solution VoIP fonctionelle, mais comme il s' agit d' une technologie jeune, elle souffre encore de carences. Une de ces carences est certainement l' impossibilité pour l' utilisateur de connaître la qualité de la conversation. En effet, j' ai indiqué plus haut qu' un des problèmes de la VoIP est qu' elle traverse des réseaux hétérogènes et de qualité / vélocité différentes, alors qu' une conversation audio impose des délais restreints et un réseau réactif. Il existe un protocole qui accompagne le RTP ( qui transmet la voix ) qui donne des informations sur la qualité de la conversation, le RTCP*. Toutefois même si il est possible à partir de ce protocole de calculer les délais ou taux de paquets arrivés à destination, il est bien entendu impossible pour l' utilisateur de savoir si la conversation est de bonne qualité ou non ( d' autant plus que ce genre d' informations ne sont bien sûr pas montré par les softphones, et qu' il y a plusieurs rapports par seconde!). Pour pallier à cette faiblesse, le SRC développe actuellement un logiciel capable à partir des rapports RTCP de donner un indice représentant la qualité de la conversation, prenant en compte tous les paramètres. Pour donner un exemple, il existe le même genre de chose pour une connexion wifi par exemple, avec un indice de qualité de 1 à 5. Quentin Bezsilko et moi-même avons développé le module capable de calculer le délai d' une conversation. Dans un premier temps, nous avons dû étudier très minutieusement le fonctionnement exact du protocole RTCP et le moyen de calculer le délai à partir d' informations brutes. Une fois ce travail accompli, nous avons utilisé une API* du langage java*, jpcap, capable de récupérer les paquets qui transitent sur le réseau, puis de renvoyer leur contenu. Les paquets récupérés, nous avons ensuite traduit notre raisonnement en java. Le code source de ce projet est en annexe. Page 17

IV Bilan a) Bilan Technique Le DUT informatique nous a apporté les «briques de bases» afin de nous permettre de nous en sortir : durant notre formation, nous avons appris comment marche Linux, comment se servir de la console ou encore des éditeurs de texte. Ce sont ces connaissances «basiques» dont nous nous sommes reservies pour le projet, lorsque nous avons installé, compilé, configuré ( modifier le script d' exécution notamment), etc. Grâce au stage nous avons donc acquis de l' expérience et vu une application concrète de nos cours théoriques. On peut tirer la même conclusion pour le réseau, nous sommes arrivés avec quelques notions théoriques sur les adresses, comment identifier une machine, et à partir de là nous avons pu appréhender un système complexe comme la VoIP et configurer un «vrai» réseau. Une fois de plus le stage nous a apporté une application concrète de nos connaissances plutôt théoriques. Ayant eu la chance de faire un stage en Irlande grâce au programme ERASMUS, nous avons pu également améliorer sensiblement notre anglais. En effet, tout au long de notre scolarité depuis le collège, nous avons acquis des connaissances grammaticales, du vocabulaire, appris la conjugaison, etc. Toutefois, me concernant je n' ai jamais eu l' occasion de pratiquer la langue dans de réelles conditions pendant une période prolongée, en toute indépendance. Le fait de «vivre» l' anglais tous les jours, de l' écouter à la télévision, de le lire, de le parler bref de le pratiquer quotidiennement pendant trois mois confère une expérience et des compétences qui ne peuvent pas être acquises par un cours. Par ailleurs, nous avons également progressé à l' écrit puisque nous avons étudié un grand nombre de documentations, mais surtout écrit nous même une documentation, un tutorial pour réaliser une installation telle que la nôtre ( en annexe ). Enfin, lors du développement du logiciel de calcul de délai, nous nous sommes largement appuyés sur nos connaissances en programmation, tout en découvrant une nouvelle API. Nous nous sommes vraiment rendus compte que le DUT informatique nous avait fourni les aptitudes nécessaires pour participer au développement d' un projet. Qui plus est, ce fût l' occasion pour nous d' utiliser nos connaissances réseaux à travers le développement, donc d' en voir une autre application. Plus globalement, nous avons découvert comment l' open-source pouvait être déployé pour des professionnels et utilisé en entreprise. Nous avons vu ses forces ( fiabilité des logiciels, importance de la communauté ) mais aussi ses faiblesses ( compliqué, peu «user-friendly», documentation parfois obsolète ou lacunaire ), toute notre solution était basée sur l'open-source : Linux en système d'exploitation, opensips en serveur SIP. De manière générale, ce stage a été pour nous une application formatrice des compétences plutôt théoriques que nous avions acquises jusque là. Nous avons particulièrement progressé en anglais et en réseau, tout en se rendant compte de l' importance de l' étude préalable d' un sujet et de la documentation. Page 18

b) Bilan Humain Lors de ce stage, nous avons eu une expérience du travail en équipe sur le «long terme», dans le milieu professionnel. En effet, même si nous avions déjà mené des projets en équipe pendant le DUT informatique, il s' agissait de projets à but pédagogique, pour évaluer les élèves, et non de projets à but professionnel. Qui plus est, le temps consacré à ces projets était de quelques heures par semaines, contre 35h dans notre cas, ce qui correspond à de réelles conditions de travail. Tout au long de notre projet, nous avons joui d' une grande autonomie, ce qui n' était pas forcément le cas lorsque nous avons étudié. Nous avons donc expérimenté les brainstorming, les réunions, les mises au point sur l' avancement, pour faire le bilan et déterminer comment conduire la suite du projet. Nous avons appris à prendre le temps de déterminer les orientations du projet avant de se «jeter» sur les machines, et compris l' utilité de ce type de démarche. Dans le même ordre d' idée, nous avons réalisé l' importance de se documenter avant d' entreprendre un projet, par exemple lors du logiciel de calcul de délai. En effet, nous avons commis des erreurs de conception suite à une connaissance insuffisante de RTCP, pour finalement étudier RTCP plus en profondeur et corriger les fautes. Cette expérience a bien illustré le fait que la documentation préalable et la réflexion sur la conception ne sont en aucun cas une perte de temps. Notre lieu de travail en lui-même fût une découverte pour nous, puisque nous avons travaillé dans un centre de recherche, un secteur qui nous était complètement inconnu. Nous y avons découvert une ambiance de travail très différente de l' enseignement, basé sur un résultat attendu mais avec une grande autonomie et un temps imparti flexible, et une assez grande liberté dans nos choix. Nous avons également dû étudier certaines choses nous-même ( le réseau, la VoIP ) là ou à l' IUT un professeur nous l' aurait enseigné. Ceci a eu pour avantage de développer notre autonomie dans l' apprentissage. Mais les effets bénéfiques d' un stage Erasmus ne sont pas limités au contexte professionnel. En allant faire notre stage en Irlande, nous avons eu la chance de rencontrer des personnes ayant une autre culture, favorisant ainsi l' échange et l' ouverture d' esprit. A Athlone, beaucoup sont étudiants internationaux, ainsi nous avons eu la chance de cotoyer de nombreuses nationalités différentes, Italien, Tchèque, Espagnol en plus des Irlandais. L' enrichissement personnel que cela nous a apporté n' aurait pas été accesible en France. En définitive ce stage nous a apporté plus de recul, plus d' autonomie dans l' apprentissage et de manière générale. Nous avons eu l'occasion d' avoir l' expérience de mener un «vrai projet». Mais le plus important est peut-être l' enrichissement personnel et l' ouverture d'esprit que nous avons retiré de ce stage, grâce à notre «immersion» dans ce milieu qui nous était étranger et les rencontres que nous avons faites. Page 19

V Conclusion Notre stage au SRC nous a invité à répondre à la problématique suivante : comment communiquer verbalement sur le réseau universel et hétérogène qu' est internet? Pour y répondre, nous avons au sein de ce département de recherche étudié la VoIP pour ensuite en déployer une solution, et enfin participé au déveleppement d' un logiciel novateur capable d' estimer sa qualité. A travers la VoIP, nous avons progressé en UNIX, en réseau, et grâce au programme ERASMUS en anglais. Durant ce stage, nous avons réutilisé toutes nos connaissances acquises en DUT et nous les avons approfondies. Notre objectif a été atteint puisque à la fin du stage nous avons fait une conférence à l' équipe de recherche afin de présenter la solution que nous avons implémentée et expliquer son fonctionnement. Bien entendu, il aurait été possible d' aller plus loin dans ce projet, en mettant par exemple davantage d' «obstacles» ( proxy et autre équipement réseau ) entre les clients et le serveur, ou encore d' associer au mediaproxy ( qui relais les appels ) une analyse des conversations et un archivage des données. Si ce projet a rendu service à l' équipe de recherche, nous en avons retiré une expérience très valorisante également. Dans un monde qui tend vers le tout numérique, il ne fait aucun doute que nous retravaillerons un jour sur la VoIP qui remplacera à terme les communications téléphoniques traditionnelles. Page 20

VI Annexe Annexe 1 : le tutoriel d' installation d' opensips ************************************************** * * * * Author : Quentin Bezsilko & Benjamin Grassart * * Date of creation : 28rd of April * * * *************************************************** This file is a tutorial explaining step by step how to install OpenSIPS on a linux distribution. It has been installed on Ubuntu 8.10 (32 bits) but still works with other versions. Note : this tutorial should be read with a normal screen and a resolution of 1280*1024. First we will see how to install opensips with a database and after how to add a mediaproxy relay. To start, we need to find all the system for update and upgrade. We'll also need some programs to use OpenSIPS. In order to do so, open a terminal and run the following commands. Note : You should be logged in as the super-user to execute these commands. benjamin@benjamin-desktop-ait:~$ su Password : If it worked, you can go to the next step! ####################################################################################### If you don't know your root password or if you haven't set it already, try this. benjamin@benjamin-desktop-ait:~$ sudo passwd Page 21