Jami, anciennement appelé SFLphone puis Ring[2],[3], est un logiciel libre qui permet aux utilisateurs de passer des appels téléphoniques ou vidéo via Internet ainsi que des partages d'écran[3]. Il existe des fonctionnalités additionnelles comme la messagerie instantanée, le transfert de fichiers et la visioconférence[3]. Il est disponible sur les environnements de bureau (Windows, macOS, Linux) ainsi que sur smartphone (Android, iOS)[2].
En 2005, Cyrille Béraud lance le projet de développement d'un téléphone numérique pour les entreprises, entièrement conçu à partir de technologies ouvertes (open source). SFLPhone est un « Téléphone Logiciel » professionnel pouvant gérer, de manière quotidienne, un nombre illimité de lignes et d'appels. Conforme aux standards de télécommunication (SIP, IAX), il s'interconnecte avec le logiciel Asterisk, autocommutateur téléphonique privé, distribué sous licence libre GPLv2 ou sous licence commerciale pour systèmes GNU/Linux.
SFLphone est l’un des rares logiciels de téléphonie sous Linux à prendre en charge PulseAudio dès le début. Ubuntu le recommande alors pour une utilisation en entreprise en raison de fonctionnalités telles que la téléconférence et le transfert d'appel assisté.
En , le magazine CIO a classé SFLphone parmi les cinq meilleurs logiciels de téléphonie VoIP open source[4]. Au-delà de SFLphone, Ring a conservé la compatibilité et le support SIP, tout en ajoutant une nouvelle plateforme de communication ne nécessitant pas de serveur centralisé pour établir la communication.
En , SFLphone devient Ring[5] et intègre la technologie OpenDHT qui permet une architecture distribuée.
En , il est intégré au projet GNU. Ring est un logiciel gratuit et open source publié sous la licence GNU General Public License Version 3+.
En , Ring devient Jami afin de ne pas créer de confusion avec des produits commerciaux utilisant également le terme anglais ring[6].
Jami est un logiciel de téléphonie et de messagerie instantanée compatible avec SIP pour Linux, Microsoft Windows, OS X, iOS et Android. Développé et mis à jour par Savoir-faire Linux[7], ainsi qu'avec l’aide d’une communauté mondiale d’utilisateurs et de contributeurs, Jami se positionne comme un logiciel concurrent de l'application Skype[8],[9],[2].
Deux types de comptes sont actuellement disponibles : SIP et Ring. Les deux types de comptes offrent des fonctionnalités similaires, notamment la messagerie, la vidéo ainsi que l'audio. Un compte SIP permet au softphone Jami de se connecter à un serveur SIP standard, alors qu'un compte Ring peut enregistrer ou utiliser un compte configuré sur le réseau Jami décentralisé, ce qui ne nécessite aucun serveur central.
Jami créé son propre réseau sur lequel il peut répartir les fonctions de répertoire, l'authentification et le chiffrement sur tous les systèmes qui y sont connectés. Les paquets sont disponibles pour toutes les distributions principales Linux, y compris Debian, Fedora et Ubuntu. Des versions distinctes pour GNOME et de KDE sont également disponibles.
Jami est basé sur un modèle MVC, avec un daemon (le modèle) et un client (la vue) en communication. Le daemon (processus informatique en arrière-plan) gère tout le traitement, y compris la couche de communication (SIP / IAX), la capture et la lecture audio. Le client est une interface graphique destinée à l'utilisateur. D-Bus peut servir de contrôleur permettant la communication entre le client et le daemon.
Jami est entièrement distribué et repose sur deux réseaux distribués distincts[11] :