Fehler 3001: Verbindungswiederherstellung läuft

Der Statushinweis 3001 erscheint in BigBlueButton, wenn die Verbindung zum Server kurzzeitig unterbrochen wurde und der Browser automatisch versucht, sie wiederherzustellen. Es handelt sich dabei nicht um einen dauerhaften Fehler, sondern um einen vorübergehenden Zustand – in den meisten Fällen ist die Verbindung innerhalb weniger Sekunden wiederhergestellt, ohne dass Sie selbst etwas tun müssen.

Wie äußert sich der Fehler?

Im Konferenzfenster erscheint ein Banner oder eine Überlagerung mit der Meldung:

„Lost connection. Please check your internet.”

Der BBB-Client hat dabei die WebSocket-Verbindung zum Server verloren und versucht automatisch, sie neu aufzubauen. Während dieser Wiederverbindungsphase ist die Konferenz eingefroren – Audio, Video und Chat sind vorübergehend nicht verfügbar. Gelingt die Wiederverbindung, verschwindet der Hinweis und die Sitzung wird nahtlos fortgesetzt. Schlägt sie fehl, wechselt der Status zu Fehlercode 3002 (Verbindung nicht möglich).

Dieser Status existiert erst ab BBB 3.0. In älteren Versionen lief die Wiederverbindung im Hintergrund ab, ohne dass ein sichtbarer Hinweis erschien.

Mögliche Ursachen

  • Kurzer Netzwerkausfall: Ein kurzzeitiger Verbindungsabbruch – etwa durch WLAN-Schwankungen, einen Netzwerkwechsel oder einen Mobilfunk-Handover – hat dazu geführt, dass die WebSocket-Verbindung unterbrochen wurde.
  • Server-Neustart durch Administrator: Ein Neustart des BBB-Servers (z. B. per bbb-conf --restart) trennt alle laufenden Verbindungen. Clients zeigen daraufhin den Status 3001 und versuchen, sich nach dem Hochfahren erneut zu verbinden.
  • Nginx-Proxy-Timeout: Wenn der eingestellte proxy_read_timeout des Nginx-Webservers zu kurz ist, kann eine WebSocket-Verbindung still geschlossen werden. Der Client bemerkt dies erst verzögert und zeigt daraufhin den Reconnect-Status.
  • Hohe Serverlast: Bei sehr vielen gleichzeitigen Teilnehmern kann der BBB-Middleware-Dienst (bbb-graphql-middleware) vorübergehend überlastet sein, sodass Keepalive-Signale ausbleiben und die Verbindung als unterbrochen erkannt wird.
  • Netzwerkinterface-Wechsel: Wenn das Gerät das WLAN-Netzwerk wechselt oder sich mit einem VPN verbindet bzw. davon trennt, wird die bestehende TCP-Verbindung ungültig.

Lösungen

Für Teilnehmer

  1. Abwarten: In den meisten Fällen stellt der Browser die Verbindung automatisch wieder her. Schließen Sie das Fenster nicht und laden Sie die Seite nicht neu – der BBB-Client versucht bis zu 20 Mal, die Verbindung wiederherzustellen.
  2. Internetverbindung prüfen: Falls der Hinweis länger als 30–60 Sekunden zu sehen ist, überprüfen Sie, ob Ihre Internetverbindung stabil ist. Versuchen Sie ggf., das WLAN zu wechseln oder auf eine kabelgebundene Verbindung umzusteigen.
  3. Seite manuell neu laden: Wenn die automatische Wiederverbindung nach etwa einer Minute nicht erfolgreich war, laden Sie die Seite mit F5 (Windows/Linux) bzw. Cmd+R (Mac) neu und treten Sie der Konferenz erneut bei.

Für Administratoren

  1. BBB-Dienste prüfen: Stellen Sie sicher, dass alle erforderlichen Dienste laufen.
  2. Nginx-Timeouts anpassen: Für WebSocket-Verbindungen sollten die Timeout-Werte sehr großzügig eingestellt sein. Die BBB-Standardkonfiguration setzt diese Werte bereits korrekt – prüfen Sie, ob sie versehentlich überschrieben wurden.
  3. Logs auf Neustarts oder Fehler prüfen: Untersuchen Sie die Systemlogs auf kürzlich aufgetretene Dienstunterbrechungen.
  4. Hasura-Gesundheit prüfen (BBB 3.0+): Der GraphQL-Middleware-Dienst ist zentral für alle Verbindungen. Ein Ausfall dieses Dienstes führt bei allen Teilnehmern gleichzeitig zu Status 3001.
# Alle BBB-Dienste auf einen Blick prüfen
sudo bbb-conf --check

# Einzelne Dienste prüfen
sudo systemctl status bbb-graphql-middleware
sudo systemctl status bbb-apps-akka
sudo systemctl status nginx

# Nginx-Timeout-Einstellungen prüfen
grep -r "proxy_read_timeout\|proxy_send_timeout" /etc/nginx/

# Empfohlene Werte für WebSocket-Proxying:
# proxy_read_timeout 86400s;
# proxy_send_timeout 86400s;

# Logs auf Neustarts prüfen
journalctl -u bbb-graphql-middleware --since "1 hour ago" | grep -i "restart\|stop\|start"

# Hasura-Gesundheit prüfen (BBB 3.0+)
curl http://localhost:8085/healthz

Weitere Informationen

Falls der Status 3001 nicht selbstständig verschwindet, kann er in einen schwerwiegenderen Verbindungsfehler übergehen. Lesen Sie in diesen Fällen auch:

  • Fehler 3002 – Verbindung konnte nicht wiederhergestellt werden (nach Erschöpfung aller Wiederverbindungsversuche)
  • Fehler 3004 – Verbindung instabil (WebSocket offen, aber Server antwortet nicht und Latenz ist kritisch)