Poster CarrierClass.net pour les JRES 2007
Transcription
Poster CarrierClass.net pour les JRES 2007
CarrierClass.net – Téléphonie sur IP multi-site en logiciel libre Introduction Architecture SIP L'environnement logiciel libre pour les applications de communication orientées «Voix» Aujourd'hui, les solutions Logiciel Libre pour les applications de Téléphonie sur IP (ToIP) sont pour l'essentiel orientées vers les Petites et Moyennes Entreprises, voire les Très Petites Entreprises, ceci étant essentiellement dû à la popularité d'Asterisk, basé sur le travail de Mark Spencer de la compagnie Digium. Bien que des composants existent pour la réalisation de systèmes à grande échelle, leur intégration reste complexe. Ainsi OpenSER, dérivé du logiciel SIP Express Router (SER), permet de construire diérents composants autour du protocole SIP, tels que des SIP Proxy, SIP Session Border Controller, etc. Sa programmation néanmoins requiert des connaissances approfondies du protocole SIP et est rendue dicile par ce qui peut être considéré comme une documentation limitée. Freeswitch, créé par Anthony Minnesale, un ancien contributeur au projet Asterisk, promet d'orir des fonctionnalités avancées et avec des performances importantes, mais ne possède pas aujourd'hui d'interface de gestion. D'autres projets tels que YATE, Bayonne, …, présents depuis de nombreuses années reviennent sur le devant de la scène mais eux aussi sourent d'un manque d'intégration. Enfin, la solution SIPx de la société Pingtel, bien que vendue comme une solution à grande échelle, n'a pas démontré de projet avec messagerie vocale ou centre d'appel en dehors des dimensions déjà obtenues par Asterisk ou Bayonne, et pour l'instant est essentiellement en compétition avec OpenSER pour les fonctionnalités de gestion des appels. Le coeur de routage SIP est OpenSER, un composant logiciel libre (sous licence GPL) programmable pour le routage à haut débit de sessions SIP. Couplé avec la solution MediaProxy pour la prise en compte des terminaux situés derrière NAT, OpenSER sait gérer les aspects essentiels d'un appel SIP, y compris le renvoi d'appel en cas de non-réponse, etc. La configuration OpenSER actuelle de CarrierClass.net peut gérer au delà de 100 tentatives d'appel par seconde, ce qui en fait une solution intéressante pour des volumes jusqu'à 180000 appels simultanés. A terme, la solution comprendra OpenSER (en mode multi-domaines) avec Asterisk ou FreeSwitch comme serveur de fonctions avancées: messagerie vocale distribuée, routage d'appels, etc. Design SIP Passerelle Voix sur IP (VoIP) Proxy Logiciel ... Aller au delà du logiciel Une solution de Téléphonie sur IP comporte beaucoup plus que des logiciels intégrés par une plate-forme de gestion. Les autres composants du système – téléphones, passerelles Voix sur IP (VoIP), (re-)facturation, etc. – doivent aussi être pris en compte et testés ensemble. Enfin, le déploiement d'un système de ToIP comporte de nombreuses étapes et de nombreux domaines d'activités qui doivent tous être coordonnés pour assurer le succès du projet. DHCP Le but du projet CarrierClass.net est de fournir des éléments de réponse en vue de faciliter le déploiement de projets de Téléphonie sur IP construits essentiellement autour de Logiciels Libres. Les éléments pris en compte par le projet comportent la réalisation d'une plateforme de gestion (configuration et support des éléments) basée sur la conception d'un système de ToIP à grande-échelle; dans la mesure du possible, la documentation de résultats d'interopérabilité avec les produits disponibles sur le marché; et la documentation des étapes d'un projet de Téléphonie sur IP. Ce poster décrit pour l'essentiel l'architecture SIP et l'architecture logicielle du projet. Plus d'information est disponible sur le site du projet à http://carrierclass.net/ . Architecture Logicielle Messagerie Gestion d'appels DNS TFTP/FTP Au cours du développement du projet nous avons déjà démontré comment construire une messagerie vocale de taille potentiellement illimitée avec Asterisk en fournissant d'une part un module de réplication de messages entre plusieurs serveurs Asterisk (notre implémentation est basée sur l'algorithme utilisé par le logiciel de réplication «Unison»), d'autre part en groupant les messageries vocales par serveur de façon à fournir un routage hiérarchisé. Cluster Messagerie nº 1 «Accède ma messagerie vocale» Copie des messages, invites, mots de passe Environnement multi-applications Bien que les applications «Voix» soient la première cible du projet, les composants de base du système de gestion ne font aucune référence spécifiques à ce thème, et peuvent donc servir de base à la construction d'applications autour d'autres thèmes. Plus spécifiquement, le module « CCN » de base fournit des outils de passage de messages entre applications (locales ou distantes) à travers l'ensemble des serveurs gérés par une application. Il permet aussi de distribuer les tâches de configuration entre les serveurs et de pouvoir mettre en séquence des tâches distribuées. Le module CCNCore fournit la plupart des services administratifs de base; il gère la reconnaissance de la configuration initiale des serveurs, installe des configurations pour les services essentiels (y compris le serveur web Apache2 et le système de communication eJabberd, et les services réseaux DNS, DHCP, NTP, SSH). Le module CCNCore fournit aussi des fonctions de gestion avancées: Gestion des droits d'accès et de modification Système de contrôle des modifications avec revue des changements Possibilité d'annuler un changement ou une série de changements (y compris création et suppression d'entités) Distribution parallèle de contenus, et agrégation parallèle de contenus. . . . Cluster Messagerie nº N Copie des messages, invites, mots de passe Sélection du cluster de messagerie vocale Vue d'ensemble de l'architecture logicielle Gestion et configuration distribuées et massivement parallèles Gestion Système Gestion Applicative Installeur / bootstrap Configuration: système, bases de données, Apache2, Backup, DNS, DHCP, NTP, SSH, Jabber, Ji Distribution de contenus / Agrégation de contenus Droits d'accès «Annuler» / Contrôle des modifications Interface web L'architecture logicielle et l'architecture SIP se combinent pour former la partie logicielle du projet. Mise en page Design SIP Interface Web Logiciel CCN Application 2 ... Bases de données CCN Application DHCP CCNCore IPC / Passage de messages (intra- & inter-système) «Flow and resume» (gestion des processus distribués) DNS Jabber/RPC Ji SQLite … TFTP/FTP CCN Site 1 Site 2 … Site 3141 Le but ultime est de fournir une solution intégrée – logiciel libres, documentation, procédures – qui permettra de concevoir, déployer, et maintenir un système de téléphonie à large échelle de façon contrôlée et reproductible. Protocoles ouverts Tous les services fournis par les composants de CarrierClass.net utilisent des protocoles ouverts et bien documentés, tels que Jabber/XMPP (et l'extension Jabber/XMLRPC), services web et intégration serveur-à-serveur REST/JSON, etc. Logiciel Libre Tous les composants utilisés sont disponibles en logiciel libre, la plupart sous la licence GPL. Les composants et applications définies par CarrierClass.net sont eux aussi disponible sous la licence GPL. A propos de…. Stéphane Alnet a commencé sa carrière en 1994 sous les auspices de Marc Bertin Boussu à l'Université de Picardie, et a travaillé pendant quatre ans avec Marc au déploiement du premier réseau indépendant dans le cadre de Renater. En 1998 il émigre aux Etats-Unis pour fonder sa famille, et à la fin de l'année 2000 il entre chez Cisco Systems, où pendant plus de six ans il va travailler exclusivement sur la conception et le support de systèmes de voix sur IP et téléphonie sur IP pour les grands comptes. Pendant l'été 2006 il quitte Cisco et se lance dans la conception du premier système de télécommunications sur IP à grande échelle entièrement logiciel libre et publiquement documenté, CarrierClass.net.