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.
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