La première version de la plate-forme de communication décentralisée Jami est arrivée aujourd'hui et est distribuée sous le nom de code Together. Auparavant, le projet se développait sous un autre nom - Ring, et avant cela - SFLPhone. En 2018, le messager décentralisé a été renommé afin d'éviter d'éventuels conflits avec les marques.
Le code messager est distribué sous la licence GPLv3. Jami est publié pour GNU / Linux, Windows, MacOS, iOS, Android et Android TV. En option, vous pouvez choisir l'une des options d'interface basées sur Qt, GTK et Electron. Mais l'essentiel ici, bien sûr, ce ne sont pas les interfaces, mais le fait que Jami permet d' échanger des messages sans accéder à des serveurs externes dédiés.
Au lieu de cela, une connexion directe est établie entre les utilisateurs à l'aide d'un chiffrement de bout en bout. Dans ce cas, les clés sont présentes uniquement côté client. La procédure d'authentification est basée sur des certificats X.509. En plus de la messagerie, la plateforme permet de passer des appels audio et vidéo, de créer des téléconférences, d'échanger des fichiers et d'organiser le partage de fichiers et de contenu d'écran.
Initialement, ce projet a été positionné et développé comme un téléphone SIP logiciel. Mais ensuite, les développeurs ont décidé d'étendre les fonctionnalités du projet, tout en maintenant la compatibilité avec SIP et en laissant la possibilité de faire des appels en utilisant ce protocole. Le programme prend en charge divers codecs, notamment G711u, G711a, GSM, Speex, Opus, G.722, ainsi que les protocoles ICE, SIP, TLS.
Les fonctionnalités de communication comprennent l'annulation du renvoi d'appel, la mise en attente des appels, l'enregistrement des appels, l'historique des appels consultable, le contrôle automatique du volume, l'intégration avec les carnets d'adresses GNOME et KDE.
Ci-dessus, nous avons brièvement parlé d'un système d'authentification des utilisateurs fiable. Le mécanisme est basé sur la blockchain - le carnet d'adresses est basé sur Ethereum. Dans ce cas, vous pouvez vous connecter à partir de plusieurs appareils à la fois, en contactant l'utilisateur quel que soit l'appareil actif. Le carnet d'adresses, qui est responsable de la traduction des noms en RingID, est implémenté à l'aide de nœuds pris en charge par différents participants. Avec ceux-ci, vous pouvez démarrer votre propre nœud pour conserver une copie locale du carnet d'adresses global.
En ce qui concerne l'adressage des utilisateurs, les développeurs ont utilisé le protocole OpenDHT pour résoudre ce problème, qui ne nécessite pas l'utilisation de registres centralisés contenant des informations sur les utilisateurs. Le cœur de Jami est jami-daemon, qui est chargé de gérer les connexions, d'organiser les communications, de travailler avec la vidéo et le son.
L'interaction avec jami-daemon est basée sur la bibliothèque LibRingClient. Il constitue la base de la création du logiciel client et fournit les fonctionnalités nécessaires qui ne sont pas liées à l'interface utilisateur et aux plates-formes. Et déjà en plus de LibRingClient, des applications clientes sont développées.
Lors de la refonte du messager P2P en une plate-forme de télécommunications, les développeurs ont ajouté de nouvelles fonctions existantes et mises à jour. Les voici:
- Amélioration des performances dans les réseaux à faible bande passante.
- Android iOS.
- Windows. .
- .
- .
- ( , , ).
- JAMS.
- , .