GNU Free Call, une pièce de plus au puzzle FreedomBox

GNU Free Call est un nouveau projet qui vient d’être lancé et qui fait partie d’un projet plus global dénommé GNU Telephony. Il a pour objectif de réaliser un logiciel sécurisé et décentralisé de communications. Les composants de cette solution sont le logiciel GNU SIP Witch ainsi que le protocole SIP.

SIP c’est quoi ?

Selon WikipédiaSession Initiation Protocol (dont l’abréviation est SIP) est un protocole normalisé et standardisé par l’IETF qui a été conçu pour établir, modifier et terminer des sessions multimédia. Il se charge de l’authentification et de la localisation des multiples participants. Il se charge également de la négociation sur les types de média utilisables par les différents participants en encapsulant des messages SDP (Session Description Protocol). SIP ne transporte pas les données échangées durant la session comme la voix ou la vidéo. SIP étant indépendant de la transmission des données, tout type de données et de protocoles peut être utilisé pour cet échange. Cependant le protocole RTP (Real-time Transport Protocol) assure le plus souvent les sessions audio et vidéo. SIP remplace progressivement H.323.

Ca ressemble à Skype, mais…

Un système qui n’est pas sans rappeler le fonctionnement du logiciel Skype largement répandu. Ce dernier emploi également la technique du P2P (pair à pair) pour établir les communications entre deux personnes. Par contre, le chiffrement des données est réalisé à l’aide d’un algorithme gardé secret.  De plus, il faut s’authentifier auprès aux serveurs de la société éditrice du logiciel pour pouvoir l’utiliser. Une culture du secretqui rend l’utilisation de ce logiciel quelque peu problématique malgré son indéniable côté pratique. Je dois hélas avouer en être un utilisateur.

Le coeur de GNU Free Call sera basé sur GNU SIP Switch. Il fait office de routeur pour le protocole SIP. Cela signifie qu’il permet à deux “terminaisons” (ou utilisateurs) de se trouver et de se connecter directement l’un à l’autre. On pourrait dire qu’il joue le rôle d’entremetteur dans l’établissement d’une conversation.

Ce mode de fonctionnement le rend très peu gourmand en ressources machine et permet son utilisation sur toutes sortes de terminaux comme les plugcomputer, les ordinateurs domestiques ou encore les smartphones. SIP Switch sera amélioré pour supporter des fonctions de cache et disposer d’une interface utilisateur permettant de le piloter.

La sécurisation des échanges de données et leur chiffrement utiliseront le travail déjà réalisé autour de GNU Privacy Guard (GPG) et sera exploité dans le cadre d’une extension du protocole SIP.

Mieux qu’un Softphone

Les Softphones ou logiciels de téléphonie par voix IP existent depuis déjà pas mal de temps. Ils utilisenttoutes sortes de protocoles plus ou moins ouverts. Ils nécessitent aussi de se connecter auprès d’un serveur gérant les comptes utilisateurs et se chargeant de mettre en relation les utilisateurs.

Il existe des logiciels serveur entièrement libres dont le plus connu est le logiciel Asterisk. Côté SoftPhone libreon peut cité KPhoneEkiga, ou encore QuteCom (anciennement WengoPhone). Il en existe sûrement d’autres, je vous laisse si vous le souhaitez compléter en commentaires.

GNU Free Call veut donc aller plus loin qu’un Softphone classique, car il ne nécessite pas de serveur pour l’établissement des communications. Il est probable qu’il faudra des annuaires pour trouver le “numéro d’appel” de quelqu’un.

Cependant, mon expérience des logiciels décentralisés comme StatusNet me laisse à penser que ce n’est guère un obstacle. On s’échangera son adresse GNU FreeCall comme on s’échange l’adresse de son URL StatusNet afin de se “connecter”.

Un projet qui prend toute son importance si on le place dans le contexte du lancement du projet de la FreedomBox. Nul doute qu’il en est même une des pièces centrales.

[Article initialement publié  sur PhilippeScoffoni.net sous licence Creative Commons (CC BY-SA)]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *