STUN- und TURN-Server Einstellungen

Der estos UCServer ermöglicht die zentrale STUN- und TURN-Konfiguration der estos ProCall Clients. Diese Einstellungen benötigt der estos ProCall Client, falls die Features "AudioChat" oder "VideoChat" verwendet werden sollen. Ein STUN- und TURN-Server werden immer dann benötigt, wenn mindestens ein Client sich außerhalb des lokalen Netzwerks befindet. Dies betrifft insbesondere die Apps und Browser Applikationen. STUN und TURN-Server befinden sich typischerweise im Internet und sind deshalb nicht Bestandteil des estos UCServer. Auf der Konfigurationsseite des estos UCServer (bei Dienste -> STUN / TURN) werden die Einstellungen vorgenommen, die beschreiben, wie im Internet befindliche STUN- und TURN-Server erreicht werden können. Die Konfigurationsparameter werden vom Betreiber der STUN- und TURN-Server bereitgestellt.
Die STUN- und TURN-Server können sich auf identischen Systemen befinden bzw. gleiche URLs oder IP-Adressen (und Ports) haben, sie können sich jedoch auch auf unterschiedlichen Systemen befinden bzw. unterschiedliche URLs oder IP-Adressen (und Ports) haben.

Der estos UCServer unterstützt mehrere Möglichkeiten zur Nutzung von STUN- und TURN-Servern.

  • Eigene Server verwenden
    Sie können eigene STUN-Server und TURN-Server verwenden. Konfigurieren Sie dazu die folgenden Parameter:
    • STUN Uri
      Geben Sie hier die Uri des STUN-Servers ein. Der Standard STUN Port ist 3478. Gültige STUN Uris sind z.B.
      • stun:my.server.com
      • stun:stun.l.google.com:19302
    • TURN Uri
      Geben Sie hier eine oder mehrere Uris ihres TURN-Servers ein. Der Standard TURN Port ist 3478. Gültige TURN Uris sind z.B.
      • turn:my.server.com
      • turn:my.server.com:3478
      • turn:my.server.com:3478?transport=udp
      • turn:my.server.com:443?transport=tcp
    • TURN Authentisierung
      Der Zugang zu einem TURN-Server erfodert immer eine Authentisierung um unbefugte Nutzung zu verhindern. Da beim TURN-Dienst die durchgeschleiften Mediakanäle sowohl Rechenleistung als auch Internetbandbreite belegen, muss der TURN-Dienst vor unkontrollierter, massenhafter Benutzung geschützt werden. Es werden die folgenden Authentisierungsmethoden unterstützt:
      • Authentisierung mit Benutzername / Kennwort
        Geben Sie den Benutzernamen und das Kennwort ein. Hinweis: Werden Client Anwendungen im Browser über das Internet verwendet, sind diese Zugangsdaten nicht vor Zugriff geschützt.
      • Shared Secret (TURN REST API)
        Das Shared Secret ist ein Schlüssel, der sowohl dem TURN-Server als auch dem UCServer bekannt ist. Aus dem Shared Secret generiert der UCServer jeweils 24 Stunden gültige Zugangsdaten, die den Clients übermittelt werden.
    • UCConnect verwenden
      Melden Sie sich bei UCConnect um automatisch STUN-Server und TURN-Server zu verwenden.
  • Externen Anbieter verwenden
    Es gibt mehrere Anbieter, die STUN- und TURN-Server betreiben. Melden Sie sich dazu bei einem Anbieter an. In dem Dialog 'Anbieter konfigurieren' geben Sie die benötigten Zugangsdaten ein, die Sie von Ihrem Anbieter erhalten. Der estos UCServer holt sich von dem jeweiligen Anbieter regelmäßig neue Zugangsdaten für die TURN-Server ab, und stellt diese dann den Clients zur Verfügung. Die Zugangsdaten haben typischerweise eine Gültigkeit von 24 Stunden.

STUN / TURN Diagnose
Die aktuellen Einstellungen der oben beschriebenen Parameter können mit der Taste "Diagnose ausführen" überprüft werden. In dem neben der Taste befindlichen Statusfeld wird das Testergebnis ausgegeben, z.B. "STUN Test OK, TURN Test OK".
Sofern eine Logdatei erstellt wurde und das estos UCServer Verwaltungsprogramm Zugriff auf die Datei hat, kann die Taste "Logdatei öffnen" betätigt werden. Die Diagnose wird mit Hilfe eines Hilfsprogrammes "ICE-Test2.exe" erstellt. Die "Diagnose ausführen" Taste bleibt grau, falls das Hilfsprogramm dem estos UCServer Verwaltungsprogramm nicht zur Verfügung steht.

Was ist ein STUN-Server?
Ein Client im internen LAN will wissen, mit welcher IP-Adresse (und Port) er vom Internet aus erreichbar ist. Der anrufende Client kann so dem angerufenen Client mitteilen, zu welcher IP-Adresse (und Port) die Mediakanäle versendet werden sollen. Ein im Internet befindlicher STUN-Server bekommt die STUN-Abfrage eines im LAN befindlichen Clients um dem Client die IP-Adresse mitzuteilen, die der STUN-Server vom Client sieht. Deshalb darf auch ein STUN-Server niemals durch interne IP Adressen direkt erreichbar sein, z.B. wenn der STUN-Server in der DMZ eines Firmennetzerkes installiert ist. Der STUN-Server muss immer über eine externe IP Adresse im Internet erreicht werden.

Was ist ein TURN-Server?
Ein TURN-Server terminiert Media Streams (z.B. Videodaten) und "relayed" diese an einen anderen Endpunkt. So ein Relay Server wird benötigt für den Fall, dass direkte Ende-zu-Ende (P2P) Media Streams zwischen Clients nicht möglich sind (z.B. bei Symmetric NAT).
Solche Anforderungen sind besonders häufig bei Verbindungen aus einem mobilen Netzwerk anzutreffen, d.h. ein mobiler Client auf einem Mobiltelefon versucht über das Internet eine Audio-/Videokommunikation herzustellen. Ebenso können besonders restriktive NAT Devices (der Übergang zwischen internem LAN und externem Internet) die Verwendung eines TURN-Servers erfordern.

Was ist ein NAT Device bzw. NAT Traversal?
NAT kommt von "Network Address Translation" und beschreibt die Übersetzung vom "internen" IP-Adressraum im LAN zu "externen" IP-Adressen (und Ports) im Internet. Ein NAT Device ist z.B. ein Router, der ein LAN mit dem Internet verbindet. "NAT Traversal" beschreibt deshalb die Übersetzung der IP-Adressen (und Ports) beim Datenaustausch zwischen einem internen LAN und dem externen Internet.

Was ist ein Symmetric NAT?
Ein entferntes Ziel im Internet kann Daten zum im internen LAN befindlichen Client zurück senden, aber nur wenn das Ziel den gleichen Port und IP-Adresse verwendet, auf dem er auch angesprochen wurde. Wird der Client von einem anderen Ziel auf der gleichen IP-Adresse (und Port) angesprochen, wird eine neue Zuordnung in der NAT Tabelle des Routers erstellt. Ein anderes Ziel kann also keine Daten zurücksenden, selbst wenn die IP-Adressen (und Ports) korrekt wären. Für VoIP ist in diesem Fall keine Verbindung ohne TURN-Server möglich.

Wann brauche ich STUN- bzw. TURN-Server-Einstellungen?
Alle Audio-/VideoChat Clients befinden sich im selben, lokalen Netz (LAN): es wird kein STUN- und kein TURN-Server benötigt.
Die Audio-/VideoChat Clients müssen auch über das Internet miteinander kommunizieren, niemand verwendet ein "Symmetric NAT": es wird ein STUN-Server benötigt, die Angabe eines TURN-Servers ist optional.
Die Audio-/VideoChat Clients müssen auch über das Internet miteinander kommunizieren, die Umgebung ist unbekannt, jemand verwendet ein "Symmetric NAT" oder Mobiltelefone kommunizieren über das öffentliche Internet: es werden STUN- und TURN-Server Einstellungen benötigt.

Gibt es öffentlich verfügbare STUN- und TURN-Server?
Es gibt mehrere öfftliche STUN Server, z.b. stun:stun.l.google.com:19302
Es gibt keine öffentlich verfügbaren TURN-Server. Es gibt TURN-Server Provider, bei denen Sie diesen Dienst mieten können. UCConnect kann Ihnen auch STUN- und TURN-Server zur Verfügung stellen.

Ich möchte selbst STUN- und TURN-Server betreiben, welche Software soll ich verwenden?
Die Software 'coturn' unterstützt alle erforderlichen Funktionen, die zum Betrieb von WebRTC Applikationen nötig ist. Siehe auch https://github.com/coturn/coturn.

Version 8