A new version of the decentralized communication platform Jami, codenamed "Taranis," has been released. The project aims to create a communication system working in P2P mode, enabling both large group conversations and individual calls with a high level of privacy and security. Jami, formerly known as Ring and SFLphone, is part of the GNU projects and is distributed under the GPLv3 license. Binary packages are prepared for GNU/Linux (Debian, Ubuntu, Fedora, SUSE, RHEL, etc.), Windows, macOS, iOS, Android, and Android TV.
Unlike traditional communication clients, Jami can send messages without relying on external servers by establishing a direct connection between users with end-to-end encryption (keys are only present on the client side) and X.509 certificate-based authentication. In addition to secure messaging, the program allows for voice and video calls, creating teleconferences, exchanging files, and organizing shared access to files and screen content. server a system with an Intel Core i7-7700K 4.20 GHz CPU, 32 GB RAM, and a 100 Mbit/s network connection, the best quality is achieved with no more than 25 participants. Each participant in a video conference requires a bandwidth of approximately 2 Mbit/s.
Initially, the project developed as a software phone based on the SIP protocol, but it has long since evolved into a P2P model while retaining compatibility with SIP and the ability to make calls using this protocol. The application supports various codecs (G711u, G711a, GSM, Speex, Opus, G.722) and protocols (ICE, SIP, TLS), ensuring reliable encryption for video, voice, and messages. Among its features are call forwarding, call holding, call recording, call history with search functionality, automatic volume control, and integration with GNOME and KDE address books.
Jami employs a decentralized global authentication mechanism for user identification, based on the implementation of a contact list in the form of a blockchain (utilizing developments from the Ethereum project). One user identifier (RingID) can be used simultaneously on multiple devices, allowing users to connect regardless of which device is active, without the need to maintain different identifiers on a smartphone and PC. The address book responsible for translating names into RingID is stored on a group of nodes supported by various participants, and it is also possible to run your own node to maintain a local copy of the global address book (Jami also implements a separate internal address book maintained by the client).
Jami addresses users using the OpenDHT protocol (distributed hash table), which does not require centralized registries with user information. The core of Jami is the background process jami-daemon, which handles connections, communication organization, and works with video and audio. Interaction with jami-daemon is organized via the LibRingClient library, which serves as the foundation for building client software and provides all standard functionalities not tied to user interfaces and platforms. Client applications are built on top of LibRingClient, making it relatively easy to create and maintain various interfaces.
Key innovations:
- A preliminary implementation of a new group communication system called "Swarms" has been proposed. The system allows for the creation of fully decentralized P2P chats, where the communication history is collectively stored on all user devices in a synchronized manner. The first implementation is limited to communication between two participants, with the option for users to connect from different devices linked to one account (the chat history is synchronized across all devices). The next version will add support for working with group chats in swarm mode.

- Conference support has been enhanced. A "meeting place" mode has been added, allowing all incoming calls to be combined into a conference (connection can be restricted to users present in the address book), eliminating the need to manually add each participant. Settings have been added to define the default moderator. Conference moderators are now able to mute and unmute participants' microphones, as well as remove them (kick).

A "raise hand" feature has been added, allowing participants to express their desire to speak.

The ability to share screen content has been expanded, enabling the display of specific window contents to other participants, rather than the entire screen or a selected area.

- A new call interface has been implemented in the Android app. The iOS version has improved connectivity when the device is in sleep or power-saving modes.

- Support for Windows 11 has been added.
Source: opennet.ru





