
Heute wurde die dezentrale Kommunikationsplattform Jami unter dem Codenamen Together veröffentlicht. Das Projekt entwickelte sich zuvor unter dem Namen Ring und davor als SFLPhone. Im Jahr 2018 erhielt der dezentrale Messenger seinen neuen Namen, um mögliche Konflikte mit Markenrechten zu vermeiden.
Der Code des Messengers wird unter der GPLv3-Lizenz veröffentlicht. Jami ist fĂŒr GNU/Linux, Windows, MacOS, iOS, Android und Android TV erhĂ€ltlich. Nach Wahl kann einer der BenutzeroberflĂ€chen auf Basis von Qt, GTK oder Electron ausgewĂ€hlt werden. Doch das Wichtigste hier sind nicht die OberflĂ€chen, sondern dass Jami die Kommunikation ohne die Notwendigkeit dedizierter externer Server ermöglicht.
Stattdessen wird eine direkte Verbindung zwischen den Benutzern mit End-zu-End-VerschlĂŒsselung hergestellt. Die SchlĂŒssel befinden sich dabei nur auf der Clientseite. Der Authentifizierungsprozess basiert auf X.509-Zertifikaten. Neben Nachrichten ermöglicht die Plattform Audio- und Videoanrufe, die DurchfĂŒhrung von Telefonkonferenzen, den Austausch von Dateien sowie die gemeinsame Bearbeitung von Dateien und Bildschirminhalten.
UrsprĂŒnglich wurde dieses Projekt als Software-SIP-Telefon positioniert und entwickelt. Dann entschieden sich die Entwickler jedoch, die Funktionsweise des Projekts zu erweitern, wĂ€hrend sie die KompatibilitĂ€t mit SIP beibehielten und die Möglichkeit, Anrufe ĂŒber dieses Protokoll zu tĂ€tigen, gewĂ€hrleisteten. Das Programm unterstĂŒtzt verschiedene Codecs, darunter G711u, G711a, GSM, Speex, Opus, G.722 sowie die Protokolle ICE, SIP, TLS.
Zu den Kommunikationsfunktionen gehören die Abholung der Anrufweiterleitung, das Halten von Anrufen, die Aufnahme von Anrufen, eine Anrufhistorie mit Suchfunktion, automatische LautstĂ€rkeanpassung sowie die Integration mit den AdressbĂŒchern von GNOME und KDE.
Vorher wurde kurz auf ein zuverlĂ€ssiges Benutzerauthentifizierungssystem hingewiesen. Der Mechanismus basiert auf der Blockchain â das Adressbuch funktioniert auf der Grundlage von Ethereum. Dabei kann man sich gleichzeitig von mehreren GerĂ€ten aus verbinden und mit dem Benutzer kommunizieren, unabhĂ€ngig davon, welches der GerĂ€te aktiv ist. Das Adressbuch, das fĂŒr die Ăbertragung von Namen in RingID verantwortlich ist, wird mithilfe von Knoten, die von verschiedenen Teilnehmern unterstĂŒtzt werden, realisiert. Damit kann man einen eigenen Knoten starten, um eine lokale Kopie des globalen Adressbuchs zu pflegen.
FĂŒr die Adressierung der Benutzer haben die Entwickler das OpenDHT-Protokoll verwendet, das keine zentralisierten Verzeichnisse mit Benutzerinformationen benötigt. Das HerzstĂŒck von Jami ist der jami-daemon, der fĂŒr die Verarbeitung von Verbindungen, die Organisation der Kommunikation sowie die Arbeit mit Video und Audio verantwortlich ist.
Die Interaktion mit dem jami-daemon erfolgt ĂŒber die LibRingClient-Bibliothek. Diese bildet die Grundlage fĂŒr die Entwicklung der Client-Software und bietet die notwendige FunktionalitĂ€t, die nicht an BenutzeroberflĂ€chen oder Plattformen gebunden ist. Auf LibRingClient werden dann die Client-Anwendungen entwickelt.
Bei der Umgestaltung des P2P-Messengers zu einer Telekommunikationsplattform haben die Entwickler neue Funktionen hinzugefĂŒgt und bestehende aktualisiert. Hier sind sie:
- Die Leistung in Netzwerken mit geringer Bandbreite wurde verbessert.
- Der Ressourcenverbrauch bei der Nutzung unter Android und iOS wurde reduziert.
- Der Client fĂŒr Windows wurde neu geschrieben. Er kann auch im Tablet-Modus betrieben werden.
- Es wurden Werkzeuge fĂŒr die DurchfĂŒhrung von Videokonferenzen mit mehreren Teilnehmern hinzugefĂŒgt.
- Die Möglichkeit, den Ăbertragungsmodus in der Konferenz zu Ă€ndern, wurde hinzugefĂŒgt.
- Die Anwendung lĂ€sst sich mit nur einem Klick in einen Server umwandeln (zum Beispiel fĂŒr die DurchfĂŒhrung von Konferenzen).
- Ein Kontoverwaltungsserver JAMS wurde implementiert.
- ZusÀtzlich können Plugins angeschlossen werden, die die Funktionen des Basis-Messengers erweitern.
Quelle: habr.com
