Session Initiation Protocol

Session Initiation Protocol (SIP) ist ein Protokoll der Verarbeitungsschicht. Mit Hilfe des Protokolls lassen sich Multimediaverbindungen aufbauen, verändern und terminieren. Unter Multimediaverbindung sind z.B. Telefonverbindungen oder -konferenzen zu verstehen. Die Multimediaverbindungen an sich werden verwenden nicht SIP, sondern werden mit Protokollen wie RTP oder RTSP betrieben.

SIP bietet Möglichkeiten für

• User location - Auffinden des Systems, das für die Verbindung genutzt wird,
• User availablility - Feststellen, ob ein Benutzer eine Verbindung annehmen will,
• User capabilities - Feststellen, welche Medienarten und Verbindungsparameter genutzt werden können,
• Session setup - "Klingeln", Herstellen der Verbindung zwischen den Beteiligten,
• Session management - Ändern von Verbindungsparametern, Beenden von Verbindungen.


SIP ist ein Protokoll ähnlich wie HTTP und basiert auf dem Austausch von Textnachrichten. Es gibt zwei Arten von Nachrichten: Requests und Responses. Clients senden Requests an Server und erhalten für jeden Request danach eventuell mehrere vorläufige Responses, die den Fortgang der Verarbeitung dokumentieren, und eine endgültige Response. Ein typisches Endgerät agiert sowohl als Client als auch als Server.


Ein Request besteht aus:

• der Request Zeile, die die Methode (Register, Invite, Ack, Cancel, Bye, Options), den URI und die Protokollversion enthält und
• mehreren Header Zeilen (u.a. To, From, CSeq, Call-ID, Max-Forwards, Via),

gefolgt von einer Leerzeile und den optionalen Nutzdaten.


Eine Response besteht aus:

• der Status Zeile, die die Protokollversion, den Statuscode und einen Statustext enthält, und
• mehreren Header Zeilen,

gefolgt von einer Leerzeile und den optionalen Nutzdaten.


Die Methoden haben folgende Bedeutungen:

• Register, die URI, unter der ein Nutzer zu erreichen ist, wird dem Registrar bekannt gemacht,
• Invite, der Client möchte eine Verbindung öffnen,
• Cancel, der Client bricht den Prozess des Verbindungsaufbaus ab,
• Ack, der Client bestätigt den erfolgreichen Aufbau einer Verbindung,
• Bye, der Client beendet eine Verbindung,
• Options, fragt die Möglichkeiten eines Endgerätes ab (als Default wird in der Response eine SDP Nachricht erwartet)


Quellen

http://www.ietf.org/rfc/rfc3261.txt
http://www.ietf.org/rfc/rfc3264.txt


Anlage

Quelle

Korolev Alexandr
SIP call flow between UA, Redirect Server, Proxy and UA
Eigenes Werk
Lizenziert unter CC-BY-SA 4.0 über Wikimedia Commons

https://commons.wikimedia.org/wiki/File:SIP_call_flow_between_UA,_Redirect_Server,_Proxy_and_UA.png#/media/File:SIP_call_flow_between_UA,_Redirect_Server,_Proxy_and_UA.png