Jami (formals GNU Ring, SFLphone) ist ein SIP-kompatibles, verteiltes peer-to-peerSoftphone und SIP-basierender Instant Messenger für Linux, Microsoft Windows, macOS, iOS, und Android.
Jami wurde durch die kanadische Firma Savoir-faire Linux entwickelt und betrieben[8] und mit Hilfe der globalen Gemeinschaft von Anwendern und Entwicklern versucht Jami sich als potentielle freie Alternative zu Skype zu positionieren.[9]
Zwei Konten-Arten stehen zur Verfügung und können unabhängig konfiguriert werden. Beide Arten bieten ähnliche Funktionen, wie Messaging, Video- und Audio-Anrufe. Die Konto-Arten sind SIP und Ring. Ein SIP account ermöglicht dem Jami softphone sich mit standard SIP Servern zu verbinden und mittels eines Ring-Kontos kann dem dezentralen Jami Netzwerk beigetreten werden, welches keinen zentralen Server erfordert. Standardmäßig nutzt Jami für die Erstverbindung einen OpenDHT Knoten, welcher durch Savoir-faire Linux betrieben wird. Dieser kann in den erweiterten Einstellungen durch den Anwender mit einem eigenen Server angepasst werden.[10]
Durch Nutzung der distributed hash table Technologie (die zum Beispiel auch im BitTorrent Netzwerk genutzt wird), erstellt Jami ein eigenes Netzwerk, über das verteilte Funktionen eines Verzeichnisdienstes, die Authentifizierung und die Verschlüsselung für alle angebundenen Teilnehmer realisiert werden.
Software-Pakete sind für alle größeren Linux-Distributionen verfügbar, darunter Debian, Fedora, und Ubuntu.[11] Die Dokumentation steht über Ring's Tuleap Wiki zur Verfügung.[12]
Jami wurde ursprünglich unter dem Namen SFLphone entwickelt und war eines der wenigen Softphones für Linux mit Unterstützung von PulseAudio. Die Ubuntu Dokumentation empfahl es für den Unternehmenseinsatz, gerade wegen Funktionen wie Konferenzräume oder Übergabe eines Telefonats.[13] im Jahr 2009, führte das CIO magazine es als eines der Top 5 VoIP Softphone-Anwendungen.[14] SFLphone wurde 2016 in Ring und später 2018 in Jami umbenannt.[15]
Design
Jami basiert auf einer Architektur nach dem MVC Muster, weshalb dem ein Dienst (Modell) und die Client-Anwendung (View) kommunizieren. Der Dienst übernimmt hierbei die Verarbeitung bis hin zum communication layer (SIP/IAX), die Audio-Aufnahme und Wiedergabe etc. Der Client bietet dazu das grafische Nutzer-Interface. D-Bus dient dabei als Controller und ermöglicht den Austausch zwischen Client und Dienst.
↑Protocol. Ehemals im Original (nicht mehr online verfügbar); abgerufen im 1. Januar 1 (englisch): „Once an encrypted and authenticated peer-to-peer communication channel is available, the SIP protocol must be used to place a call and send messages.“