SIP
SIP (Session Initiation Protocol) ist ein Signalisierungsprotokoll auf Anwendungsschicht, das den Aufbau, die Steuerung und den Abbau von Kommunikationssitzungen in IP-Netzwerken regelt.
Auf dieser Seite
SIP (Session Initiation Protocol) ist ein Signalisierungsprotokoll, das auf der Anwendungsschicht des OSI-Modells arbeitet. Es dient dem Aufbau, der Steuerung und dem Abbau von Kommunikationssitzungen in IP-Netzwerken. SIP wurde von der IETF entwickelt und ist in RFC 3261 spezifiziert.
Das Protokoll bildet die technische Grundlage für moderne VoIP-Telefonie und Videokonferenzsysteme. SIP kümmert sich dabei ausschließlich um die Signalisierung, also das Herstellen und Beenden von Verbindungen. Die eigentliche Übertragung von Sprache und Video erfolgt über separate Protokolle wie RTP (Real-time Transport Protocol).
Funktionsweise von SIP
SIP arbeitet nach dem Client-Server-Prinzip und ist textbasiert, ähnlich wie HTTP. Die Nachrichten sind für Menschen lesbar, was die Fehlersuche und das Debugging erheblich erleichtert. Das Protokoll nutzt standardmäßig UDP auf Port 5060, kann aber auch TCP oder TLS (Port 5061) verwenden.
Ablauf eines SIP-Anrufs
Ein typischer VoIP-Anruf mit SIP läuft in mehreren Schritten ab. Der Anrufer sendet zunächst eine INVITE-Anfrage an den Empfänger. Dieser signalisiert mit einer 180-Antwort (Ringing), dass das Telefon klingelt. Nimmt der Empfänger ab, folgt eine 200-Antwort (OK). Der Anrufer bestätigt dies mit einer ACK-Nachricht, und die Sprachübertragung beginnt.
Anrufer SIP-Server Empfaenger
| | |
|--- INVITE ------------->| |
| |--- INVITE ------------->|
| |<-- 180 Ringing ---------|
|<-- 180 Ringing ---------| |
| |<-- 200 OK --------------|
|<-- 200 OK --------------| |
|--- ACK ---------------->| |
| |--- ACK ---------------->|
|<=============== RTP Medienstream ================>|
| | |
|--- BYE ---------------->| |
| |--- BYE ---------------->|
|<-- 200 OK --------------| |
Zum Beenden des Gesprächs sendet eine der Parteien eine BYE-Nachricht. Die Gegenseite bestätigt mit 200 OK, und die Verbindung wird getrennt. Dieser Ablauf zeigt die Trennung von Signalisierung (SIP) und Medientransport (RTP) deutlich.
SIP-Architektur und Komponenten
Eine vollständige SIP-Infrastruktur besteht aus verschiedenen Komponenten, die unterschiedliche Aufgaben übernehmen. Diese Architektur ermöglicht flexible und skalierbare Kommunikationslösungen.
User Agent
Der User Agent ist das Endgerät des Nutzers, typischerweise ein IP-Telefon, ein Softphone auf dem Computer oder eine Smartphone-App. Jeder User Agent kann sowohl als Client (User Agent Client, UAC) als auch als Server (User Agent Server, UAS) agieren. Als UAC sendet er Anfragen, als UAS empfängt und beantwortet er sie.
Registrar Server
Der Registrar verwaltet die Zuordnung zwischen SIP-Adressen und aktuellen Netzwerkadressen. Wenn du dein IP-Telefon einschaltest, sendet es eine REGISTER-Nachricht an den Registrar. Dieser speichert, unter welcher IP-Adresse du aktuell erreichbar bist. So können Anrufe auch dann zugestellt werden, wenn sich deine IP-Adresse ändert.
Proxy Server
Der SIP-Proxy leitet Anfragen zwischen Endgeräten weiter. Er kann zusätzliche Funktionen wie Authentifizierung, Routing-Entscheidungen oder Logging übernehmen. Man unterscheidet zwischen Stateless Proxies, die Nachrichten nur weiterleiten, und Stateful Proxies, die den Sitzungsstatus speichern und komplexere Routing-Logik ermöglichen.
Redirect Server
Der Redirect Server antwortet auf Anfragen mit Informationen, wo der Empfänger zu finden ist. Statt die Anfrage selbst weiterzuleiten, teilt er dem Anrufer die aktuelle Adresse des Empfängers mit. Der Anrufer kontaktiert den Empfänger dann direkt. Dies reduziert die Last auf dem Server.
SIP-Nachrichten
SIP verwendet zwei Arten von Nachrichten: Requests (Anfragen) und Responses (Antworten). Die Struktur ähnelt HTTP, was die Integration in bestehende Web-Infrastrukturen erleichtert.
SIP-Requests
Die wichtigsten SIP-Anfragemethoden decken den gesamten Lebenszyklus einer Kommunikationssitzung ab. Jede Methode hat eine spezifische Funktion im Verbindungsablauf.
| Methode | Beschreibung |
|---|---|
| INVITE | Initiiert eine Sitzung oder lädt einen Teilnehmer ein |
| ACK | Bestätigt den Erhalt einer finalen Antwort auf INVITE |
| BYE | Beendet eine bestehende Sitzung |
| CANCEL | Bricht eine noch nicht etablierte Sitzung ab |
| REGISTER | Registriert die aktuelle Adresse beim Registrar |
| OPTIONS | Fragt unterstützte Funktionen und Fähigkeiten ab |
SIP-Responses
SIP-Antworten sind in Klassen von 1xx bis 6xx eingeteilt. Diese Struktur ist von HTTP übernommen und erleichtert das Verständnis für Entwickler, die bereits mit Webprotokollen vertraut sind.
| Klasse | Bedeutung | Beispiele |
|---|---|---|
| 1xx | Provisorisch | 100 Trying, 180 Ringing, 183 Session Progress |
| 2xx | Erfolg | 200 OK |
| 3xx | Umleitung | 301 Moved Permanently, 302 Moved Temporarily |
| 4xx | Client-Fehler | 400 Bad Request, 401 Unauthorized, 404 Not Found |
| 5xx | Server-Fehler | 500 Server Internal Error, 503 Service Unavailable |
| 6xx | Globaler Fehler | 600 Busy Everywhere, 603 Decline |
Die Antwortcodes helfen bei der Fehlerdiagnose erheblich. Wenn ein Anruf nicht zustande kommt, liefert der Antwortcode einen ersten Hinweis auf die Ursache, ob etwa die Nummer nicht existiert (404), der Empfänger beschäftigt ist (486 Busy Here) oder ein Serverproblem vorliegt (5xx).
SIP-Adressierung
SIP verwendet SIP-URIs zur Adressierung, die ähnlich wie E-Mail-Adressen aufgebaut sind. Eine typische SIP-Adresse lautet sip:benutzer@domain.de. Für verschlüsselte Verbindungen wird das Schema sips: verwendet.
Beispiele für SIP-URIs:
sip:max.mustermann@firma.de - Einfache SIP-Adresse
sip:+4912345678@provider.de;user=phone - Telefonnummer als SIP-URI
sips:vertraulich@secure.de - Verschlüsselte Verbindung
sip:konferenz@meet.firma.de - Konferenzraum
Die Ähnlichkeit zu E-Mail-Adressen ist kein Zufall: SIP wurde bewusst so gestaltet, dass es sich nahtlos in bestehende Internet-Infrastrukturen integrieren lässt. Du kannst SIP-Adressen sogar über DNS-Einträge (SRV-Records) auflösen.
SIP und Medientransport
SIP ist ausschließlich für die Signalisierung zuständig. Es teilt den Endgeräten mit, wann und wie sie kommunizieren sollen. Die eigentlichen Sprach- und Videodaten werden über separate Protokolle transportiert, hauptsächlich RTP (Real-time Transport Protocol).
SDP - Session Description Protocol
Innerhalb von SIP-Nachrichten wird SDP (Session Description Protocol) verwendet, um die Medienparameter auszuhandeln. SDP beschreibt, welche Codecs verfügbar sind, auf welchen Ports die Medienstreams erwartet werden und welche IP-Adressen zu verwenden sind. Diese Informationen werden im Body der INVITE- und 200-OK-Nachrichten übertragen.
Beispiel eines SDP-Inhalts:
v=0
o=- 12345 12345 IN IP4 192.168.1.100
s=VoIP-Anruf
c=IN IP4 192.168.1.100
t=0 0
m=audio 49170 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
In diesem Beispiel bietet der Anrufer Audio auf Port 49170 an und unterstützt die Codecs PCMU (G.711 mu-law), PCMA (G.711 A-law) sowie DTMF-Töne. Der Empfänger wählt einen kompatiblen Codec aus und antwortet mit seinen eigenen Parametern.
Vergleich: SIP vs. H.323
Vor SIP war H.323 der dominierende Standard für VoIP. H.323 stammt von der ITU (International Telecommunication Union) und wurde ursprünglich für Videokonferenzen über ISDN entwickelt. Beide Protokolle erfüllen ähnliche Aufgaben, unterscheiden sich aber erheblich in Architektur und Komplexität.
| Aspekt | SIP | H.323 |
|---|---|---|
| Herkunft | IETF (Internet-Community) | ITU (Telekommunikation) |
| Architektur | Dezentral, HTTP-ähnlich | Zentralisiert, komplex |
| Nachrichtenformat | Textbasiert (lesbar) | Binär (ASN.1-kodiert) |
| Erweiterbarkeit | Einfach durch Header | Komplex, neue Versionen nötig |
| NAT-Traversal | Mit STUN/TURN/ICE lösbar | Schwieriger |
| Verbreitung heute | Dominant | Rückläufig |
SIP hat sich durchgesetzt, weil es besser zur Internet-Philosophie passt. Die Textbasierung, Erweiterbarkeit und Einfachheit machen es attraktiver für Entwickler. H.323 findest du heute noch in älteren Videokonferenzsystemen und einigen Unternehmensnetzwerken, aber für neue Projekte ist SIP die klare Wahl.
SIP-Sicherheit
Die Sicherheit von SIP-Kommunikation ist ein kritisches Thema, da Telefonate abgehört oder manipuliert werden können. SIP bietet verschiedene Sicherheitsmechanismen, die je nach Anforderung eingesetzt werden.
Transportverschlüsselung
SIP over TLS (SIPS) verschlüsselt die Signalisierung zwischen Endgeräten und Servern. Dabei wird Port 5061 statt 5060 verwendet. TLS schützt vor dem Abhören der Verbindungsmetadaten, wer mit wem telefoniert und wann. Die Medienstreams (Sprache/Video) werden separat mit SRTP (Secure Real-time Transport Protocol) verschlüsselt.
Authentifizierung
SIP unterstützt Digest Authentication, bei der Benutzername und Passwort nicht im Klartext übertragen werden. Stattdessen wird ein Hash berechnet. Wenn ein Proxy oder Registrar eine Authentifizierung verlangt, antwortet er mit 401 Unauthorized oder 407 Proxy Authentication Required und einem Challenge-Wert. Der Client berechnet daraus die korrekte Antwort.
Typische Angriffe
SIP-Systeme sind verschiedenen Angriffen ausgesetzt, gegen die Schutzmaßnahmen ergriffen werden müssen:
- INVITE Flooding: Massenhaft gefälschte Anrufanfragen überlasten den Server
- Registration Hijacking: Angreifer registriert sich unter fremder Identität
- Eavesdropping: Abhören unverschlüsselter Signalisierung oder Medien
- Toll Fraud: Unbefugte nutzen die VoIP-Infrastruktur für teure Anrufe
- SRTP Downgrade: Angreifer erzwingt unverschlüsselte Medienverbindung
Gute Sicherheitspraxis umfasst TLS für die Signalisierung, SRTP für die Medien, starke Passwörter, Rate Limiting gegen Flooding-Angriffe und regelmäßige Updates der SIP-Software.
SIP in modernen Anwendungen
SIP ist heute das Standardprotokoll für geschäftliche Telefonie und findet sich in zahlreichen Anwendungsbereichen. Von der klassischen IP-Telefonanlage bis hin zu modernen Unified-Communications-Plattformen bildet SIP die technische Basis.
SIP-Trunking
SIP-Trunking ersetzt traditionelle ISDN-Anschlüsse und verbindet Unternehmen über das Internet mit dem öffentlichen Telefonnetz. Ein SIP-Trunk ist eine virtuelle Telefonleitung, die mehrere gleichzeitige Gespräche ermöglichen. Dadurch entfallen teure Hardware-Anschlüsse, und die Skalierung wird deutlich einfacher.
WebRTC und SIP
WebRTC (Web Real-Time Communication) ermöglicht Echtzeitkommunikation direkt im Browser. Obwohl WebRTC eigene Signalisierungsmechanismen nutzen kann, wird es häufig mit SIP kombiniert. Gateways übersetzen zwischen WebRTC und SIP, sodass Browser-Nutzer mit traditionellen SIP-Telefonen kommunizieren können.
Unified Communications
Moderne Unified-Communications-Plattformen wie Microsoft Teams, Cisco Webex oder Zoom verwenden SIP für die Anbindung an das Telefonnetz. Auch wenn diese Plattformen intern proprietäre Protokolle nutzen, erfolgt die Schnittstelle zur Außenwelt über SIP-Gateways.
SIP in der IT-Praxis
Für Fachinformatiker für Systemintegration gehört die Einrichtung und Wartung von VoIP-Systemen zum typischen Aufgabenspektrum. Das Verständnis von SIP ist dabei unverzichtbar, ob bei der Konfiguration von IP-Telefonanlagen, der Fehlersuche mit Wireshark oder der Integration von Telefonie in Unternehmensnetzwerke.
Auch Fachinformatiker für Anwendungsentwicklung begegnen SIP, wenn sie Kommunikationsfunktionen in Anwendungen integrieren. APIs für Telefonanlagen, Click-to-Call-Funktionen auf Webseiten oder die Integration von Sprachanrufen in Business-Software basieren häufig auf SIP.
Quellen und weiterführende Links
- RFC 3261 - SIP: Session Initiation Protocol - Offizielle IETF-Spezifikation
- Elektronik-Kompendium: SIP - Deutschsprachige Erklärung
- Wikipedia: Session Initiation Protocol - Umfassende Übersicht
- IETF SIP Working Group - Aktuelle Entwicklungen und RFCs
Prüfungsbezug
Passt zu deiner Prüfungsvorbereitung
Wenn dir dieser Begriff in Aufgaben, Projektdokumentation oder Fachgespräch begegnet, ordne ihn direkt in den Prüfungsstoff ein.