Journal Démonstration d'une plateforme de voix sur IP avec Cloonix

14
19
mai
2018

Cloonix est un outil de virtualisation scriptable qui permet la maîtrise, la sauvegarde et la diffusion de plates-formes fonctionnelles en architecture réseau virtuel. La création des machines virtuelles, le maillage de la topologie réseau, le plan d'adressage, le routage, la configuration des logiciels dans les vm, tout cela est maquetté par des scripts de démonstration plateforme (démo) basés sur cloonix. Ces démos sont diffusables et rejouables des années plus tard.

Ce journal vise à prouver le côté diffusable et rejouable d'une démo en vous la proposant. La dépêche sera donc focalisée sur la démo voix sur IP (SIP) et non pas sur cloonix qui doit rester en retrait car lorsqu'un outil passe au premier plan, c'est qu'il est mauvais. Ceux à qui l'on impose des outils « corporate » comprendront.

Donc la démo SIP commence par une architecture réseau IP utilisant les logiciels libres les plus classiques pour sa gestion: bird ou quagga pour avoir un routage dynamique OSPF et Bind pour avoir la résolution dynamique de nom DNS.
Le routage OSPF permet de connaître à partir de n'importe quel nœud du réseau, le chemin pour joindre l'adresse IP d'un autre nœud quelconque du réseau pour ceci bird (ou quagga) échange des messages concernant la topologie du réseau.
Le DNS permet de s'adresser à une machine par un nom au lieu d'un numéro. Le nom est transformé en adresse IP par une requête au serveur de nom implémenté par Bind.

Lorsque cette architecture réseau de base est bien configurée, alors nous devons pouvoir le vérifier grâce à ping. D'une machine quelconque, on peut joindre toutes les autres par leur nom.

SIP est un protocole de voix sur IP, c'est-à-dire que son but premier est de joindre des abonnés entre eux par téléphone. Pour faire cela il est logique de commencer par avoir une base d'abonnés dans un « annuaire », c'est là que le logiciel libre OpenLDAP apparait.

LDAP est un protocole de gestion par réseau d'annuaire, à ce protocole est associé OpenLDAP qui en est l'une des implémentations. C'est une base de données dans laquelle un administrateur met des informations concernant les abonnés, ces informations sont disponibles par l'intermédiaire du protocole LDAP aux applicatifs qui les demandent.

Pour notre cas, LDAP sera utilisé par FreeSWITCH et Kamailio, deux grands noms dans le monde de la voix sur IP. Ce sont des serveurs de communication, ils peuvent être nommés autocommutateurs, (ou PABX).
Si on revient en arrière, la commutation était faite manuellement par une opératrice (plus souvent des femmes que des hommes à l'époque matcho) dont le travail consistait à brancher un câble pour transférer l'appel. La fonction principale de FreeSWITCH comme Kamailio est similaire.

Dans notre démo, deux fonctions ont été testées, les plus importantes : la vérification d'identité du client qui se connecte à freeswitch ou à kamailio grâce à un REGISTER du protocole SIP, et l'acheminement de l'appel simple qui commence par un INVITE. Je mets les mots en majuscule parce que je ne les ai jamais vus en minuscule.
Sur un REGISTER en provenance d'un client (un téléphone), freeswitch ou kamailio fait une requête LDAP pour obtenir les identifiants en annuaire et les compare à ceux du REGISTER. Sur un INVITE, freeswitch ou kamailio fait une requête LDAP pour obtenir la localisation de l'abonné demandé et transmet le message INVITE à la bonne destination.

Le dernier élément, le client représentant un téléphone, j'ai choisi un logiciel téléphonique assez connu nommé Linphone car codé pour Linux au départ.

Le bureau SPICE, logiciel libre associé à qemu-kvm, permet d'avoir le bureau de la machine virtuelle avec micro et son. On a donc en lançant Linphone dans SPICE, le micro et le son mais comme le son est bidirectionnel et qu'il y a 1 seul micro pour les 2 abonnés en communication, il y a production d'un effet Larsen.

La machine nécessaire pour la démo doit avoir plus de 11Go de RAM, le téléchargement des VM est long mais la construction automatique des VM l'est encore plus. Malgré cela j'espère que la démo servira.

En conclusion, Cloonix voudrait être un écrin de présentation des logiciels libres en fonctionnement.

Liens:

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.