FAQ

Voici une liste de questions fréquemment posées (FAQ), y compris certaines questions techniques.

Des questions posées sur le Forum y sont également ajoutées.

Principaux

C’est quoi Jami?

Voir l’introduction.

Que veut dire Jami ?

The choice of the name Jami was inspired by the Swahili word jamii, which means community as a noun and together as an adverb. It was chosen as it reflects the vision for the project:

  • un programme libre disponible à tous qui aider à bâtir des communautés.

  • qui est soutenu par la communauté, et

  • respecte la liberté et la vie privée de ses utilisateurs.

Comment faire un rapport de bugs?

Veuillez consulter le Guide de rapport de bogue.

Qu’est-ce qui rend Jami différent des autres plateformes de communication?

Jami does not work like most communication platforms because it is distributed.

«Image: Topologies de réseaux centralisés, décentralisés et distribués»

Some of the consequences may seem surprising. For instance, since accounts are stored on the user’s device, passwords are optional. However, the most significant practical differences are that the user has more freedom and privacy.

What do the 🟢 green, 🟠 orange, and 🔴 red status circles next to profile pictures mean?

On a user’s account, 🔴 (a red circle) displayed means that the device is not connected to the DHT network or is offline. A detailed error should be displayed explaining the issue. Checking the network/Internet connection or restarting the application may resolve the issue.

Pour les contacts :

  • No circle displayed means that no device is detected on the DHT network. The contact is unreachable.

  • 🟠 (an orange circle) displayed means that at least one device is announced on the DHT network, so the contact SEEMS to be reachable. The device does not have a direct connection to this peer yet. But they should be able to receive connection requests. Because the device is not directly connected to anything, the device status is unable to be determined for sure. So this can be translated to « Seems to be reachable, » but the connection may fail (due to a firewall, deadlock, or NAT). The presence generally has a TTL time of:

  • un disque vert 🟢 signifie que vous êtes connecté à un appareil de ce pair.

Pourquoi une caractéristique manque-t-elle à mon client?

Features vary by client. For the feature comparison by client, visit the All features by client page. To submit feature requests, visit the https://git.jami.net/groups/savoirfairelinux/-/issues page.

Est-ce que Jami prend en charge les accusés de réception ? Puis-je les activer ou les désactiver ?

Yes. Read receipts can be enabled or disabled in the settings on Jami for Desktop, Android, Android TV, and iOS.

Est-ce que Jami indique quand mon correspondant est en train de répondre ? Comment activer ou désactiver les indicateurs de frappe ?

Oui. Les indicateurs de frappe peuvent être activés ou désactivés dans les paramètres des clients Jami pour le bureau, Android et iOS.

Je peux partager mon écran?

Yes. Screen sharing is available on Jami for Desktop and Jami for Android. To activate screen sharing, click the « Share screen » button while in an audio or a video call.

Je peux faire des appels de groupe?

Oui. Les contacts Jami peuvent être ajoutés en cours d’appels audio ou vidéo en cliquant sur le bouton « Ajouter un participant ».

Jami supporte-t-il les discussions de groupe ?

Oui.

Pourquoi mes messages ne sont pas affichés sur tous les appareils connectés?

Avant l’implémentation de la Technologie Swarm (essaim), les appareils d’un compte recevaient les mêmes messages des contacts lorsque l’appareil était en ligne au moment de l’envoi du message. Mais les messages envoyés ne s’affichaient pas sur d’autres appareils que celui qui envoie le message.

With the implementation of Swarm Technology, conversation histories of new conversations (including one-on-one conversations) are fully synchronized between all of an account’s linked devices. Please upgrade all old versions of Jami to the latest version that includes Swarm Technology. The latest version of Jami is always available from the Download page of the Jami website, at https://jami.net/download/.

Pour en savoir plus sur Swarm, vous pouvez lire notre article de blog Synchroniser l’historique de conversation avec Swarm et voir la page du manuel de développement Jami.

Je peux envoyer des messages aux contacts hors ligne?

Avec les conversations Swarm, chaque appareil stocke toutes les copies de tous les messages de cette conversation. Si un appareil, que ce soit le vôtre ou celui d’un autre participant, n’est pas disponible/en ligne lors de l’envoi d’un message, lorsqu’il revient en ligne, il tentera de récupérer tous les nouveaux messages d’autres appareils en ligne et de synchroniser l’historique des messages. Cela peut être fait chaque fois qu’au moins un autre appareil qui détient une copie des nouveaux messages est également en ligne.

Voir aussi

Vous pouvez en savoir plus sur la synchronisation des conversations utilisant la Technologie Swarm dans notre article de blog Synchronisation de l’historique de conversation avec les Swarms.

If the participants in a conversation are often not online at the same time (for instance, due to different time zones), one of them might choose to set up Jami on an often-online device. The often-online device would receive the messages from each participant and relay them to the others whenever they come online. Thus, Jami acts like a « server » while remaining completely distributed by nature.

Voir aussi

To set up Jami on often-online devices, visit the Jami on servers page.

Où sont situés les fichiers de configuration?

Jami enregistre sa configuration (compte, certificats, historique) à différents endroits selon la plateforme.

  • GNU/Linux: global configuration is under ~/.config/jami/dring.yml, and account-specific files are under ~/.local/share/jami/. Finally, there is a cache directory at ~/.cache/jami/.

  • macOS: the full configuration is under ~/Library/Application Support/Jami/ if installed via https://jami.net. The App Store version uses ~/Library/Containers/com.savoirfairelinux.ring.macos/Data/Library/Application Support/jami/.

  • Android : la configuration complète se trouve dans ``/data/cx.ring/` (peut nécessiter des privilèges superutilisateur pour afficher ou modifier à partir de Jami).

  • Windows : la configuration globale est sous %AppData%/Local/jami/dring.yml, et les fichiers spécifiques au compte sont sous %AppData%/Local/jami/. Enfin, il y a un répertoire de cache dans %USERPROFILE%/.cache/jami/.

Note

Les messages audio et vidéo sont enregistrés dans les données locales dans le dossier sent_data

Pour les fichiers, si vous enregistrez un fichier sur votre appareil (cliquer avec le bouton droit de la souris sur le fichier, puis Enregistrer), il sera ajouté au répertoire que vous avez configuré dans les paramètres de l’application.

How much bandwidth is required for calls?

Pour les appels audio, Jami utilise environ 100 Kbps de bande passante. Pour un appel vidéo, vous avez besoin d’environ 2 Mbps pour une qualité moyenne. Si votre connexion est plus lente, le débit sera automatiquement réduit.

If a device is hosting a video conference, approximately an additional 2 Mbps per participant is required. So, for example, for a conference with 10 participants, each participant requires 2 Mbps up and down, and the host requires 20 Mbps up and down.

Jami also uses an algorithm to change the consumption depending on the quality of the link. So, the bitrate can have a minimum of 200 Kbit/s and a maximum of 6 Mbit/s.

Comment Savoir-Faire Linux (SFL) peut-il se permettre de donner Jami gratuitement ? Comment SFL gagne-t-elle de l’argent avec Jami ?

Savoir-Faire Linux Inc. (SFL) is a consulting company with some R&D projects. Jami is a GPLv3+ project, and this will not change. SFL already sells services for several fields of expertise (such as hosting, developing websites and applications, and embedded software).

Jami est financé de plusieurs manières :

Jami’s recurring expenses:

  • As a distributed system, Jami incurs very low costs by design.

  • La collecte facultative de statistiques anonymes pourrait être ajoutée à l’avenir pour mieux comprendre l’utilisation de Jami ; toutefois, aucune donnée personnelle ne sera collectée.

Gestion du compte

Qu’est-ce qu’un compte Jami ?

A Jami account is an asymmetric encryption key. The Jami account is identified by a Jami ID, which is a fingerprint of the public key.

What information is required to be provided to create a Jami account?

Lorsque vous créez un nouveau compte Jami, vous n’avez pas à fournir d’informations privées comme une adresse e-mail, une adresse ou un numéro de téléphone.

L’information suivante peut être ajoutée :

  1. Une image d’avatar pour votre profil (optionnel).

  2. Un nom d’affichage, qui est le nom que les clients Jami afficheront pour votre contact. Il peut contenir des caractères spéciaux.

  3. Un nom d’utilisateur optionnel, qui est un identifiant unique directement associé à votre identifiant Jami. L’association du nom d’utilisateur ⬌ Jami ID est conservée sur un serveur (par défaut ns.jami.net, mais vous pouvez héberger votre propre serveur).

  4. Un mot de passe (optionnel). Ce mot de passe est utilisé pour protéger l’archivage du compte dans votre appareil.

Voir aussi

Des informations complémentaires sur les comptes Jami sont disponibles dans la section Gestion des comptes du Manuel de développement.

Où est mon identifiant Jami?

The Jami ID is displayed on the main page of the Jami application. The Jami ID is a 40-character string of letters and numbers; for example, f2c815f5554bcc22689ce84d45aefdda1bce9146.

Pourquoi n’ai-je pas besoin d’utiliser un mot de passe ?

On a centralized system, a password is required to authenticate with a public server where accounts are stored. Any third party who knows a person’s password could steal the person’s identity.

Avec Jami, le compte est conservé dans un dossier sur l’appareil. Il n’y a pas de serveur public où des comptes sont stockés. Ainsi, un mot de passe de compte n’est pas requis par Jami. Un mot de passe est utilisé uniquement pour protéger votre compte de quelqu’un qui aurait physiquement accès à votre appareil.

A password may not be wanted or required if the device is encrypted. Recent versions of Jami do not ask for an account encryption password by default when creating new accounts.

Note

Changing a password will only change the password on the current device, and it’s not synced (because there is no server, and other devices can be offline anyway).

Pourquoi je n’ai pas besoin d’enregistrer un nom d’utilisateur ?

The most permanent, secure identifier is the Jami ID. However, these are difficult to use for some people; there is also the option of registering a username. Username registration requires a name server, such as the default Jami name server at ns.jami.net.

Si vous n’enregistrez pas un nom d’utilisateur, vous pouvez toujours choisir de l’enregistrer plus tard à tout moment.

Si vous hébergez votre propre serveur de noms à l’adresse example.com, les noms d’utilisateurs enregistrés là-bas peuvent être recherchés sur ce serveur en recherchant username@example.com.

Je peux changer mon nom d’utilisateur?

Le serveur de nom par défaut (ns.jami.net) ne permet pas de modifier un nom d’utilisateur.

Quelle est la différence entre un nom d’utilisateur et un nom d’affichage?

Vous pouvez utiliser votre nom d’utilisateur comme identifiant. Le nom d’utilisateur indique votre identifiant Jami qui est votre identifiant permanent et sécurisé.

A display name allows you to choose another name that identifies a Jami account to contacts. Display names can be edited or changed at any time, and only trusted peers can see them.

Comment faire pour sauvegarder mon compte ?

Il y a deux façons de sauvegarder votre compte :

  1. Link another device to the account so the account will be on two devices. This option is available on the Account settings page.

  2. Sauvegarder l’archive du compte. Plus de d’information sur les comptes Jami est disponible dans la section Gestion des comptes du Manuel de développement. Certains clients Jami permettent d’exporter l’archive depuis les Paramètres du compte.

Puis-je récupérer mon nom d’utilisateur sans mes clés?

Si vous avez utilisé le serveur de nom par défaut ns.jami.net, vous ne pouvez pas récupérer le nom d’utilisateur sans l’identifiant (la clé de chiffrement). Il n’est pas possible de prouver qu’il s’agit de votre nom d’utilisateur sans votre clé.

Si vous utilisez un serveur de noms différent, il peut y avoir un moyen de déplacer un nom d’utilisateur vers un nouvel identifiant Jami à la discrétion de l’administrateur de ce serveur de noms.

Voir aussi

Des informations complémentaires sur les serveurs de noms sont disponibles dans la section Protocole du serveur de noms du Manuel de développement.

Puis-je récupérer mon compte si j’oublie mon mot de passe?

Non. Il n’y a pas de moyen de récupérer un compte; l’utilisateur est la seule personne pouvant accéder aux données utilisateur.

Astuce

Utilisez un gestionnaire de mots de passe s’il y a risque d’oublier le mot de passe du compte Jami.

Que se passe-t-il si je supprime mon compte ?

The Jami account is only stored on devices that have the Jami account.

Le compte Jami est perdu et il est impossible de le récupérer.

  • il n’y a pas de sauvegarde du compte Jami, et

  • le compte Jami est supprimé de tous les appareils.

De plus, personne ne peut utiliser le compte Jami.

The contacts will still have the messages that were sent to them, but all public record of the account on the DHT network will eventually disappear due to absence and lack of activity.

Avertissement

The default ns.jami.net name server does not delete any registered usernames—other name servers might (not recommended), at their administrator’s discretion. So, if an account has a registered username on the default name server and the account is deleted or lost (without a backup), nobody (including the user) will be able to register a new account with that username again; thus, nobody can reach the user at that username anymore.

To avoid losing an account, please back it up!

Avancé

Quel protocole Jami utilise pour le chiffrement de bout en bout?

TLS (Transport Layer Security) protocol version 1.3 is used with a perfect forward secrecy requirement for the negotiated ciphers for calls and file transfers. Messages are encrypted with an RSA key.

What data passes through my device when I participate in the Jami network?

All this data is encrypted. There are:

  • ICE descriptors of other Jami users (the ICE protocol helps establish communication between two devices)

  • certains messages texte

  • les comptes actuellement liés à un nouveau dispositif, comme expliqué ci-dessus.

Audio/video streams and some text messages pass through the VoIP protocol. Text messages can be sent either via a VoIP channel or the DHT network, depending on whether a VoIP communication channel is already open or not.

Pourquoi suis- je capable de communiquer avec moi- même?

Many users use Jami to transfer data from one device to another. A benefit of transferring data using Jami is that no third-party server is required.

Astuce

This is one of the many unique features of Jami.

Add yourself as a contact to enable:

  • Peer-to-peer (without a third-party server) file transfers between your devices.

  • Calling your account on other devices if you forget where the device is.

  • Having one account shared in a family or organization to answer calls from shared contacts.

  • Calling yourself to talk with members in the family or organization who are at different locations.

  • Writing notes and lists to yourself that are available on all your devices.

  • Other use cases that are not listed here.

Je dois activer les notifications push?

Push notifications allow Jami to operate in a way more adapted to the context of mobility (for example, energy consumption and data usage). Notifications go through the Firebase service on Google servers, the UnifiedPush system, or the Apple Push Notification service (APNs). Only one identifier is transferred, and it is unusable for anyone who does not have access to the account.

Un serveur de démarrage c’est quoi?

A bootstrap server provides an entry point to a distributed network. To connect to a network, Jami must know one other node. This is the role of the bootstrap server. It can be any node in the network, but bootstrap nodes are generally always up and available. The default Jami bootstrap server is bootstrap.jami.net.

Qu’est-ce qu’un serveur TURN ? Qu’est-ce que STUN ?

A TURN server is a relay and is generally used when two peers are unable to contact each other due to some firewall restriction, have NAT without any open port, and have no IPv6 address.

A STUN server is only used for SIP accounts and is generally used to obtain the public IP address of the device. For Jami accounts, the DHT network already provides the public IP address of the device.

What is a DHT proxy?

The DHT proxy is a server that registers on the DHT network on behalf of the device and relays information to and from the device. Thus, it is the server that will be active on the DHT network and will participate in the network, and no longer the target device. Multiple devices can register on the same DHT proxy.

Généralement, pour transférer des données entre deux pairs, il y a 3 étapes:

  1. Exchange candidates (IP addresses) via the DHT network.

  2. Negotiate the best P2P channel between the peers.

  3. Transférez des données sur cette prise.

The DHT proxy is only used for the first step.

What if I disable the DHT proxy on Android, and what about push notifications?

There are 3 modes on how to use the Android application:

  • With push notifications (DHT proxy must be enabled). This mode supports notifications for Android (via Google/Firebase, UnifiedPush, or Apple/APN). This decreases battery usage by removing the sync required with the DHT network and without any socket always alive.

  • Avec les notifications poussées mais avec le proxy DHT activé. Cela évite que l’application ne se synchronise avec d’autre nœuds, « Exécution en tâche de fond » DOIT être activé pour éviter que le système d’exploitation ne tue l’applications.

  • Sans proxy DHT. Dans ce cas, « Exécution en tâche de fond » DOIT être activé afin d’éviter que le système d’exploitation ne tue l’application. Celle-ci se synchronisera avec les autres nœuds DHT.

J’ai encore des problèmes avec l’application Android même si l’optimisation de la batterie est désactivée

Veuillez lire https://dontkillmyapp.com (en anglais) pour plus de détails. Si cela ne résout pas votre problème, vous pouvez ouvrir un rapport de bug (idéalement avec un scénario pour nous aider à reproduire et/ou des logs).

Comment fonctionne le service d’enregistrement des noms d’utilisateur?

Avec le serveur de noms par défaut (ns.jami.net), les noms d’utilisateurs sont enregistrés sur une chaîne de blocs Ethereum. Si vous êtes un développeur, vous pouvez créer votre propre serveur de noms avec la technologie de stockage de données sous-jacente de votre choix. Par exemple, vous pouvez utiliser une base de données SQL plutôt que d’utiliser une chaîne de blocs.

Avec le serveur de noms par défaut, vous pouvez rechercher les noms d’utilisateurs avec l’adresse https://ns.jami.net/name/test, où test est le nom d’utilisateur pour lequel nous cherchons un Infohash correspondant.

Une fois enregistré, le serveur de nom ne dispose d”aucun moyen de supprimer cette association.

Des informations complémentaires sur les serveurs de noms sont disponibles dans la section Protocole du serveur de noms du Manuel de développement.

Comment changer le temps d’un appel?

Dans le fichier dring.yml (voir fr/user/faq.html#where-are-the-configuration-files-located), vous pouvez modifier le paramètre ringingTimeout qui définit la durée de la sonnerie en secondes.

Comment sauvegarder et réimporter des conversations et des comptes

Note

Ceci n’est applicable que pour les clients pour le bureau. Les clients pour le bureau fonctionnent sur les systèmes d’exploitation GNU/Linux, macOS et Windows.

  1. Export each account. (For GNU/Linux: Open settingsAccountManage accountBackup account).

  2. Copiez et sauvegardez la base de données (par exemple, dans ~/.local/share/jami/).

  3. Sur le nouvel appareil, pour importer les paramètres et les contacts avec des conversations vides :

    • If Jami is opened for the first time, import the archive backup. I already have an accountImport from an archive backup.

    • If Jami already has an account, import each archive backup. Add another accountI already have an accountImport from an archive backup.

  4. Fermer Jami et remplacer la base de données par la base de données précédemment sauvegardée.

Vous êtes sûr?

TLS/SRTP is used to secure connections and communications over the network.

Nous mettons en œuvre SIP sécurisé par SRTP en utilisant les recommandations décrites dans les deux RFC suivants :

Deux types de connexions réseau sont négociées, l’une pour le contrôle de la communication, l’autre pour les médias.

A typical control session will use the following cipher suite:

(TLS1.3)-(ECDHE-SECP384R1)-(RSA-PSS-RSAE-SHA384)-(AES-256-GCM)
(TLS_ECDHE_RSA_AES_256_GCM_SHA384)

Prise en charge de DTLS (en secours) :

"SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-VERS-TLS-ALL:+VERS-DTLS-ALL:-RSA:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION"

TLS :

"SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-RSA:-GROUP-FFDHE4096:-GROUP-FFDHE6144:-GROUP-FFDHE8192:+GROUP-X25519:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION"

Supported crypto suites for the media session are:

  • AES_CM_128_HMAC_SHA1_80 / SRTP_AES128_CM_HMAC_SHA1_80

  • AES_CM_128_HMAC_SHA1_32 / SRTP_AES128_CM_HMAC_SHA1_32

When do public IP addresses get exposed?

Three main connectivity scenarios are considered: (1) a classic configuration, (2) behind a VPN, and (3) via Tor.

As Jami is a P2P application, the reader would probably know that (2) or (3) is mandatory to avoid IP address leaking.

Moreover, even if it’s my answer, you can choose to not trust my answer and check the code, use Wireshark, or use other tools. Generally, Jami developers use the first scenario (sometimes the second one). It is impossible for the Jami developers to test all possible network configurations. If you discover a bug, please open an issue.

Dans ces trois scénarios, il y a trois actions principales :

  • sending a message (this will use the DHT network);

  • envoyer un fichier (connexion TCP ICE telle que décrite dans la section Transfert de fichier du Manuel de développement ; et

  • placer un appel (connexion TCP + UDP ICE telle que décrite dans la section Appels du Manuel de développement.

(1) Une configuration classique

Envoyer un message

The Jami application is running a DHT (https://opendht.net) node on your device. So every operation on the DHT network will use your IP address. This is why Jami has the option to use a DHTProxy (for example, http://dhtproxy.jami.net/); this will avoid using your node and instead will use another node on the network (which will see your IP address). Note that your message is not sent directly to the other device. In fact, your message is sent on some nodes of the DHT network, and your contact will retrieve the message on this node. So, your contact does not see your IP address at this step, but the node that gets the message will (or they will see the IP address of the proxy).

Envoyez un fichier

As described in the documentation, you will send a message with all the IP addresses you know that your peer can contact in an encrypted packet. So, if your peer sends you a file or you send a file, your addresses will appear in the ICE message.

Appels

Same as above, the IP address is present in the ICE message.

(2) Derrière un VPN

Envoyer un message

The IP address of your VPN will be used by the DHT node. If proof is required, compile dhtnode and run the la command to retrieve your public detected address. This is what I got:

./tools/dhtnode -b bootstrap.jami.net
Bootstrap: bootstrap.jami.net:4222
OpenDHT node be58fdc9f782269bfc0bbfc21a60bca5f02cb881 running on port 54299
(type 'h' or 'help' for a list of possible commands)

>> la
Reported public addresses:
IP ADDRESSES OF MY VPN

So, if you don’t use a proxy, your VPN addresses will be used for using the DHT network. If you use a DHTProxy, the DHTProxy will see your VPN addresses.

Envoyez un fichier

Same as above, the ICE message contains:

  • addresses from your local area network (LAN)

  • public address of your virtual private network (VPN)

  • TURN server address if the TURN server is enabled

Faites un appel.

Comme ci-dessus, votre adresse publique est remplacée par votre adresse VPN. Vous pouvez la voir dans les journaux du daemon. Voir Les journaux.

(3) Tor

Envoyer un message

Tor basically does not support the UDP protocol. This means that you can not use your DHT node locally; you MUST use a DHTProxy. That proxy will see the Exit node.

Envoyez un fichier

I prefer a proof to any description. So, I did a file transfer with Jami and Tor. This is what I see in the logs for the remote:

[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a8c801 1 TCP 2130706431 192.168.200.1 33293 typ host tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a8c801 1 TCP 2130706431 192.168.200.1 9 typ host tcptype active
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a80103 1 TCP 2130706431 192.168.1.3 33293 typ host tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a80103 1 TCP 2130706431 192.168.1.3 9 typ host tcptype active
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: R33fe279d 1 TCP 16777215 51.254.39.157 27427 typ relay tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Sc0a8c801 1 TCP 1694498815 185.220.101.24 33293 typ srflx tcptype passive

The first lines in the logs are 192.168.x.x addresses, so we don’t care. The 51.254.39.157 address is the TURN address in France (my device is in Canada). The 185.220.101.24 address is the Tor exit node:

inetnum:        185.220.101.0 - 185.220.101.127
netname:        MK-TOR-EXIT
Faites un appel.

Calls will not work. A SIP control connection can be created as it is a TCP connection. However, the media will not work because it only supports the UDP protocol.

Quels ports Jami utilise-t-il?

Jami works as a server and gets new ports for each connection (randomly bound). These are the ranges that can be used for each component:

  • dht: UDP [4000, 8888]

  • audio: UDP [16384-32766]

  • Vidéo: UDP [49152-65534]

  • Contrôle SIP: UDP/TCP liés au hasard

Note

If the UDP protocol is blocked, a DHTProxy can be used to use the TCP protocol instead. However, the media will not work because it only supports the UDP protocol.

So for UFW (Uncomplicated Firewall), it is recommended to open the Terminal and enter the command:

sudo ufw default allow outgoing

Currently, it is not possible to define the range of configured ports to be used by Jami. The inbound traffic can be controlled without issue; Jami should work and can use a TURN server if required.

Si vous exécutez votre propre proxy ou serveur de noms :

  • DHTProxy, name server: TCP [80-100], 443

Si vous utilisez votre propre serveur TURN:

  • Les données de référence sont fournies par le service de téléphonie mobile.

Can I use Jami in a LAN network without Internet access?

Yes! Thanks to Jami’s architecture, Jami users on a local/private network can communicate among themselves using Jami without requiring any outside connectivity such as the Internet.

To do so, with the selected Jami account, open the settings, select the Account tab, and open Advanced settings. There, enable the Local peer discovery setting. Additionally, you may want to set the bootstrap node address (default: bootstrap.jami.net) manually to the IP address of another device on your network that also runs Jami and/or an OpenDHT node.

Note

If you will use this Jami account for communicating only with other devices on the same local/private network, you can disable the TURN server if you wish. If you do so, and later you decide to use this account also for communicating with other Jami devices outside your network, don’t forget to enable the TURN server again, as it helps Jami work around issues with some overly restrictive firewalls.

Comment puis-je configurer les codecs encore plus?

Codecs can be configured via a file. In the configuration files, you can create a file called encoder.json like this:

{
    "libx264": {
        "profile": 100,
        "level": 42,
        "crf": 20,
        "preset": "ultrafast"
    },
    "h264_vaapi": {
        "low_power": 1
    },
    "libopus": {
        "application": "voip"
    }
}

ou

{
    "libopus": {
        "bit_rate": 128000
    }
}

Ce fichier est situé dans le même répertoire que dring.yml.

Pour vérifier quelles options sont prises en charge, utilisez la commande ffmpeg -h encoder=[encoder_name], où encoder_name peut être n’importe lequel de libx264, libvpx, mpeg4, h263, libopus, libspeex, g722, pcm_alaw, ou pcm_mulaw (les noms FFmpeg pour tous les encodeurs pris en charge par Jami).

Comment configurer le processeur audio?

Un processeur audio permet à Jami de nettoyer et de traiter l’audio de votre microphone. Il peut éliminer l’écho, réduire le bruit et équilibrer le volume de votre microphone. En outre, il peut détecter lorsque vous parlez et envoyer ces informations aux participants de votre appel. Les paramètres du processeur audio peuvent être réglés dans le fichier dring.yml. Voir cette section pour trouver où se trouve ce fichier.

Les clés de préférence pertinentes sont:

  • audioProcessor, qui configure le processeur audio à utiliser. Les options valides sont :

  • echoCancel, qui définit la manière dont la suppression d’écho doit être effectuée.

    • auto : essaye d’utiliser le suppresseur d’écho du système d’exploitation (s’il existe), sinon utilise le suppresseur d’écho du processeur audio choisi

    • audioProcessor : utilise uniquement le suppresseur d’écho du processeur audio choisi

    • system : utilise uniquement le suppresseur d’écho du système d’exploitation

    • null: pas de suppression d’écho

  • noiseReduce, true/false pour régler la réduction du bruit sur le processeur audio

  • automaticGainControl, true/false pour activer ou non le contrôle de gain automatique du processeur audio

  • voiceActivityDetection, true/false pour activer ou non la détection de la parole sur le processeur audio