Fehler 1008 tritt auf, nachdem die WebRTC-Audioverbindung zu BigBlueButton erfolgreich aufgebaut und der Echo-Test bestanden wurde. In dem Moment, in dem das System den Anruf vom Echo-Test in den eigentlichen Konferenzraum weiterleiten soll, schlägt diese Übergabe fehl oder läuft in ein Timeout. Als Ergebnis bleibt der Teilnehmer ohne Audioverbindung zur Konferenz, obwohl der Echo-Test noch funktioniert hat.
Wie äußert sich der Fehler?
Direkt nach dem Echo-Test – also nachdem Sie auf „Ja, ich kann mich hören” geklickt haben – erscheint im Browser eine Fehlermeldung mit dem Code 1008. Die Audioverbindung zur Konferenz kommt nicht zustande, obwohl der Echo-Test selbst noch funktioniert hatte. Eine erneute Verbindung über die Audio-Schaltfläche ist in der Regel notwendig.
Mögliche Ursachen
- FreeSWITCH nicht erreichbar oder abgestürzt: Der interne Telefonie-Dienst FreeSWITCH läuft nicht oder ist nicht über den zuständigen Steuerkanal (ESL, Port 8021) ansprechbar. BigBlueButton kann den Weiterleitungsbefehl dann nicht übermitteln.
- Ungültige Voice-Bridge-Nummer: Bei Meetings, die über die BBB-API mit einem eigenen
voiceBridge-Parameter angelegt wurden, muss diese Nummer genau fünfstellig sein. Ist das nicht der Fall, findet FreeSWITCH keinen passenden Dialplan-Eintrag und die Weiterleitung läuft in ein Timeout. - Race Condition (langsame Verbindung): Wenn der Teilnehmer auf „Ja” klickt, bevor die Verbindung im Echo-Test vollständig aufgebaut ist, versucht das System die Weiterleitung zu früh. Dieses Problem wurde in BBB 2.2 behoben, kann aber auf sehr langsamen Verbindungen noch vorkommen.
- FreeSWITCH-Datenbankkorruption: Eine beschädigte interne SQLite-Datenbank von FreeSWITCH (dieselbe Ursache wie bei Fehler 1006) kann dazu führen, dass Anrufweiterleitungen nicht korrekt verarbeitet werden.
- Container-Einschränkungen (SETSCHEDULER): In Docker- oder ähnlichen Container-Umgebungen können CPU-Scheduling-Restriktionen dazu führen, dass FreeSWITCH zwar gestartet ist, aber die Dialplan-Verarbeitung beeinträchtigt ist.
Lösungen
Für Teilnehmer
- Schließen Sie das Audio-Dialogfeld und klicken Sie erneut auf die Schaltfläche „Audio beitreten” in der Werkzeugleiste.
- Warten Sie beim Echo-Test, bis Sie Ihre eigene Stimme klar hören können, bevor Sie auf „Ja, ich kann mich hören” klicken. Klicken Sie nicht zu früh.
- Überprüfen Sie Ihre Internetverbindung. Eine instabile oder sehr langsame Verbindung erhöht die Wahrscheinlichkeit dieses Fehlers. Wechseln Sie gegebenenfalls in ein stabileres Netzwerk.
- Aktualisieren Sie die Seite (F5 bzw. Strg+R) und versuchen Sie es erneut.
- Tritt der Fehler dauerhaft auf, informieren Sie den Moderator oder den Systemadministrator, da die Ursache in diesem Fall auf der Serverseite liegt.
Für Administratoren
- Status von FreeSWITCH und ESL prüfen: Stellen Sie sicher, dass FreeSWITCH läuft und der Steuerkanal auf Port 8021 erreichbar ist:
sudo systemctl status freeswitchsudo ss -tlnp | grep 8021
Ist der Port nicht belegt, starten Sie den Dienst neu:sudo systemctl restart freeswitch - Voice-Bridge-Nummer validieren: Falls Meetings über die BBB-API mit einem eigenen
voiceBridge-Parameter erstellt werden, muss dieser Wert genau fünfstellig sein. Passen Sie Ihre API-Integration entsprechend an. - FreeSWITCH-Datenbank auf Korruption prüfen: Durchsuchen Sie das FreeSWITCH-Log nach Datenbankfehlern:
sudo grep -E "(SQL ERR|CORE_DB|unsupported file format)" /opt/freeswitch/var/log/freeswitch/freeswitch.log | tail -20
Wenn Fehler gefunden werden, stoppen Sie FreeSWITCH, löschen Sie die Datenbankdateien und starten Sie den Dienst neu. - Container-Scheduling korrigieren (falls zutreffend): Wenn BBB in einem Container betrieben wird, fügen Sie in der systemd-Unit von FreeSWITCH
CPUSchedulingPolicy=otherhinzu und laden Sie den Daemon neu. - Akka-Apps-Log auf ESL-Verbindungsfehler prüfen:
sudo journalctl -u bbb-apps-akka -n 100 | grep -i "freeswitch\|esl\|error"sudo journalctl -u bbb-fsesl-akka -n 100 | grep -i "error\|exception" - Vollständigen Neustart und Systemcheck durchführen:
sudo bbb-conf --cleansudo bbb-conf --check
Weitere Informationen
Fehler 1008 steht in engem Zusammenhang mit Fehler 1006 (FreeSWITCH-Registrierungsfehler), da beide häufig auf dieselben Serverprobleme – insbesondere einen nicht erreichbaren ESL-Kanal oder eine beschädigte Datenbank – zurückzuführen sind. Wenn Fehler 1008 zusammen mit Fehler 1006 auftritt, prüfen Sie zuerst den Gesamtzustand von FreeSWITCH.
Technische Details (für Fortgeschrittene)
Der BBB-Audiofluss sieht folgende Schritte vor: Der Browser baut eine WebRTC/SIP-Verbindung zu FreeSWITCH auf. FreeSWITCH leitet den Anruf zunächst in den Echo-Test-Dialplan. Nach Bestätigung durch den Teilnehmer sendet der BBB-HTML5-Client ein Signal an bbb-apps-akka, das FreeSWITCH über den ESL (Event Socket Layer, Port 8021) anweist, den Anruf auf die fünfstellige Voice-Bridge-Nummer des Meetings zu transferieren. Fehler 1008 tritt auf, wenn dieser Transfer-Befehl nicht ausgeführt werden kann oder ein Timeout erreicht wird. Vor BBB 2.2 wurde die Statusübermittlung per DTMF-Tönen durchgeführt, was bei Websocket-Reconnects zu FreeSWITCH-Abstürzen führen konnte. Ab BBB 2.2 erfolgt dies über interne Nachrichten (PR #8648), was die Häufigkeit von Fehler 1008 deutlich reduziert hat. Ab BBB 2.6 werden FreeSWITCH-Datenbanken im Arbeitsspeicher gehalten, wodurch datenbankbedingte 1008-Fehler weitgehend entfallen.
