OS : Debian10

Objectif : Installer et configurer JITSI puis le connecté à un serveur TURN.

Prérequis : Disposer d'un nom de domaine (fqdn) deja déclaré, répliqué et pointant sur votre serveur

Prérequis optionnel : Disposer d'un serveur TURN (https://www.underworld.fr/blog/coturn)

Contexte : Serveur JITSI derriere un router faisant du NAT et derriere un reverse proxy

1) Installer JITSI-MEET

echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -

apt-get install apt-transport-https

apt-get update

apt-get -y install jitsi-meet

Lors de l'installation, il vous sera demandé de saisir votre FQDN (exemple adapté à mon cas : conf.underworld.fr)

2) Configuration de JITSI-MEET

vi /etc/jitsi/videobridge/sip-communicator.properties

Ajouter les lignes suivantes:

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=Local.IP.Address
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=Public.IP.Address
org.jitsi.videobridge.DISABLE_TCP_HARVESTER=true

en remplaçant "Local.IP.Address" par l'adresse ip local de votre serveur et "Public.IP.Address" par son ip publique

et en commentant l'instruction "org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES" qui ne nous sert pas pour le moment.

Pour activer les statistiques:

vi /etc/jitsi/videobridge/config

Et ajouter:

JVB_OPTS="--apis=rest,"

3) Firewall : Ouvrir les flux reseaux entrants

Les flux entrants necessaires sont:

=> Port 4444/TCP = Interface web jitsi-meet (sauf si vous exposez derriere un reverse proxy, à adapter)

=> Port 4443/TCP = Flux videobridge TCP

=> Port 10000/UDP = Flux videobridge UDP

4) Redémarrage des services

dans le doute...

reboot :-D

sinon

service jitsi-videobridge2 restart

A ce moment, vous devez pouvoir utiliser Jitsi-Meet et faire une visioconf à plusieurs.

L'interet du serveur TURN (CoTURN) est de permettre des visioconf 1 to 1 en p2p, en direct, sans que cela ne charge votre videobridge.

5) Controle des logs

/var/log/jitsi/jvb.log

/var/log/jitsi/jicofo.log

/var/log/prosody/prosody.log

Pour les statistiques c'est ici : http://ipduserveur:8080/colibri/stats

6) Configuration pour utiliser un serveur TURN

vi /etc/prosody/conf.d/monfqdn.cfg.lua

Mettre à jour/ajouter les lignes suivantes:

turncredentials_secret = "MonSuperSecretDeMonServeurTurn";

turncredentials = {
  { type = "stun", host = "monserveurturn.monfqdn", port = "5349" },
  { type = "turn", host = "monserveurturn.monfqdn", port = "5349", transport = "udp" },
  { type = "turns", host = "monserveurturn.monfqdn", port = "5349", transport = "tcp" }
};    

vi /etc/jitsi/videobridge/sip-communicator.properties

Ajouter les lignes suivantes:

org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=monserveurturn.monfqdn:5349 (à personnaliser en fonction de VOTRE serveur Turn)

7) Sources

https://dev.glicer.com/section/probleme-solution/webrtc-stun-turn.html
https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md
https://meetrix.io/blog/webrtc/jitsi/setting-up-a-turn-server-for-jitsi-meet.html
https://community.jitsi.org/t/turn-server-configuration/20405/4
https://meet.jit.si/config.js
https://meet.jit.si/interface_config.js

Previous Post Next Post