Schneller jitsi STUN Server gesucht

  • Schön.

    Kannst du mich noch erhellen, wann der turn Server überhaupt angesprochen wird, von wem und was genau er dann tut?


    Dass es OK ist, dass die jitsi configs sich unterscheiden, war mir schon klar. Ich wollte andere Betreiber (die vielleicht nur einen Server betreiben) nur darauf hinweisen, dass momentan praktisch täglich die zahlreichen Anleitungen zu jitsi Servern veraltet sind.

  • Es besteht die geringe Chance, dass ich verstanden habe wie STUN/TURN in Jitsi funktionieren. Ziemlich abgefucktes Zeug. (Falls ich mich irren sollte, gerne blamen)


    Jitsi liefert das Paket jitsi-meet-turnserver mit, welches einen coturn komplett aus den bereits in debconf hinterlegten Einstellungen konfiguriert und startet. Es gibt zwar ne Warnung bei der Installation, dass die öffentliche IP nicht erkennt wurde, aber das kann man recht einfach korrigieren.


    Hier ein Ansible Schnipsel was man tun muss:



    Ist coturn installiert, horcht dieser auf Port 4445. Das ist aber egal, da die Dark Magic im NGINX stattfindet. In /etc/nginx/modules-enabled/60-jitsi-meet.conf befindet sich ein Upstream Proxy Setup, welches je nach Request den Port 443 auf jitsi-meet ODER den coturn Server leitet.


    Daher sind die Einstellungen in Prosody mit meinedomain.example.com:443 für TURN und STUN auch korrekt.


    Das einzige was nun noch zu tun ist: Den STUN in jitsi-meets config.js eintragen.


    Dann sollte es laufen.


    Code
    stunServers: [
        { urls: 'stun:meinedomain.example.com:443' }
    ],


    Man kann den ganzen WebRTC Kram übrigens ganz gut in der Developer Console von Chrome und unterchrome://webrtc-internals/ verfolgen.

  • Schön.

    Das ist die Anleitung, wie der turn Server eingebunden wird, sofern er noch nicht drin ist.

    Aber was genau _macht_ der turn Server und wann und warum wird er statt Jitsi angesprochen?

    Auch: weshalb braucht man jitsi und turn auf demselben Server?

  • TURN und STUN werden bei P2P (also Zweier-Konferenzen) verwendet. TURN dient als Relay Server, um eine Verbindung zu realisieren, wenn beide Parteien hinter einem NAT sitzen und somit nicht direkt miteinander kommunizieren können.


    In bestimmten Fällen, wenn eine P2P Verbindung realisierbar ist, kommunizieren die Parteien direkt miteinander, und es ist weder die Videobridge noch der TURN Server notwendig.


    Alle Konferenzen die mehr als zwei Parteien haben, oder wo die P2P Verbindung aus Gründen fehlschlägt, laufen durch die Videobridge-Komponente von Jitsi.


    TURN und STUN werden somit benutzt, um den Server zu entlasten.


    Lies Dir mal die Englischen Wikipedia Artikel durch, falls Du es genauer wissen willst.

  • TURN und STUN werden bei P2P (also Zweier-Konferenzen) verwendet.

    Nein. turn wird m.e. ausschließlich bei NICHT p2p verwendet. p2p ist bei mir auch deaktiviert (wodurch garkein stun mehr benötigt wird) und hat auch funktioniert, als noch garkein trurn Server in der Config war.

    TURN dient als Relay Server, um eine Verbindung zu realisieren, wenn beide Parteien hinter einem NAT sitzen und somit nicht direkt miteinander kommunizieren können.


    Was bei einem Server mit öffentlicher ip NIE der Fall ist. also sollte der turn nach deiner theorie doch nie verwendet werden.


    TURN und STUN werden somit benutzt, um den Server zu entlasten.

    Nein. Stun wird _benötigt_, wenn p2p durch 2 mal nat gehen muss. Das hab ich ja auch verstanden und abgehakt.


    turn ist mir weiterhin unklar. vor allem, wenn es auf demselben Server wie Jitsi läuft.

  • Nein. turn wird m.e. ausschließlich bei NICHT p2p verwendet.

    Nein. https://en.wikipedia.org/wiki/…l_Using_Relays_around_NAT - siehe erster Absatz.


    Was bei einem Server mit öffentlicher ip NIE der Fall ist.

    Darum gehts ja auch gar nicht. TURN wird bei P2P Betrieb benutzt wenn aus beiden Richtungen keine Direktverbindung möglich ist.


    STUN = P2P Verbindungsaushandlung

    TURN = P2P Relay wenn keine Direktverbindung möglich ist


    Nein. Stun wird _benötigt_, wenn p2p durch 2 mal nat gehen muss.

    Wie ich schon beschrieb. STUN und TURN für P2P. Für alles andere wird die Videobridge benutzt. Unsere beiden Aussagen ergänzen sich, und widersprechen sich somit nicht. Also nicht "nein", sondern "ja". :)

  • TURN = P2P Relay wenn keine Direktverbindung möglich ist

    Also kann man bei abgeschaltetem p2p auch den turn Server abschalten, da er eh nicht benutzt wird?

    Aber weshalb ist er dann nicht im p2p Bereich konfiguriert, sondern bei den allgemeinen Verbindungen?

    Und wie stellt nginx fest, dass es eine p2p Verbindung ist?

    Meine eigentliche Frage scheint zu sein:

    Weshalb braucht man bei abgeschaltetem p2p einen turn Server und wovon hängt es ab, ob der benutzt wird?

  • Also kann man bei abgeschaltetem p2p auch den turn Server abschalten, da er eh nicht benutzt wird?

    Bin ich mir ziemlich sicher, ja.


    Und wie stellt nginx fest, dass es eine p2p Verbindung ist?

    Gar nicht. Ob P2P benutzt wird entscheidet der Client. Deswegen ist diese Einstellung ja auch im Java Script config. NGINX erkennt einfach nur was für Pakete rein kommen und leitet entsprechend um.