SIP Protokoll

Alles was man 2020 wissen sollte

Teilen Sie den Artikel

Um ein TelefongesprĂ€ch ĂŒber das Internet zwischen zwei oder mehreren Teilnehmern zu initiieren braucht es das „Session Initial Protocol“, kurz SIP. Was das SIP-Protokoll genau macht, wie es funktioniert und was die einzelnen Elemente des Protokolls bedeuten, erfahren Sie in diesem Artikel.

1. Was ist ein SIP-Protokoll?

1. Was ist ein SIP-Protokoll?

Die AbkĂŒrzung SIP steht fĂŒr Session Initiation Protocol. Im Deutschen spricht man von einem GesprĂ€chsprotokoll. Das SIP-Protokoll kommt in der VoIP-Telefonie zur Sprach- und Videokommunikation zum Einsatz. Dabei wird es sowohl zum Auf- und Abbau als auch zur Steuerung einer Kommunikationsverbindung zwischen zwei oder mehreren GesprĂ€chspartnern genutzt. Mithilfe dieses Netzwerkprotokolls werden Verbindungen trotz Firewalls und NAT-Grenzen (Network Address Translation) ermöglicht.

Die Nutzung des SIP-Protokolls ermöglicht unter anderem:

  • IP-Telefonie
  • Webkonferenzen
  • Instant-Messaging
  • Sprach- & Videokommunikation
2. Wie funktioniert das SIP-Protokoll?

2. Wie funktioniert das SIP-Protokoll?

Die AblÀufe eines SIP-Protokolls Àhneln der Funktionsweise der Telefonie in ihren ersten Entwicklungsstufen. Damals wurde die Verbindung zwischen den GesprÀchspartnern manuell durch einen Telefonisten hergestellt und wieder beendet.

In der VoIP-Telefonie ĂŒbernimmt diese Rolle das SIP-Protokoll. Es beruht auf einer Client-Server-Architektur, innerhalb derer es fĂŒr die Signalisierung zustĂ€ndig ist. Das textbasierte SIP-Protokoll funktioniert Ă€hnlich wie das Hypertext Transfer Protocol (HTTP). Dies birgt einen Vorteil: Das SIP-Protokoll lĂ€sst sich durch seine Ähnlichkeit mit HTTP in GerĂ€te, Webanwendungen oder Browser mit integrieren. Dadurch wird das Telefonieren via SIP am Smartphone möglich.

Der SIP-Trunk als Schnittstelle bzw. zentraler Anschluss ermöglicht die Erreichbarkeit von mehreren Rufnummern aus einem einzigen Benutzerkonto. Zur Identifizierung der User wird mit URIs (Universal Resource Identifiyers) gearbeitet.

Um ein VoIP-GesprĂ€ch aufzubauen, wird im SIP-Protokoll zunĂ€chst eine SIP-Anfrage bzw. SIP-Request versendet. Kommt eine entsprechende SIP-Antwort bzw. SIP-Response zurĂŒck, kann eine Verbindung hergestellt werden.

FĂŒr die Übertragung von Sprache und Video in der VoIP-Telefonie ist das RTP-Protokoll (Real-Time Transport Protocol) zustĂ€ndig. VerschlĂŒsselte Daten werden via SRTP-Protokoll (Secure Real-Time Transport Protocol) ĂŒbertragen. Das „sichere Echtzeit Protokoll“ enthĂ€lt die Informationen ĂŒber IP-Adressen sowie Ports und bestimmt die entsprechenden Codecs (Koderierer und Dekodierer).

3. Elemente des SIP-Protokolls

3. Elemente des SIP-Protokolls

Innerhalb der SIP-Systemarchitektur unterscheidet man zwischen folgenden Elementen:

  • User Agent
  • Registrar Server
  • Proxy Server
  • Redirect Server
  • Session Border Controller
  • Gateway
  • B2BUA

Wie der Name schon sagt, stellt der User Agent die Schnittstelle zum jeweiligen Nutzer dar. Er dient der Darstellung von Inhalten und der Entgegennahme von Befehlen. Die zentrale Schnittstelle wird durch den Registrar Server bereitgestellt. Er registriert und verarbeitet Anfragen an die Domain.

Unter dem Proxy Server versteht man die Kommunikationsschnittstelle des Netzwerks. Der Router („Vermittler“) nimmt Anfragen entgegen und stellt eine Verbindung mit dem richtigen Benutzer her. Der Redirect Server dient der Entlastung des Proxy Servers, indem er die Routing-Informationen an den User Agent weitergibt.

Um Rechnernetze mit verschiedenen Sicherheitsanforderungen sicher zu koppeln, wird der Session Border Controller als Netzwerkkomponente verwendet. Als Knotenpunkt zwischen SIP-Server und User Agent erfolgt damit unter anderem die NetzwerkadressĂŒbersetzung (Network Address Translation NAT).

Das Gateway verbindet als Schnittstelle das SIP-Netz mit anderen Netzen. Die Verbindung funktioniert auch zwischen unterschiedlichen Technologien bzw. Protokollen, beispielsweise zwischen SIP und dem klassischen Telefonnetz.

Die AbkĂŒrzung B2BUA steht fĂŒr Back-to-Back-User-Agent („RĂŒcken an RĂŒcken User Agent“) und fungiert als Middleware nicht nur im SIP- sondern auch im RTP-Datenstrom. Er ermöglicht das Management von GesprĂ€chen, z. B. die Weiterleitung, die Kopplung verschiedener Netzwerke oder das Ausblenden der Netzwerkstruktur.

4. SIP-Anfragen bzw. SIP-Requests

4. SIP-Anfragen bzw. SIP-Requests

Bevor zwischen zwei GerĂ€ten eine VoIP-Verbindung aufgebaut werden kann, sendet das IP-GerĂ€t des Anrufers eine SIP-Anfrage an den/die gewĂŒnschten GesprĂ€chspartner. Man spricht auch von einem SIP-Request.

Es gibt sechs elementare SIP-Anfragecodes
REGISTER: Anmeldung des EndgerÀts beim VoIP-Service-Anbieter.
INVITE: Anfrage an einen Server eine Sitzung (Session) aufzubauen.
ACK: BestÀtigung einer empfangenen Anfrage oder Antwort.
CANCEL: Abbruch einer begonnenen Anfrage.
BYE: Beendigung einer bestehenden Sitzung.
OPTIONS: Ermöglicht EndgerÀten die FÀhigkeiten anderer beteiligter GerÀte anzufragen.
Zur Erweiterung der Möglichkeiten existieren acht weitere Codes
SUBSCRIBE: Einleitung der Überwachung eines EndgerĂ€tes auf ein bestimmtes Ereignis oder einen Zustand.
NOTIFY: Meldung eines bestimmten Ereignisses oder eines Zustandes, als Antwort auf SUBSCRIBE oder REFER.
REFER: Einleitung einer VerbindungsĂŒbergabe an einen dritten Teilnehmer.
MESSAGE: Übermittlung einer Textnachricht an ein EndgerĂ€t.
PRACK: Antwort auf einen 1xx-SIP-Status-Code.
UPDATE: VerÀnderung von Parametern noch wÀhrend der Verbindungsaufbauphase.
INFO: Übermittlung von Steuer- und Kontrollinformationen, die nicht direkt die SIP-Sitzung betreffen.
PUBLISH Unaufgeforderte Übermittlung von ZustĂ€nden und Ereignisinformationen durch EndgerĂ€te.

(Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Anfragen )

5. SIP Status Codes: SIP-Antworten bzw. SIP-Responses

5. SIP Status Codes: SIP-Antworten bzw. SIP-Responses

EmpfÀngt ein VoIP-Telefon bzw. EndgerÀt eine SIP-Anfrage, antwortet es mit einer SIP-Response. Es gibt verschiedene Formen von SIP-Antworten.

SIP Status Codes 1xx: Provisional

FĂŒhrt der Server zur Bearbeitung der Anfrage noch weitere Aktionen durch, erhĂ€lt der Sender vorlĂ€ufige Antworten.

Code Nachricht Bedeutung
100 Trying Es wird versucht, den Anruf zu vermitteln.
180 Ringing Es wird versucht, beim Angerufenen zu klingeln.
181 Call Is Being Forwarded Der Anruf wird weitergeleitet.
182 Queued Der Anruf ist in einer Warteschleife.
183 Session Progress Die Verbindung wird aufgebaut.
199 Early Dialog Terminated Der Dialog wurde wÀhrend des Verbindungsaufbaus beendet.

(Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Status-Codes )

SIP Status Codes 2xx: Successful

War die SIP-Anfrage erfolgreich, empfÀngt man folgende Codes:

Code Nachricht Bedeutung
200 OK Die Anfrage wurde erfolgreich bearbeitet und das Ergebnis der Anfrage wird in der Antwort ĂŒbertragen.
202 Accepted Die Anfrage wurde akzeptiert, wird aber zu einem spĂ€teren Zeitpunkt ausgefĂŒhrt.
204 No Notification Die Anfrage wurde erfolgreich durchgefĂŒhrt, die entsprechende Antwort wird aber bewusst nicht gesendet.

(Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Status-Codes )

SIP Status Codes 3xx: Redirection

Besitzt die angerufene Person eine neue Adresse oder nutzt andere Dienste, findet eine Weiterleitung statt.

Code Nachricht Bedeutung
300 Multiple Choices FĂŒr die Gegenstelle gibt es keine eindeutige Zieladresse.
301 Moved Permanently Der Angerufene ist dauerhaft woanders erreichbar.
302 Moved Temporarily Der Angerufene ist vorĂŒbergehend woanders erreichbar.
305 Use Proxy Es muss der angegebene Proxy verwendet werden.
380 Alternative Service Der Anruf war nicht erfolgreich, es sind aber alternative Dienste verfĂŒgbar.

(Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Status-Codes )

SIP Status Codes 4xx: Request Failures

Wenn eine SIP-Anfrage nicht bearbeitet werden konnte, erhĂ€lt der Sender eine negative RĂŒckmeldung.

Code Nachricht Bedeutung
400 Bad Request Die SIP-Anfrage ist fehlerhaft.
401 Unauthorized Die Autorisierung ist fehlerhaft.
402 Payment required Noch nicht definiert; vorgesehen fĂŒr „nicht genĂŒgend Guthaben vorhanden“.
403 Forbidden Die Anfrage war unzulÀssig.
404 Not Found Die Gegenstelle wurde nicht gefunden oder existiert nicht.
405 Method Not Allowed Die Methode der Anfrage (zum Beispiel SUBSCRIBE oder NOTIFY) ist nicht erlaubt.
406 Not Acceptable Die Optionen des Anrufs sind nicht gestattet.
407 Proxy Authentication Required Der Proxy benötigt eine Autorisierung.
408 Request Timeout Timeout – Die Gegenstelle antwortet nicht innerhalb einer angemessenen Zeit.
410 Gone Der gewĂŒnschte Teilnehmer ist unter der angegebenen Adresse nicht mehr erreichbar.
412 Conditional Request Failed Die Voraussetzungen fĂŒr die Bearbeitung der Anfrage konnten nicht hergestellt werden, weil eine dafĂŒr erforderliche Anfrage fehlschlug.
413 Request Entity Too Large Der Nachrichteninhalt ist zu groß.
414 Request URI Too Long Die SIP-Adresse (URI) der Anfrage ist zu lang.
415 Unsupported Media Type Der Codec wird nicht unterstĂŒtzt.
416 Unsupported URI Scheme Die SIP-Adresse ist fehlerhaft.
417 Unknown Resource-Priority Die Anfrage soll mit einer bestimmten PrioritÀt behandelt werden, der Server versteht die Angaben dazu aber nicht.
420 Bad Extension Der Server versteht eine Protokollerweiterung nicht.
421 Extension Required Der Server benötigt eine Protokollerweiterung.
422 Session Interval Too Small Der Session-Expires-Wert ist zu niedrig fĂŒr den Server.
423 Interval Too Brief Der Wert der gewĂŒnschten Bearbeitungsdauer ist zu kurz.
428 Use Identity Header Der Identity-Header fehlt.
429 Provide Referrer Identity Es ist kein gĂŒltiges Referred-By-Token angegeben.
430 Flow Failed Die bestimmte Wegewahl ist gescheitert (proxyintern, Endpunkte sollten die Response wie Code 400 behandeln).
433 Anonymity Disallowed Der Server weigert sich, anonyme Anfragen zu bearbeiten.
436 Bad Identity-Info Die im Identity-Header enthaltene SIP-Adresse ist ungĂŒltig, nicht erreichbar oder wird nicht unterstĂŒtzt.
437 Unsupported Certificate Der Verifier kann das Zertifikat im Identity-Header nicht ĂŒberprĂŒfen.
438 Invalid Identity Header Das Zertifikat im Identity-Header ist ungĂŒltig.
439 First Hop Lacks Outbound Support Der Registrar unterstĂŒtzt Outbound-Feature, der verwendete Proxy jedoch nicht.
440 Max-Breadth Exceeded Es können keine nebenlÀufigen *Forks* aus der Anfrage mehr abgeleitet werden.
469 Bad Info Package Unpassendes Info-Package – Übertragungsfehler, erneut senden.
470 Consent Needed Der Server hat keine Zugriffsrechte auf mindestens eine der angegebenen SIP-Adressen.
480 Temporarily Unavailable Der angerufene Teilnehmer ist zurzeit nicht erreichbar.
481 Call/Transaction Does Not Exist Diese Verbindung existiert nicht (mehr).
482 Loop Detected Es wurde eine Weiterleitungsschleife festgestellt.
483 Too Many Hops Es wurden zu viele Weiterleitungsschritte festgestellt.
484 Address Incomplete Die SIP-Adresse ist unvollstÀndig.
485 Ambiguous Die SIP-Adresse ist nicht eindeutig auflösbar.
486 Busy Here Der angerufene Teilnehmer ist belegt.
487 Request Terminated Der Anrufversuch wurde abgebrochen.
488 Not Acceptable Here UnzulÀssiger Anrufversuch.
489 Bad Event Der Server kennt das angegebene Event nicht.
491 Request Pending Eine Anfrage desselben Dialogs befindet sich noch in Bearbeitung.
493 Undecipherable Die Anfrage enthĂ€lt einen verschlĂŒsselten MIME-Body, den der EmpfĂ€nger nicht entschlĂŒsseln kann.
494 Security Agreement Required Die Anfrage verlangt ein Security Agreement, enthĂ€lt aber keinen vom Server unterstĂŒtzten Sicherheitsmechanismus.

(Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Status-Codes )

SIP Status Codes 5xx: Server Failure

Wenn ein Server nicht in der Lage war, die Anfrage zu bearbeiten, sendet er Server Failure-Codes.

Code Nachricht Bedeutung
500 Server Internal Error Interner Server-Fehler.
501 Not Implemented Der Server unterstĂŒtzt die SIP-Anfrage nicht.
502 Bad Gateway Das Gateway in der SIP-Anfrage ist fehlerhaft.
503 Service Unavailable Der SIP-Dienst des Servers ist vorĂŒbergehend nicht verfĂŒgbar.
504 Server Time-out Der Server kann einen anderen Server nicht in einer angemessenen Zeit erreichen.
505 Version Not Supported Die SIP-Protokollversion wird vom Server nicht unterstĂŒtzt.
513 Message Too Large Die SIP-Nachricht ist zu groß fĂŒr UDP; es muss TCP verwendet werden.
580 Precondition Failure Der Server kann oder will die Voraussetzungen fĂŒr die Bearbeitung der Anfrage nicht erfĂŒllen.

(Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Status-Codes )

SIP Status Codes 6xx: Global Failure

Wenn die Verbindung wegen anderer GrĂŒnde nicht zustande kommt, liegt ein globaler Fehler vor.

Code Nachricht Bedeutung
600 Busy Everywhere Alle EndgerÀte des angerufenen Teilnehmers sind belegt.
603 Declined Der angerufene Teilnehmer hat den Anrufversuch abgelehnt.
604 Does Not Exist Anywhere Der angerufene Teilnehmer existiert nicht mehr.
606 Not Acceptable Das EndgerÀt des angerufenen Teilnehmers lehnt die SIP-Anfrage als unzulÀssig ab.

(Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Status-Codes )

SIP Status Codes 7xx: SIP-Stack-Fehlercodes

Wenn die angerufene Person auflegt, sendet der SIP-Stack oder Protokollstapel einen Fehlercode:

Code Nachricht Bedeutung
701 Party Hangs Up Der Angerufene hat aufgelegt.

(Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Status-Codes )

6. Ist das SIP-Protokoll sicher?

6. Ist das SIP-Protokoll sicher?

Zur sicheren DatenĂŒbertragung wird ein SIPS genutzt.

Die Tatsache, dass das SIP-Protokoll auf einem offenen Standard mit weiter Verbreitung basiert, ist einer der Pluspunkte dieses Netzwerkprotokolls. Die simple Architektur des Session Initiation Protocols birgt jedoch SicherheitslĂŒcken. Die Informationspakete werden im SIP-Protokoll unverschlĂŒsselt ĂŒbertragen. Dadurch wird das Mitlesen von privaten Informationen ĂŒber die Verbindung möglich.

Um dieses Datenleck zu schließen wurde das verschlĂŒsselte SIPS-Protokoll (Session Initiation Protocol Secure) entwickelt. Dabei werden die Datenströme beim Aufbau der Verbindung sowie zur DatenĂŒbertragung voneinander getrennt und unabhĂ€ngig verschlĂŒsselt. Zur VerschlĂŒsselung der GesprĂ€chsdaten kommt das Secure Real-Time Transport Protocol (SRTP) zum Einsatz.

7. Was ist der Unterschied zwischen SIP und VoIP?

7. Was ist der Unterschied zwischen SIP und VoIP?

Die Begriffe SIP und VoIP-Protokoll werden hĂ€ufig synonym verwendet, was so jedoch nicht richtig ist, da es sich um zwei unterschiedliche Protokolle handelt, die beim Telefonieren ĂŒber das Internet zum Einsatz kommen. WĂ€hrend SIP fĂŒr den Verbindungsauf- und Abbau von Kommunikationssitzungen zustĂ€ndig ist (wörtlich ĂŒbersetzt „FĂŒr die Initiierung einer Sitzung“), ĂŒbernimmt VoIP nach dem Verbindungsaufbau den Transfer der Datenpakete zwischen den GesprĂ€chspartnern.

Auch wenn sich SIP in Deutschland vor allem im GeschĂ€ftsbereich durchgesetzt hat, so ist es theoretisch möglich, VoIP ohne das SIP-Protokoll zu nutzen. Als Alternative kann zum Beispiel auch das Protokoll H.323 verwendet werden, das sowohl VoIP unterstĂŒtzt, als auch fĂŒr die Kommunikation in öffentlichen Telefonnetzen und ISDN genutzt wird.

Ähnliche Artikel