Serveur VoIP sur platine ARM et CANOpen
Transcription
Serveur VoIP sur platine ARM et CANOpen
Z.I. Les Illons, 07250 Le Pouzin 51, rue Barthélémy de Laffemas 26901 Valence Cedex 9 Serveur VoIP sur platine ARM et CANOpen Rapport de Stage ROGER Mathieu Licence Pro. SIL option SIRE Maı̂tre de Stage : M. Christophe Duhoux Professeur tuteur : M. Denis Genon-Catalot Année Universitaire 2007-2008 Rapport rédigé avec LATEX Remerciement Je souhaite remercier : Sébastien Jean et Denis Genon-Catalot pour leurs aides et conseils lors de mon stage. Christophe Duhoux pour son aide sur le protocole CANOpen. L’ensemble des stagiaires pour leur aide et le partage de compétences aussi bien pour mon projet que pour le leur. Table des matières Introduction 1 1 Présentation du stage 1.1 Le lieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 L’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 2 La platine ARM 2.1 Spécifications matérielles . . . . 2.2 Spécifications logicielles . . . . . 2.2.1 Boot loader . . . . . . . 2.2.2 Noyau Linux . . . . . . 2.2.3 Système de fichiers . . . 2.3 La chaine de compilation croisée . . . . . . 4 4 5 5 6 7 8 . . . . . 9 9 9 10 11 12 . . . . . 14 14 15 16 16 17 3 Le serveur téléphonique 3.1 Présentation . . . . . . 3.1.1 La VoIP . . . . 3.1.2 Asterisk . . . . 3.2 Architecture . . . . . . 3.3 Les signaux DTMF . . . . . . . . . . . . . . . . . 4 Autres travaux 4.1 Interface Web pour Asterisk 4.2 Téléphone IP . . . . . . . . 4.3 CANOpen . . . . . . . . . . 4.3.1 CanFestival . . . . . 4.3.2 Ethernet Powerlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusion 18 Bibliographie 19 Table des figures 2.1 Carte Olimex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1 Logo d’Asterisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Architecture du système . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3 Nouvelle architecture du système . . . . . . . . . . . . . . . . . . . . 13 4.1 Interface d’administration Internet . . . . . . . . . . . . . . . . . . . 15 Introduction Étant en fin de cycle de Licence Professionnelle Système Informatique et Logiciel option Système Informatique et Réseaux Embarqués à l’IUT Pierre-MendèsFrance de Valence, j’ai été amené à effectuer un stage de fin d’année pour finaliser ma formation. J’ai effectué celui-ci au laboratoire valentinois LCIS (plateforme technique), pour l’entreprise Sprinte : entreprise spécialisée dans les armoires d’ascenseur. Le sujet du stage est « Utilisation de la VoIP sur platine ARM et module CANOpen pour ascenseur ». La voix sur IP est destinée à la télésurveillance de l’ascenseur, c’est-à-dire les appels d’urgence dans le cas où une personne serait bloquée dans l’ascenseur. Le but de l’implémentation du CANOpen est la prise de contrôle et la reconfiguration de l’ascenseur à distance via l’Internet nécessaire pour les appels d’urgence. Ce rapport va donc s’ordonner en trois parties : tout d’abord, nous verrons une présentation de la plateforme technique de Valence et de l’entreprise sprinte, ensuite nous nous pencherons sur le choix de la plateforme, du serveur de VoIP et de son implémentation sur la carte. Enfin, nous finirons par une partie sur la configuration et la prise de contrôle de l’ascenseur via CanFestival et Ethernet Powerlink 1. 1.1 Présentation du stage Le lieu Mon stage s’est donc effectué sur la plateforme technique de valence, c’est une structure de transfert technologique. Elle héberge également les activités de recherche fondamentale de deux enseignants-chercheurs du groupe CTSYS du laboratoire LCIS (Sébastien JEAN et Denis GENON-CATALOT). On y trouve des stagiaires de différentes filières de l’IUT tel que DUT Informatique option SI et GI, DUT R&T, Licence Pro SIRE. Le laboratoire valentinois LCIS (sous tutelle de l’INPG et de l’UPMF) compte une vingtaine de chercheurs permanents et une dizaine de doctorants. Ses axes de recherche couvrent la conception et le test des systèmes complexes, l’étude des systèmes coopérants (multiagents), la conception de systèmes optoélectroniques et de radiofréquences et enfin le contrôle des systèmes dynamiques (automatiques). Le groupe CTSYS s’inscrit dans l’axe « conception et test de systèmes » et compte cinq enseignants-chercheurs permanents et un doctorant. Les activités de recherche menées sur la plateforme (et physiquement sur la plateforme technologique) se focalisent notamment sur la conception de passerelles embarquées (pour applications d’informatique ambiante ou industrielles), en traitant à la fois des aspects système, intergiciel et réseau. 1. Présentation du stage 1.2 3 L’entreprise Le travail a été effectué pour l’entreprise SPRINTE Electra Vitoria (SPRINTE E.V.). Cette entreprise est spécialisée dans la conception et la fabrication d’équipements électriques pour les ascenseurs neufs ou à rénover de manière à ce qu’ils soient compatibles avec les nouvelles normes en vigueur. La société SPRINTE a été créée en 1978 par M. Gérard CHOLVY, qui possédait déjà des compétences dans le domaine de l’ascenseur. Dès 1980, SPRINTE propose, des armoires intégrant des microprocesseurs. En 1996, la société rejoint le groupe espagnol Electra Vitoria basé à Vitoria (Catalogne) ainsi SPRINTE devient SPRINTE Electra Vitoria. Elle développe ainsi un savoir-faire dans le domaine des armoires de commande et de la filerie des ascenseurs. L’entreprise est maintenant reconnue pour son activité dans les armoires de rénovation et les installations neuves par des clients tels que OTIS, KONE, SCHINDLER, ... SPRINTE E.V. développe des systèmes électriques et électroniques pour le contrôle des ascenseurs. La société a mis en place une nouvelle gamme d’éléments de commandes et de capteurs permettant de réduire la longueur des câbles ainsi que leurs nombres en utilisant notamment des bus de terrain tels que le CAN et le protocole CANOpen. L’utilisation du CANOpen a permis à SPRINTE E.V. d’obtenir des architectures plus robustes (sécurité et maintenance) avec des interfaces de communication évoluées (USB, Ethernet). 2. La platine ARM La plus grande partie de mon stage s’est déroulée sur l’installation et la configuration de la carte et du serveur de Voix sur IP. Dans cette partie, nous allons aborder les spécifications de la platine sur laquelle j’ai travaillé. La plateforme ARM a été choisie par Denis GENON-CATALOT, pour sa puissance, sa polyvalence et son faible coût (environ 90 euros). 2.1 Spécifications matérielles La carte d’évaluation est une platine Olimex SAM9-L9260. Celle-ci dispose de : – Un processeur ARM9 à 200 MHz – 64Mo de SDRAM – 512 Mo de NAND Flash (fait office de disque dur) – Un port Ethernet 100Mbits – Un port USB 2.0 maı̂tre (permet de brancher des clefs USB par exemple) – Un port USB 2.0 esclave (permet de se servir de la carte comme carte réseau USB) – 3 ports RS232 – Un lecteur de SD/MMC – Un bouton réglable (valeure atteignable dans un registre) et un bouton reset – Une led power, deux leds configurables Cette architecture dispose donc d’une puissance de calcul non négligeable pour un prix vraiment attractif, de plus celle-ci dispose de nombreuses entrées-sorties, 2. La platine ARM 5 Fig. 2.1 – Carte Olimex convertisseur analogique numérique et autres fonctions ce qui la rend vraiment polyvalente et apte à beaucoup d’usages. 2.2 Spécifications logicielles La carte est livrée avec un CD contenant tous les utilitaires nécessaires à un flashage (équivalent du formatage) de celle-ci. On y trouve le code permettant de gérer la flash et la RAM, le boot loader, le noyau Linux et le système de fichiers. 2.2.1 Boot loader Le code permettant de gérer la flash et la ram est en fait un mapping des registres, c’est-à-dire une manière plus ou moins matérielle de rediriger les registres du processeur vers les composants flash et ram. Ce code étant déjà compilé, nous n’avons pas senti le besoin de l’ouvrir, ni de l’éditer. 2. La platine ARM 6 Le boot loader est un morceau de code qui se charge de lancer le noyau Linux, sur un PC se serait le Bios (Award, Phoenix. . .), sur notre platine plusieurs sont possibles : RedBoot, U-boot,. . .celui-ci étant déjà livré et configuré par Olimex nous n’avons pas non plus ressenti le besoin de le modifier ou de le changer. 2.2.2 Noyau Linux En ce qui concerne le noyau Linux, la version livrée avec la carte était un 2.5.x.x, le deuxième nombre étant impaire cela signifie que c’est une version instable et en développement. Cela est principalement dû au fait que la majorité des drivers nécessaires pour la carte n’ont été ajouté que dans cette version, or lors du début de mon stage la version 2.6.x.x était sortie en version stable, en conséquence les drivers été intégrés et fonctionnel. Après application d’un patch nécessaire au fonctionnement du noyau sur la carte, nous avons lancé une compilation qui marcha directement. Après plusieurs jours de tests et de développement sur le noyau, nous avons remarqué plusieurs bugs : tout d’abord toutes actions sur la MMC (insertion, lecture, écriture) étaient écrite dans un fichier journal par le noyau, cela avait pour conséquence de prendre une place conséquente sur la carte et surtout de ralentir les accès (en moyenne 30ko/s). Ceci est dû au fait que le driver du lecteur de carte MMC n’est pas encore tout à fait stable, et donc la fonction de debug de celui-ci est activée dans le noyau, il a donc suffi de la désactiver. Le deuxième souci était le fait que l’horloge était mal régler : le temps passait plus lentement sur la carte, cela du à un mauvais cadencement au niveau du noyau, la modification de la RTC (Real Time Clock) dans les options du noyau à permit de régler le problème. 2. La platine ARM 2.2.3 7 Système de fichiers Le système de fichiers (ou distribution) est l’ensemble des exécutables permettant le fonctionnement de Linux, entre les différents systèmes de fichiers il y a beaucoup de points communs, par exemple on retrouve tout le temps les commandes ls, mkdir,. . ., qui sont les commandes de bases. En revanche suivant le système de fichiers certaines commandes plus complexes ne sont pas présentes. Notre système étant minimal (serveur de voix sur IP plus quelques autres services), nous avons essayé d’utiliser un système de fichier ultraléger : BusyBox, celui-ci ne pèse que 2 Mo au lieu des 120 Mo utilisés par le système fourni avec la carte. Nous n’avons malheureusement pas réussit à le mettre sur la carte, le noyau Linux n’arrivait pas à lire la partition dans la flash. Nous sommes donc retourné au système de fichiers livré avec la carte et l’avons allégé : suppression de certains fichiers/exécutables inutiles, suppression des services inutiles au démarrage. . . 2. La platine ARM 2.3 8 La chaine de compilation croisée La platine étant équipée d’un processeur ARM, les jeux d’instruction matériels pour faire exécuter des opérations au processeur sont différents que sur une architecture x86 (architecture PC). De ce fait, le compilateur est différent de manière à être capable de compiler à partir d’une architecture x86 vers un autre type de processeurs, ici ARM, c’est cette notion que nous appelons la compilation croisée. Plusieurs compilateurs croisés existent pour ARM, nous avons commencé par celui livré par Olimex. Après plusieurs jours de tests, nous nous sommes rendu compte que celui-ci ne marchait pas (impossibilité de lancer les exécutables créés). Nous avons donc fait le choix de ELDK (Embedded Linux Development Kit) qui est une panoplie d’utilitaires pour la compilation croisée pour Linux, et ceci pour différents types de processeurs dont bien sûr l’architecture ARM. Après installation et compilation d’un Hello World pour les tests, nous avons pût grâce à ce compilateur recompilé le noyau, le serveur de voix sur IP,. . . 3. Le serveur téléphonique La majeure partie du stage s’est déroulée sur le développement, l’installation et la configuration du serveur de Voix sur IP. Le but étant de mettre en place un système de télésurveillance pour les ascenseurs, c’est-à-dire le bouton d’appel d’urgence présent dans les ascenseurs. Suite à une nouvelle norme, l’appui sur le bouton doit obligatoirement appeler quelqu’un, par exemple les pompiers, la société d’ascensoriste. . .De plus, plusieurs prises sont présentes pour les pompiers, les techniciens. . . 3.1 Présentation Pour essayer d’innover un peu dans le monde de la télésurveillance et surtout pour réduire les coûts inhérents aux appels par France Telecom, nous avons souhaité une solution numérique. Une solution s’est très vite imposée : la VoIP, qui est une technique permettant d’effectuer des appels numériques en restant de bout en bout sur le réseau numérique. Cela permet donc de s’affranchir de l’abonnement France Telecom, bien qu’un abonnement à Internet soit nécessaire, mais le principal avantage est que France Telecom facture les appels alors qu’en général les appels numériques vers un poste analogique sont gratuits. 3.1.1 La VoIP Présentation inspirée de Wikipédia La VoIP pour Voice Over IP, littéralement Voix sur IP est une technique permettant de communiquer la voix sur les réseaux informatiques tels que les réseaux d’entreprise, Internet, ADSL. . .Elle est utilisée pour supporter le service de télé- 3. Le serveur téléphonique 10 phonie IP (ToIP pour Telephony over IP). La technique se base sur un système de paquets très légers contenant une petite partie de la conversation (environ 30 à 50 ms). De cette manière, les paquets peuvent être acheminés rapidement et si quelques-uns se perdent l’utilisateur ne s’en rend quasiment pas compte. Généralement, le protocole est utilisé pour une communication point à point, mais il est aussi possible d’effectuer des conférences. Un protocole va de pair avec la VoIP : le SIP (Session Initiation Protocol), ce protocole permet la signalisation des appels : décrocher, raccrocher. . .Grâce à ce système nous pouvons passer des appels entre téléphones IP gratuitement à condition d’être relié à un serveur, mais aussi certains serveurs tels que VoIPBuster ou Free permettent de passer des appels aussi sur les téléphones fixes pour des coûts très réduits (9 euros pour 6 mois chez VoIPBuster avec appels illimités) 3.1.2 Asterisk Fig. 3.1 – Logo d’Asterisk Une fois le principe de transmission de données arrêtées il a fallu choisir un serveur supportant les appels internes, la connexion à un serveur distant pour les appels externes, et si possible un système de conférence. Asterisk s’est très vite départagé des autres solutions, car il existe un support très actif y compris sur les différentes méthodes permettant de l’intégrer à des processeurs embarqués, ce qui est notre cas, de plus celui-ci dispose de nombreux modules que l’on peut 3. Le serveur téléphonique 11 activer, désactiver et configurer facilement tels que les conférences ou la gestion des différents types de compression (codec) utilisés pour la transmission de la voix. Bien que de la documentation soit disponible pour la compilation d’Asterisk pour ARM, il y a eu néanmoins quelques problèmes, tout d’abord il m’a fallu comprendre comment compiler pour ARM le programme, c’est-à-dire l’argument à donner pour que celui-ci compile correctement. Ensuite il y a eu un problème de dépendances cassé, il manquait la bibliothèque permettant la colorisation des textes dans la console, celui-ci étant nécessaire à Asterisk, mais n’existant pas pour ARM, il a donc fallu télécharger les sources et les compiler. 3.2 Architecture Le système de télésurveillance se comporte comme un vrai serveur téléphonique d’entreprise, plusieurs téléphones sont présents, ils sont capables de s’appeler entre eux. La principale différence réside dans le fait que certains téléphones (dans la cabine, sur la cabine. . .) ne disposent que d’un seul bouton qui compose automatiquement le numéro. Le système s’architecture comme décrit sur le schéma ci-dessous : On remarque donc quel les différents téléphones sont reliés à la platine ARM qui fait office de serveur Asterisk. Les téléphones pompiers, par exemple, eux sont de vrai téléphone SIP car ils ont la possibilité d’appeler une cabine en particulier, il leur faut donc avoir un vrai clavier pour pouvoir composer le numéro. On remarque ensuite que la platine est reliée à un provider SIP (fournisseur de service SIP), tels que VoIPBuster ou encore Freephonie, qui permettent d’effectuer des appels vers l’extérieur et notamment vers les lignes analogiques pour appeler les pompiers ou une société spécialisée en cas d’appui sur le bouton d’appel. 3. Le serveur téléphonique 12 Fig. 3.2 – Architecture du système 3.3 Les signaux DTMF Les signaux DTMF sont les tonalités que l’on entend lors de l’appui sur les boutons du téléphone. Sur les téléphones analogiques, ces signaux se traduisent par deux fréquences envoyées sur la ligne en même temps que la voix. Dans le milieu de la VoIP il y a plusieurs possibilités : soit ils sont envoyés en « inband »c’est-à-dire comme sur les téléphones analogiques, soit en RFC2833 qui sont des paquets SIP envoyés en même temps que la voix contenant le numéro de la touche appuyée. La méthode « inband »est encore très utilisée, car elle permet une compatibilité totale entre l’analogique et le numérique : si on appelle ma platine à partir d’un poste analogique les signaux seront en « inband ». De ce fait la platine ARM doit être capable de les détecter, cela n’a pas été possible pour deux raisons : tout d’abord, le module ztdummy qui permet d’avoir une horloge interne à Asterisk n’est pas compilable pour ARM de ce fait la base de temps nécessaire pour trouver les fréquences n’est pas présente, de plus le processeur ne gère pas nativement les calculs à virgule flottante, une émulation par le noyau est donc 3. Le serveur téléphonique 13 faite, cela est beaucoup trop long à exécuter en conséquence le serveur n’arrive pas à chercher la bonne fréquence assez rapidement et s’arrête. Les différentes tentatives de mise en place de ztdummy ont été une grosse perte de temps, environ deux semaines et demi avant que l’on se décide à envisager une autre solution. Pour pallier à ce problème, nous avons pensé à mettre un serveur central, basé sur un vrai PC, auquel toutes les platines se connecteront, lui fera la transition des signaux RFC2833 en « inband ». Cela permet aussi d’avoir une centralisation des différentes cartes et donc de savoir quand une a perdu la connexion de manière à la réparer rapidement. Ci-dessous l’architecture avec le serveur central : Fig. 3.3 – Nouvelle architecture du système Cette méthode permet donc à une ligne analogique d’appeler un des téléphones de l’ascenseur en composant le numéro du serveur (numéro classique offert par Freephonie par exemple) puis de composer le numéro de la platine suivi du numéro du téléphone interne. 4. Autres travaux Dans cette partie, nous allons aborder les autres travaux effectués pendant le stage. Nous verrons dans un premier temps l’interface Web pour faciliter l’administration d’Asterisk. Dans un deuxième temps, nous verrons la pile CANOpen CanFestival, puis nous finirons par la technologie d’Ethernet Powerlink. 4.1 Interface Web pour Asterisk De manière à simplifier l’installation des téléphones sur le serveur, une interface sous forme de page Internet a été réalisée, celle-ci permet : – D’ajouter et supprimer des téléphones – De configurer le provider SIP permettant les appels vers l’extérieur de réseau – D’attribuer un numéro à chaque téléphone – De configurer qui appeler en cas d’appui sur le bouton d’appel – De configurer la liaison au serveur central pour les appels entrants – De demander à la carte d’effectuer un appel entre un poste à l’intérieur du réseau et un numéro de téléphone fixe. Des fonctions devraient être rajoutées : la carte servira aussi probablement de passerelle CAN pour administrer l’ascenseur à distance, de fait l’interface Web contiendra une section permettant d’envoyer des trames à l’ascenseur. En ce qui concerne le codage du site Web, le rendu est bien sur en HTML, langage de toutes les pages web, mais la génération de ce html peut se faire par plusieurs moyens : PHP, ASP, Python, Ě sont des langages capables de générer de l’HTML. Pour ce site j’ai préféré l’utilisation du Python car celui-ci bien 4. Autres travaux 15 que guère rapide, permet un temps de développement réduit et propose de nombreuses librairies facilitant la tâche du programmeur. Il propose notamment des fonctions qui permettent de récupérer et de traiter les paramètres passés par la page web très facilement, mais aussi une grosse librairie permettant de lire, écrire et modifier les fichiers de configuration s’ils sont formatés d’une certaine manière ce qui est le cas d’Asterisk. Voici un aperçu de l’interface d’administration : Fig. 4.1 – Interface d’administration Internet 4.2 Téléphone IP Avoir le serveur embarqué pour la téléphonie est bien, mais pas suffisant, il faut aussi les téléphones capables en un seul bouton d’appeler et de composer. Nous avons donc travaillé sur un logiciel permettant de le faire (Softphone), le seul softphone capable de fonctionner sans interface graphique est Linphone. La compilation croisée de celui-ci n’est vraiment pas aisée, il a besoin de beaucoup 4. Autres travaux 16 de librairies qui doivent, elles aussi, être compilées pour le processeur ARM. La compilation du logiciel est encore en cours. À terme celui-ci devrait être capable d’être intégré sur un processeur de type ARM7, et d’utiliser une des entrées/sorties de celui-ci pour le bouton. Lors de l’appui sur le bouton, celui-ci composera automatiquement le numéro adéquat. Lors de la réception d’un appel vers le softphone celui-ci décrochera automatiquement sans action nécessaire de la part de l’utilisateur 4.3 CANOpen Une fois la mise en place du serveur Asterisk terminée, je me suis concentré sur les fonctions que l’on pouvait rajouter à la carte ; c’est-à-dire le contrôle et la configuration de l’ascenseur à distance. Les différentes parties des ascenseurs (cabine, armoire) développés par Sprinte communiquent via le réseau CAN et le protocole CANOpen. Le CANOpen est une couche applicative pour le réseau CAN, celui-ci fonctionne en temps réel. Il est utilisé dans de nombreux domaines tels que l’automobile, les ascenseurs, le domaine médical. Il est connu pour être une solution de communication économique et très efficace. Le principe repose sur un dictionnaire d’objet propre à chaque équipement qui lui dit les actions à effectuer, les données, les entrées sorties, les actions à effectuer à intervalle régulier comme par exemple prendre une mesure ou encore envoyer une donnée sur le réseau, les valeurs des objets peuvent être lu et modifier par le maı̂tre du réseau. 4.3.1 CanFestival CanFestival est une pile CANOpen open source et gratuite. La carte Olimex ne disposant pas de port CAN, il a fallu compiler les drivers du module USB-CAN 4. Autres travaux 17 PEAK. Une fois ceux-ci compilés on à put compiler CanFestival pour la platine. Les tests effectués restent pour l’instant très succincts, le programme se lance, on arrive à changer l’état d’un des nIJuds du réseau : passage en préopérationnel, en opérationnel, mais on n’arrive pas a effectuer des requêtes de type SDO, par exemple lire l’identifiant du fabricant. 4.3.2 Ethernet Powerlink Une autre méthode permet de faire du CANOpen, il s’agit d’Ethernet Powerlink, cette technologie permet d’utiliser le réseau Ethernet/IP pour faire passer des données CANOpen. Cette technologie permet donc de reconfigurer et contrôler l’ascenseur à distance, mais sans à avoir à utiliser l’interface web. Pour le moment, nous n’en sommes qu’à la phase de compilation de celui-ci, sans avoir la certitude de réussir à le faire marcher sur la plateforme Olimex. Conclusion Lors du stage, le serveur de VoIP a été le plus gros travail, celui qui a demandé le plus de temps, notamment sur la détection des signaux DTMF. Ensuite, le travail sur le noyau (amélioration, ajout de fonctionnalité) s’est fait durant toute la durée du stage. Ce travail a demandé beaucoup de rigueur, car la compilation croisée n’est pas une chose facile à cause de la multitude des librairies nécessaires. Les travaux non finis pour l’instant sont principalement le Softphone et CanFestival. Ceux-ci devraient être finis d’ici la fin de mon stage, ou sinon une solution alternative proposée. La majorité de mon travail s’effectue actuellement sur la pile CanFestival de manière à réussir à lire et écrire des valeurs dans les différents modules pour pouvoir les reconfigurer et diagnostiquer à distance. Ce stage m’a permis d’utiliser les compétences acquises lors de mon DUT et de ma Licence Professionnelle aussi bien pour mon projet que pour celui des autres. Le travail sur la plateforme a été très bénéfique, car bien que nous ayons des projets différents, nous partagions nos opinions et compétences sur les projets de chacun. Bibliographie Wikipédia (http ://fr.wikipedia.org) : Encyclopédie en ligne. Utilisée pour les définitions et quelques renseignements. VoIP-info (http ://www.voip-info.org/wiki/) : Utilisé pour toute la configuration d’Asterisk. Asterisk (http ://www.asterisk.org/) : Aide pour la configuration d’Asterisk et sa compilation croisée. CanFestival (http ://www.canfestival.org/) : Documentation de CanFestival. ARM Linux Project (http ://www.arm.linux.org.uk/) : Mailing-list sur Linux sur processeur ARM AT91 Linux Patch (http ://maxim.org.za/at91 26.html) : Patchs pour la compilation du noyau pour le processeur D’ici quelques mois, les ascenseurs devront tous être équipés d’un système de télésurveillance, permettant lors de l’appui sur le bouton d’urgence d’appeler un numéro. À l’heure actuelle ce service est généralement proposé en analogique, mais la technologie veut que cela change : ainsi mon projet a été de réaliser ce service de manière totalement numérique avec une compatibilité avec les lignes analogiques pour les fournisseurs non équipés. De plus comme le système sera relié à Internet, pourquoi ne faire passer que de la voix et pas aussi des données, nous avons donc regardé à développer un système permettant de diagnostiquer l’ascenseur et le configurer à distance, sans a avoir à faire déplacer un technicien. Mots-clefs : ARM, VoIP, Asterisk, SIP, CAN, CANOpen, CanFestival, serveur SIP, client SIP, Linphone In few months, the elevators should have a remote monitoring system, allowing making a call when a button is pushing. At this time, this service is commonly purposed in analog, but the technology like change, so my project was to accomplish this service in a numerical way with a compatibility with the analog phone for the persons with only an analog phone. Moreover the system will be connected to the Internet, so why only use this for the voice and not for data, we have see to develop a system to diagnostics and configure the elevator without having to make move a technician. Keywords : ARM, VoIP, Asterisk, SIP, CAN, CANOpen, CanFestival, SIP server, SIP client, Linphone