STUN, TURN, ICE: die drei Musketiere des SIP-Callings

Es gibt die Meinung, dass die Wörter am Anfang der Überschrift dasselbe bedeuten (so wie SIP und VoIP sowie Dialer und Softphones im Massenbewusstsein miteinander verschmelzen). Dies ist jedoch nicht der Fall: STUN, TURN und ICE sind unterschiedliche Protokolle, die dieselbe Aufgabe des Routings über Firewalls und NAT (Network Address Translation) hinweg lösen sollen. Die richtige Protokoll Wahl hängt von Ihren Netzwerkeinstellungen, Sicherheitsanforderungen und anderen Faktoren ab.
Konzentrieren wir uns kurz auf diese Technologien.
STUN
STUN (Session Traversal Utilities for NAT) ist ein Client-Server-Protokoll, das ein Tool zur Erkennung der Anwesenheit eines Netzwerkadresse Übersetzers und von Firewalls bietet. STUN-Clients senden verbindliche Anfragen an einen STUN-Server. Dieser antwortet mit einer Antwort, die die IP-Adresse und Portnummer des Clients enthält, wie sie aus Sicht des Servers zum Senden von Sprachpaketen an die entsprechende Partei betrachtet werden.
STUN wird ausführlich in RFC 3489, RFC 8489 und RFC 5780beschrieben. Hier nur das Wichtigste: Tatsächlich handelt es sich um einen Mechanismus zur Erkennung geeigneter Adressen für die Sprach-Datenübertragung, wenn diese unterschiedliche, auf NAT basierende Netzwerke umfasst. Dies löst Probleme wie die fehlgeschlagene Registrierung bei der Telefonanlage, Anrufe ohne Ton, Anrufabbrüche oder keine eingehenden Anrufe.
Damit muss ein STUN-Server außerhalb des Netzwerks liegen, in dem sich eine PBX/ein Softphone befindet, was aber nicht immer möglich ist. Sollte sich ein Teilnehmer außerhalb einer symmetrischen NAT befinden, ist STUN nicht anwendbar. In diesem Fall wird TURN das Wort erteilt.
TURN
Das als Traversal Using Relays around NAT bekannte Protokoll (eine detaillierte Beschreibung findet sich in RFC 8656) soll Geräten helfen, über ein symmetrisches NAT hinaus über einen „Mediator“, nämlich einen TURN-Server, zu interagieren. In gewisser Weise ergänzt TURN STUN; oft ist ein STUN-Server auch ein TURN-Server.
TURN ist gut darin, einige Mängel von STUN zu beheben. Beispielsweise wird die Arbeit mit nicht symmetrischen NAT möglich, aber die Notwendigkeit einer externen Server Verbindung bleibt bestehen. Da die Daten über einen „Mediator“-Server übertragen werden, führt dies zu einer gewissen Verzögerung.
Damit die Daten optimal weitergeleitet werden, kommt ICE.
ICE
ICE (Interactive Connectivity Establishment; siehe RFC 8445 und RFC 5768) ist wiederum eine Ergänzung zu STUN und TURN. Sein Hauptzweck besteht darin, den Verbindungsweg zu definieren:
- zuerst wird versucht, eine direkte Verbindung herzustellen;
- wenn das nicht möglich ist, versucht ICE, eine Verbindung über STUN herzustellen;
- sonst verwendet es TURN.
Ein klarer Vorteil von ICE ist die Einfachheit: Benutzer müssen sich nicht mit den Feinheiten von NAT befassen. Andererseits dauert die Verbindungsherstellung länger, da mögliche Verbindungswege nacheinander geprüft werden.
Softphone, Firewall, DNS und Co.
Alle Antworten findet ihr im neuen großen Artikel STUN, TURN e ICE en Softphone.Pro in unserer Knowledgebase. DNS, Linux (am Beispiel Ubuntu Server 24.04 LTS), eigener Server, alles dabei.
Viel Spaß!
DAS KÖNNTE IHNEN AUCH GEFALLEN
Help
STUN, TURN, and ICE in Softphone.Pro
Blog
Abgehackter Ton und Audioverzögerung: so finden Sie Potentielle Probleme schnell
Blog
SIP vs. VoIP, Dialer vs. Softphones: Unterschiede und Gemeinsamkeiten
Blog
Ruf mich!.. über „sip:“, „callto:“ und „tel:“
Blog
Empfangen von Anrufen auf dem Handy, wenn Softphone im Hintergrund läuft oder geschlossen ist