How to bring fully distributed and secure communication capabilities to embedded products and IOT (Part 1).

Jami is a communication tool developed by Savoir-faire Linux. It is available for Windows, MacOS, standard Linux distribution like Ubuntu or Fedora and smartphones (Android and iOS). In order to give the opportunity to use Jami in embedded products and IOT, we decided to include Jami in Yocto, the Linux distribution creator. This addition is a huge step for providing secured communications between all kind of devices. This article gives a presentation of Jami as well as Yocto. Finally, it gives the reason why we added Jami in Yocto and how to use our work.

Jami: a free and secured communication tool

Jami is a free and open source audio, video and text peer-to-peer communication platform. It does not require a server, and implements distributed and secure end-to-end encrypted communications for multiple platforms. Moreover, this distributed architecture offers private life protection on the Internet.

Jami is intended for mainstream users as well as professionals. It provides users with a universal, autonomous, free and secure communication tool. Recently, Jami has implemented some new and interesting features. One of the main is the video conferencing system that allows to have a large group of participants. Then, the possibility to create rendezvous points. These are accounts that can be called at any time even if the creator is absent or in another call. And to finish, Jami’s team developed Jami Account Management Server (JAMS). JAMS allows you to create and manage your own community of Jami users.

Jami is available at https://jami.net

Yocto project, a simple way to customize your Linux distribution

The Yocto project is an open source collaboration project that helps to produce custom Linux distributions for multiple platforms. Savoir-faire Linux is a member and an active contributor to the Yocto Project Participants.

From a reference distribution named Poky, Yocto gives the freedom to take layers already created but also to make your own. The goal of these layers is to include or customize any features you want in your final distribution. Each layer contains recipes which describe what you want to install in your Linux image.

Bitbake, the building tool of Yocto, will then generate a Linux image ready to be flashed on your embedded device, according to the content of your recipes.

More information at http://yoctoproject.org

Why add Jami in Yocto?

We packaged Jami in Yocto in order to use Jami in any custom distribution and make it easier to add it in your image.

We created a layer to wrap the application and all its dependencies. The created layer provides the graphical application of Jami that includes the backend daemon (https://git.jami.net/savoirfairelinux/ring-daemon) and the multiplatform QT client (https://git.jami.net/savoirfairelinux/jami-client-qt).

To use it, download the layer, add it to your configuration and just append Jami to an image that provides a graphical environment. Then, you will be able to create an account and call any other Jami user, as if you were on your standard Linux distribution.

For the moment, Jami has just been tested on an x86-64 Yocto distribution, but adding Jami in Yocto opens the opportunity to use it on every platform supported by Yocto.

The layer is available at https://github.com/savoirfairelinux/meta-jami

Feel free to install and try it out! We look forward to receiving your feedback.

  1. Hi,
    I would like to implement Jami (SIP account) on my Zynq SoC (Debian-Arm processor) but I am not getting detailed technical information on Jami. The website is down. Can you share the information (install guide, technical/user guide) from any other resources?

    Hoping for your earliest response.

Leave a comment

Your email address will not be published. Required fields are marked *

Similar articles

Image of an arrow
Thumbnail image

We are delighted to announce our continued collaboration with the Embedded Recipes conference, scheduled for September 28th and 29th at the Biermans Lapotre Foundation in Paris. For its 5th edition this year, we will be participating as a sponsor, delivering an engaging presentation, and having our team on-site to meet and greet you in person! […]

Thumbnail image

TL;DR Audio pipelines often use asynchronous devices, which must be synchronized with resampling. Measurements show CPU load of resampling reach almost 30% of a CPU core on an i.MX8M Nano. A possible optimization is to use feedback with USB UAC2 audio gadget. alsaloop already supports it, as Pipewire since a recent version. A sound server […]

Paris, June 1st, 2023 – French-Canadian company Savoir-faire Linux, a leader in open-source technological innovation and digital transformation across Canada and Europe, is set to unveil its first-ever commercial support offering for the Seapath project. This key initiative will be launched at two pivotal events in the energy industry: the LF Energy Summit in Paris […]

PipeWire, implementation and evaluation In the last article, we prepared an audio system on which we could replace the sound server. In addition, we explained the main concepts of JACK and PulseAudio in audio recording and playback. This second part presents PipeWire, how to use it in our audio system and measures its performance. PipeWire PipeWire is […]

Audio system set-up In Linux embedded system world, ALSA (Advanced Linux Sound Architecture) is the lowest level way to provide an API for sound card device drivers. However, its limitation is to only allow one process to open a device. This is why we need sound servers, which take care of handling sound streams between applications. They are the […]