Jicofo und JVB konnten sich nicht erfolgreich mit Prosody verbinden. Die Logs zeigten unter anderem folgende Fehlermeldungen:
- XMPPTCPConnection[not-authenticated] ... closed with error
- Reconnection failed
- Lost a bridge: jvbbrewery@internal...
Ursache
Die Benutzer focus@auth.jitsi.dynproxy.net
und jvb@auth.jitsi.dynproxy.net
existierten nicht oder waren mit einem falschen Passwort in Prosody hinterlegt. Zudem verwendete JVB localhost
als XMPP-HOSTNAME, was in vielen Umgebungen zu Problemen bei der Auflösung oder Authentifizierung führen kann.
Schritt-für-Schritt-Lösung
1. Benutzer in Prosody registrieren
grep password /etc/jitsi/jicofo/jicofo.conf
prosodyctl register focus auth.jitsi.DOM.TLD <focus-passwort>
grep PASSWORD /etc/jitsi/videobridge/jvb.conf
prosodyctl register jvb auth.jitsi.DOM.TLD <jvb-passwort>
2. Passwörter in den Konfigurationsdateien setzen
Datei: /etc/jitsi/jicofo/jicofo.conf
jicofo {
xmpp: {
client: {
domain = "auth.jitsi.DOM.TLD"
username = "focus"
password = "<focus-passwort>"
}
}
}
Datei: /etc/jitsi/videobridge/jvb.conf
videobridge {
http-servers {
public {
port = 9090
}
}
websockets {
enabled = true
domain = "jitsi.DOM.TLD"
tls = true
}
apis.xmpp-client.configs {
shard {
HOSTNAME = "jitsi.DOM.TLD"
DOMAIN = "auth.jitsi.DOM.TLD"
USERNAME = "jvb"
PASSWORD = "<jvb-passwort>"
MUC_JIDS = "jvbbrewery@internal.auth.jitsi.DOM.TLD"
MUC_NICKNAME = "jvb-dynproxy"
}
}
}
ice4j {
harvest {
mapping {
aws {
enabled = false
}
stun {
addresses = ["meet-jit-si-turnrelay.jitsi.net:443"]
}
static-mappings = [
{
local-address = "10.0.3.125"
public-address = "<öffentliche IP-Adresse>"
}
]
}
}
}
3. Prosody-Konfiguration überprüfen
In der Datei /etc/prosody/conf.avail/jitsi.dynproxy.net.cfg.lua
sollten folgende Einträge vorhanden sein:
VirtualHost "auth.jitsi.dynproxy.net"
mitauthentication = "internal_hashed"
Component "internal.auth.jitsi.dynproxy.net" "muc"
mit:admins = { "focus@auth.jitsi.DOM.TLD", "jvb@auth.jitsi.DOM.TLD" }
- Weitere Komponenten wie
conference.
,lobby.
,breakout.
,speakerstats.
,focus.
müssen definiert sein
4. Dienste neu starten
systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2
5. Logs kontrollieren
journalctl -u prosody -n 50 -f
journalctl -u jicofo -n 50 -f
journalctl -u jitsi-videobridge2 -n 50 -f
Ergebnis
Nach erfolgreicher Umsetzung der oben genannten Schritte:
- Jicofo: meldet
Joined the room
, Komponenten werden korrekt erkannt - JVB: zeigt keine Authentifizierungsfehler mehr, Bridge ist verbunden
- Prosody: alle XMPP-Komponenten sind erfolgreich authentifiziert