Frage zu Nextcloud Talk

Hallo zusammen,

wir betreiben seit einigen Jahren und der Version 12 eine Nextcloud mit 120 Usern auf eigenen Servern (VMWare / Ubuntu 18.04.3 LTS).

Aktuell läuft bei uns die Version 18 mit PHP FPM 7.3 und MariaDB 10.4.

Nun meine Frage:

Wir würden gerne Talk einführen mit der Option der Text- und Videonachrichten.

Eines ist mir nicht klar:

Brauche ich oder wenn ja, wofür brauche ich einen eigenen CoTurn Server? Den CoTurn Dienst kann ich auf einer weiteren VM installieren und die NC Instanz kann diesen dann benutzen.
Es funktioniert aber anscheinend (auf unserer Testumgebung) aber auch ohne.

Danke für Eure Hilfe :slight_smile:

Dies kommt immer auf den Anwendungsfall an, siehe hierzu z.B. …

… oder

Hmm… ja habe ich gelesen… aber so richtig erklärt das den Sinn noch nicht.

Was macht der STUN Dienst? Was ist ein Call “von außen”? Es greift ja technisch meist ein Proxy oder Reverse Proxy einer Firewall auf die Instanzen zu…

Und: I would install coturn as TURN server… ja gute Empfehlung aber gibts ne offizelle Installationsanleitung seitens NC? :slight_smile: Ich finde leider nichts.

Das ist alles nur dann nötig wenn deine Nextcloud Instanz oder einer der Talk Teilnehmer hinter einem NAT sitzt, es also einen Router und ein internes Netzwerk gibt mit internen IP Adressen. STUN transportiert die NAT internen IP Adressen, so dass das WebRTC Protokoll die Daten in beide Richtungen an die richtigen Empfänger (hinter den NAT) weiterleiten kann. Bei symmetrischem NAT o.Ä. (ich habe auch nicht ganz die technischen Details dahinter verstanden), reicht das STUN allerdings nicht aus. Dann muss ein TURN Server her. Alle Clients senden und empfangen Daten dann über den TURN Server, welcher die richtigen Zuordnungen für das WebRTC Protokoll garantiert.

coTURN installation variiert wie immer je nach Distribution, aber mein HowTo sollte helfen: HowTo: Setup Nextcloud Talk with TURN server
Das wurde inzwischen auch in die Talk Android Client und Nextcloud docs übernommen, habe den Link aber gerade nicht parat.

EDIT:


Lange Rede kurzer Sinn: ein Turnserver ist sinnvoll, sonst wunderst du dich in bestimmten Konstellationen dass Videogespräche nicht funktionieren. Der coturn-Server ist schnell installiert und konfiguriert. Anleitungen dafür gibt es reichlichst hier im Forum und anderswo. Die Installation kann problemlos auf dem gleichen Server erfolgen. Bitte auch an die Firewall bzw. die richtige Portfreigabe denken.

Okay… ich würde dann eine eigene Maschine erstellen mit Coturn als Dienst, einer Domain die von außen erreichbar ist und einem eigenen gültigen Zertifikat.

Bei mir läuft Coturn auf der selben Maschine wie Nextcloud.

Wie hast du denn dann den CoTurn konfiguriert? Lauscht alles auf diegleiche Domain?

Ich habe zwei Probleme:

  1. Der Turn Server auf der gleichen Maschine wird nicht verbunden. Domain+Port+Secret… aber es bleibt das Zeichen -> Server nicht erreichbar. Gewählt habe ich die Config aus der Doku ohne TLS (https://github.com/nextcloud/talk-android/blob/master/docs/TURN.md)

  2. Ich bekomme immer wieder diese Fehlermeldungen und zwar sekündlich:

Undefined index: lobby_state at /var/www/apps/spreed/lib/Manager.php#153
Undefined index: read_only at /var/www/apps/spreed/lib/Manager.php#152

Version ist Talk 8.0.5 mit NC 18.0.1

https://www.allerstorfer.at/install-coturn-on-ubuntu/

Ja

Warum ist ein Turnserver immer sinnvoll ? Services einzusetzen, wenn man sie eigentlich nicht braucht, ist nie sinnvoll.

Der Turn Server ist doch nur sinnvoll, wenn Du selbst Deinen NextCloud Server in eine Firewall/Symmetric NAT Situation bringst, und dann nicht richtig Deinen Nextcloud Dienst anbieten kannst.
Oder ?

Den Turnserver braucht man afaik wenn ein Client hinter einem symmetrischen NAT sitzt und das ist eben nur begrenzt planbar.
Wenn es aber tatsächlich ohne geht, kann man sich das natürlich sparen.