Au moins le serveur TURN.JAMI.NET est visible depuis votre réseau, au moins en IPv4 (le trafic IPv6 ne passe pas). La résolution de nom se fait bien.
Je n’avais pas osé proposer un scan de réseau dès le début car certains administrateurs de réseau n’aiment pas que ça se passe sur leur réseau d’entreprise et ça peut déclencher des alertes.
D’après ce que j’arrive à comprendre de la capture d’écran, il est possible de sortir en UDP sur un certain nombre de ports dans le range utilisé par Jami, même si certains sont bloqués. J’imagine que Jami essaierait un autre port jusqu’à en trouver un ouvert.
Voici les ports utilisés: FAQ — Jami documentation
D’après cette documentation, vous pouvez essayer d’activer un proxy DHT et d’échanger des messages, pour voir si au moins la communication TCP fonctionne.
J’ai aussi demandé sur le forum s’il était possible d’avoir un plugin pour mieux comprendre le traffic réseau de Jami, mais il n’y a pas eu d’intérêt pour le moment. Ça serait bien d’avoir une synthèse de la connexion plutôt que d’essayer de déchiffrer les logs. Par exemple:
- Tentative d’ouverture UPnP: échec.
- Tentative d’ouverture NAT-PMP: échec.
- Utilisation du proxy: opendht.jami.net
- etc.
Rendu là, je n’ai plus trop d’idée sur ce qui empêche Jami de passer le firewall. Ça serait intéressant que quelqu’un de l’équipe de développement prenne le relais ou nous donne des explications. Les environnements réseaux sont très variés et si nous voulons que Jami fonctionne dans toutes les situations, il faut résoudre ces problèmes actuels.
Effectivement, avoir minimalement la possibilité d’échanger des messages serait utile. Par contre, il est clair qu’en n’ayant pas la possibilité d’utiliser la vidéo et le son avec JAMI, cela réduit beaucoup l’attrait du logiciel dans un contexte professionnel. Par exemple, je peux utiliser JAMI depuis mon domicile en télétravail, mais lorsque je suis sur mon lieu d’emploi, je suis bloqué. Mes pairs ne devraient pas attendre que je retourne en télétravail pour parvenir à me contacter
. Avec quelques collègues, nous avions commencé à remplacer Teams par JAMI, mais le fait de ne pouvoir l’utiliser sur le lieu de travail nous renvoie vers des solutions propriétaires comme Teams ou ZOOM.
Au-delà de cela, j’avance que si le logiciel bloque sur mon université, il se peut très bien que tout le réseau des Universités du Québec (UQ) soit concerné (et peut-être même d’autres comme ceux de l’Université de Montréal, Laval, etc.). Les UQ représentent collectivement près de 100000 étudiant.es
et de 7 700 personnes enseignantes
(Présentation générale | Université du Québec) desquels JAMI se coupe actuellement. C’est
énorme comme perte, car s’il y a bien des gens intéressés par JAMI dans le contexte actuel, c’est au Québec (même si JAMI a ses adeptes ailleurs de par le monde). En outre, les universitaires me semblent constituer aussi un public de choix (avec la censure
sur de nombreux sujets en recherche chez nos voisins du sud, une solution comme JAMI est très recherchée pour communiquer). Bref, ça serait fantastique si les développeurs pouvaient nous aider à trouver une solution, plutôt que de devoir se rabattre sur (une autre solution étasunienne…) Signal. Cela dit, je comprends que c’est plus simple à dire qu’à faire, car il y a sans doute une complexité technique élevée pour résoudre ce problème. De mon côté, je suis très motivé à donner du temps pour faire des tests si un développeur me donne une marche à suivre pour soutenir la résolution du problème.
En revenant à la solution du proxy DHT, j’ai de la peine à comprendre comment cela fonctionne en lisant la documentation technique. J’ai vu ces messages ici: How to set up DHT node, in advanced settings, mais je ne saisis pas ce que je dois insérer dans le “Port DHT actuellement utilisé” et ce que je dois modifier dans l’adresse du nœud DHT délégataire (Proxy address) ou encore dans l’amorce (bootstrap). Auriez-vous quelques pistes à me suggérer à ce sujet ? Je vous en remercie d’avance,
Je suppose qu’il suffit d’activer le curseur du Proxy DHT pour que le proxy par défaut, dhtproxy.jami.net, soit activé et utilise la plage de ports TCP 80 à 95…
Ça permettrait au moins de valider que Jami fonctionne en mode dégradé (messages texte seulement) depuis le réseau de l’université. Ensuite, il faudrait vraiment avoir l’aide d’un développeur pour réaliser des tests plus poussés. @Jami, serait-ce possible?
Le proxy DHT est utile surtout pour les appareils mobiles (Android, iOS). Il sert à s’enregistrer sur la table distribuée (DHT) “au nom de l’appareil” (d’où l’appellation de “proxy”) pendant que l’appareil mobile est en veille / en mode d’économie d’énergie et à essayer de “réveiller” le téléphone avec des notifications “push” lorsque de nouveaux messages arrivent sur la DHT à destination de cet appareil en utilisant le logiciel gorush. Sinon, la synchronisation DHT doit être active en tout temps sur l’appareil ce qui réduit grandement l’autonomie de l’appareil mobile alimenté par une batterie. Plus de détails techniques sur les proxies DHT sont disponibles ici FAQ — Jami documentation
Lorsque Jami ne peut pas acheminer la voix et la vidéo directement de A vers B (pair à pair) il essaie de faire passer ces flux audio et vidéo via des serveurs TURN. Ces derniers écoutent par défaut sur le port UDP 3478 mais utilisent l’intervalle de ports UDP 10000 à 30000 pour faire acheminer les flux audio et vidéo entre les utilisateurs en communication. Ces ports UDP 10000 à 30000 n’écoutent pas en permanence sur le serveur TURN (aucun de ces ports n’est connecté sur le serveur TURN lorsqu’il n’y a aucun appel qui transite par ce serveur).
Zoom (pour reprendre votre exemple de logiciel utilisé au travail) utilise un nombre limité de ports TCP (443, 8801 et 8802) avec un nombre limité de serveurs car les conférences passent à travers leurs serveurs. Zoom a été conçu à la base pour fonctionner sur des réseaux corporatifs, scolaires et universitaires très restrictifs. En contrepartie on doit faire confiance à Zoom et à leurs serveurs pour préserver le caractère privé de nos conférences.
Jami est au contraire un logiciel de communication distribué, donc par définition il ne peut pas fonctionner dans un environnement réseau très restreint. A minima il faut que les ports suivants soient ouverts: FAQ — Jami documentation
Si ce n’est pas possible, la seule façon d’utiliser Jami sur un réseau très restreint sera alors de déployer des serveurs DHT proxy et TURN à l’intérieur du réseau organisationnel (ou sur un DMZ). Si on veut que les gens dans l’organisation puissent quand même communiquer avec le réseau extérieur il faut que:
1- les utilisateurs du réseau local puissent accéder sans encombre aux serveurs dhtproxy et turn (et peut-être nameserver jami) locaux. On parle bien des serveurs déployés par l’organisation et non des serveurs fournis par le projet Jami pour le grand public. Même là on risque d’avoir des difficultés avec les notifications push d’Android et d’iOS à moins d’héberger son propre service de notifications push.
2- ces serveurs dhtproxy et turn internes doivent pouvoir communiquer librement avec Internet (donc tous les ports TCP et UDP dans le lien que j’ai cité ci-dessus doivent fonctionner).
Comme vous le voyez, il ne s’agit pas de quelque chose que l’équipe de développeurs Jami ou un simple utilisateur du réseau organisationnel restrictif peut faire. Il s’agit d’un projet d’architecture infra/réseau que les responsables TI de l’organisation doivent réaliser s’ils décident d’utiliser Jami.
Il y a un guide ici Use Jami on a LAN — Jami documentation pour déployer Jami sur un réseau local (LAN) déconnecté d’Internet. Ce guide peut servir de base à un tel projet.
Merci d’avoir pris le temps de transmettre ces explications détaillées qui me permettent de saisir que “sur des réseaux corporatifs, scolaires et universitaires très restrictifs” JAMI ne fonctionnera pas. Dans ce cas, je propose qu’il serait utile d’en faire un point bien visible dans les questions fréquemment posées à propos de JAMI (sur le site du logiciel). Pour un spécialiste, sans doute ce qui est écrit sur le site de JAMI concernant les ports UDP va de soi, mais le simple utilisateur ne fera pas forcément le lien avec les pratiques courantes sur les réseaux d’entreprise. Se pourrait-il que plusieurs utilisateurs soient dans ce cas et pensent que l’application ne fonctionne pas adéquatement, alors que c’est simplement lié à l’architecture du fonctionnement de JAMI? Cela éviterait de fausses conclusions chez ces personnes, qui ensuite diffusent que le logiciel n’est pas fonctionnel (ce qui peut nuire à l’adoption de JAMI).
Il me semble également intéressant de réfléchir à des alternatives à proposer dans ce type de situation. Je n’ai pas de solution parfaite pour le moment, mais j’envisage d’utiliser mon téléphone cellulaire pour combler le besoin d’accès à JAMI lorsque je suis au travail. Par contre, comme le téléphone est connecté au réseau de l’université, JAMI est bloqué considérant que les mêmes restrictions s’appliquent pour le réseau sans fil et pour le réseau filaire. Toutefois, lorsque j’utilise les données sur mon compte du téléphone, JAMI est accessible.
Il me reste donc à trouver comment permettre à un iPhone de forcer l’utilisation des données pour une seule application (JAMI), alors que les autres applications vont devoir utiliser le WiFi. Ce type d’utilisation est toutefois inhabituel, raison pour laquelle je n’ai pas encore trouvé de solution. Si quelqu’une sait comment procéder, pourriez-vous svp partager votre solution ? S’il y a une solution, je pourrai spécifiquement aborder ceci dans un tutoriel qui pourrait s’avérer utile aux personnes dans une situation comme la mienne. Au moins, JAMI resterait accessible en continu, ce qui permettrait d’en faire un usage professionnel dans un contexte restreint (à condition d’avoir un téléphone et un plan avec des données). Qu’en pensez-vous
J’ai trouvé une solution qui pourrait intéresser des personnes dans une situation où le réseau d’institution ou d’entreprise est restrictif et empêche l’utilisation des ports requis par Jami.
L’utilisation d’un VPN comme Mullvad (https://mullvad.net, App version 2025.5 avec les options par défaut) m’a permis de me connecter avec Jami en mode complet (incluant vidéo et audio !) sur un portable personnel en mode sans fil.
Pour fin de réplication pour les besoins d’autres personnes, voici mes options dans Jami:
et voici mes options dans l’application Mullvad sur Linux Zorin 17.3:
Bref, je suis très heureux d’avoir trouvé cette solution et j’espère qu’elle bénéficiera à d’autres. Cela me permet ainsi d’utiliser Jami dans le cadre de mon travail.
Un grand merci à toutes les personnes qui m’ont répondu pour tenter de m’aider, je l’apprécie beaucoup
Bravo et merci @mmms