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.