Le projet¶
Aquilenet souhaite mettre en place un sytème de VOIP basée sur SIP, permettant d'avoir des comptes gratuits et payants pour ceux qui utiliseraient les trunks.
Mise en place du projet¶
Les intéractions réseau de la voip SIP¶
Le protocole SIP¶
Dans cette section, sont abordées les étapes de négociation entre un client SIP (UAC) et un serveur SIP (UAS).
Se trouvent, dans cette section, notamment, les négociations d'enregistrement de l'UAC auprès de UAS ainsi que les demandes d'appels à l'initiative de l'UAC.
Le protocole RTP¶
Le paquets RTP sont employés pour transporter les données multimédia (la voix ici). On fera un bref descriptif de ce protocole.
[La traversée du NAT]¶
La plupart des clients se trouvent derrière une box et donc derrière un NAT. Le NAT pose un problème bien connu pour le transport des données. Il existe des solutions à toutes les situations (hormis les firewall entreprise tatillons) qui seront abordées dans cette partie.
La cryptographie¶
Elle est appliquée pour lors de la négociation de la session (SIP) et dans les communications multimédia (RTP,...).
Le chiffrement TLSv1¶
Le chiffrement TLS est employé pour les échanges SIP entre l'UAC et l'UAS. Il permet d'identifier l'UAS et de communiquer les informations sensibles, comme les données d'authentification, dans un tunnel TLS.
Les chiffrements SRTP¶
SRTP désigne plusieurs algorithmes de chiffrements pour les données multimédia. Cela permet une confidentialité par rapport à une personne qui serait sur le trajet des données. Des chiffrements sont possibles sur UDP, TCP et SCTP.
Système actuel¶
Asterisk¶
Asterisk est un serveur SIP. Parmi les services qu'il offre, les appels, les salles de conférence, les messagerie avec transfert par courriel, et j'en passe.
Kamailio¶
Kamailio peut être employé comme serveur ou router (proxy). Il implémente moins de service qu'Asterisk, mais ses capacités de gestion réseau sont très avancées avec la possibilité de décider soi-même du comportement qu'il doit adopter pour chaque paquet SIP entrant. Par ailleurs, il est le seul router capable de commander le proxy RTP RtpEngine.
Rtpengine¶
Rtpengine est une solution aux problèmes de NAT. Dans les configurations réseau empêchant le peer-to-peer (cf STUN), il peut être placé en proxy RTP.
Exemples de backend¶
LDAP: backend des utilisateurs¶
De nombreuses possibilités existent pour enregistrer les utilisateurs et leurs profils SIP. Asterisk propose un schéma LDAP contenant toutes les informations nécessaires (pour nous, pour l'instant). Nous nous appuyons donc sur cette solution pour les entrées dans le plan d'appels, le stockages des renseignements relatifs aux services Asterisk, ...
PSQL: backend des connexions SIP¶
Le routeur SIP traite les connexions réseau des clients dans une mémoire qu'il alloue spécifiquement. Cependant, pour pallier à des problèmes temporaires, il enregistre temporairement les UAC enregistrés, leur localisation dans une backend. Postgres est la base choisie, d'autres comme Redis sont aussi disponibles. Note: Kamailio peut faire de l'accounting avec une backend PSQL.
Installation et configuration de base d'Astersik 11.10.2¶
Fiche technique d'installation à venir
Cette fiche regroupera les différentes et fichiers utilisés pour la configuration d'asterisk.
Passer des appels avec des clients gratuits¶
Prérequis: comptes sip créés sur Asterisk (voir fiche technique)
Matériel requis¶
Nous avons effectué nos tests avec les logiciels suivants (liste appelée à s'élargir au fil du temps et des suggestions):
*CSipSimple v 1.02.00
*Sflphone v 1.1
Configurations¶
[Android] CSipSimple¶
CSipSimple est une application android mettant à disposition de nombreuses fonctionnalités techniques du protocole SIP tout en étant simple d'utilisation.
Lien vers le tutoriel
[GNU/Linux] SFLphone¶
SFLphone est disponible sur les plateformes Debian, Android.Il permet le chiffrement SRTP des communications. La version du dépot Savoir-Faire-Linux implémente la vidéo.
Note: Client sujet au MITM
La téléconférence¶
Les membres d'Aquilenet peuvent bénéficier d'une téléconférence SIP pour leur réunions.
La téléconférence mutualisée FFDN¶
Des salons de conférences peuvent être crées pour les membres de la FFDN
Le compte sip gratuit¶
Un compte sip peux être gratuitement créé via une interface sur le site d'Aquilenet. La gestion des utilisateurs se fait via une interface web.
Le trunk sip¶
Les abonnées à ce service sont facturés en fonction de leur consommation.
- Présence d'interfaces de facturation
- Les interfaces de facturation doivent pouvoir intégrer les mutualisation FFDN
Updated by thomas.boissier over 10 years ago · 105 revisions