# Jami (Software)

Jami (vormals GNU Ring, SFLphone) ist ein SIP-kompatibles, verteiltes peer-to-peer Softphone 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 und mit Hilfe der globalen Gemeinschaft von Anwendern und Entwicklern versucht Jami sich als potentielle freie Alternative zu Skype zu positionieren.
Jami ist eine freie und quelloffene Software herausgegeben unter der GNU GPL-3.0-or-later. Seit November 2016, ist es Teil des GNU-Projekts.
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.
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. Die Dokumentation steht über Ring's Tuleap Wiki zur Verfügung.

## Geschichte

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. im Jahr 2009, führte das CIO magazine es als eines der Top 5 VoIP Softphone-Anwendungen. SFLphone wurde 2016 in Ring und später 2018 in Jami umbenannt.

## 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.

## Funktionen

* SIP-kompatibel mit OpenDHT Unterstützung
* Unbegrenzte Anzahl von Gesprächen
* Instant messaging
* Durchsuchbare Anruf Historie
* Anruf Aufzeichnung
* Ruf-Weiterleitung
* Automatische Ruf-Annahme
* Anruf-halten
* Audio- und Video-Anrufe mit multi-party Audio und Video Konferenzen
* Mehrkanal-Audio (experimentell)
* Streaming von Video und Audio-Dateien während eines Anrufs
* TLS und SRTP Verschlüsselung
* Unterstützung Mehrere Audio Codecs: G711u, G711a, GSM, Speex (8, 16, 32 kHz), OPUS, G.722 (Rauschunterdrückung unterstützt mittels Speex)
* Mehrere SIP Konten, jeweils individuelle STUN und SIP presence Einstellungen
* DTMF
* Automatic Gain Control
* Konto-Assistenten
* Tastaturkürzel
* Flac und Vorbis Klingeltöne
* Desktop Benachrichtigungen: Anrufnummer, Rufsignalisierung, Meldungen
* SIP Re-invite
* Telefonbuch-Integration in GNOME und KDE
* PulseAudio
* Jack Audio Connection Kit
* Lokalisierung in: Französisch, Englisch, Russisch, Deutsch, Chinesisch, Spanisch, Italienisch, Vietnamesisch
* Verknüpfung mit Tel URL
* Ende-zu-Ende-Verschlüsselung für Chat, Video- und Sprachanrufe
* Dezentralisiert