SIP stellt mehrere Dialoge zur Verfügung um eine Sitzung zwischen zwei Teilnehmern (User Agent) aufzubauen. Die Dialoge bestehen aus einer Anforderung (Request) und einer Antwort (Response).
Requests werden vom User Agent Client erzeugt und an den User Agent Server gesendet. Responses werden vom User Agent Server erzeugt und an dem User Agent Client gesendet.
SIP-Requests (Anfragen)
SIP kennt folgende 6 Anfragen (Request).
Anforderung (Request)
Beschreibung
Invite
Die Gegenstelle wird zu einer Sitzung eingeladen. Dieser Vorgang entspricht der Signalisierung beim Angerufenen, dessen Telefon klingelt. Invite ist der wichtigste Request. Mit ihm wird die Verbindung gestartet.
Ack (nowledge)
Mit diesem Request wird die Verbindung bestätigt.
Bye
Dieser Request wird ausgeführt, wenn einer der beiden Gesprächspartner die Verbindung beendet.
Cancel
Dieser Request wird ausgeführt, wenn die Verbindung nach einer gewissen Zeit abgebrochen wird.
Options
Mit diesem Request werden Zusatzinformationen des Anwenders übermittelt.
Register
Mit diesem Request werden die Standort-Informationen des Client an den Server übergeben, damit dieser den Client bei einem Anruf finden kann.
Beispiel für ein INVITE-Request
INVITE sip:my@sip.server.com SIP/2.0
VIA:SIP/2.0/UDP 192.168.0.1
Call-ID:300f0gd090fgsa0f9da0gf0g@sip.server.com
From:<sip:my@sip.server.com>
To: Name <name@sip.server.com>
Call-ID:300f0gd090fgsa0f9da0gf0g@sip.server.com
CSeq:1 INVITE
SIP-Responses (Rückmeldungen)
Kennung
Bedeutung
1
Anruf erfolgt
100
Verbindung wird hergestellt
180
Verbindung etabliert, warten auf Gegenseite
181
Der Anruf wird zu einem anderen Bestimmungsort umgeleitet.
182
Die Gegenstelle ist zur zeit nicht verfügbar, weist den Anrufer aber nicht zurück, sondern stellt ihn in eine Warteschleife.
200
OK
300
Die Rufnummer führt zu mehreren Zielen. Es folgt eine Auswahlmöglichkeit.
305
Das Anrufziel ist nur über einen Proxy-Server zu erreichen.
400
SIP-Syntaxfehler bei der Verbindungsaufnahme.
404
Die Gegenstell teilt mit, das2 das Anrufziel nicht existiert.
485
Das Anrufziel ist vieldeutig. Der SIP-Server kann mögliche Alternativen nennen.
500
Interner Server-Fehler, die Bearbeitung wurde abgebrochen.
501
Das SIP-Gateway unterstützt die angeforderte Aktion nicht.
504
Timeout beim Warten auf einen anderen Server überschritten.
600
Besetzt.
603
Die Gegenstelle weist den Anruf ab.
604
Die Gegenstelle existiert nicht im angegebenen SIP-Netz.
605
Der Session-Aufbau wurde ohne weitere Begründung nicht akzeptiert.
Prinzip des Verbindungsaufbaus
In einer SIP-Verbindung wird der Anrufer als User Agent Client (UAC) und der Angerufene als User Agent Server (UAS) bezeichnet.
Die Sitzungsabläufe können direkt zwischen den User Agents ablaufen. Allerdings ist nicht immer gewährleistet, dass ein User Agent erreichbar ist und immer dieselbe IP-Adresse hat. Daher meldet sich ein User Agent in der Regel an einem SIP-Server (Registrar) an, der als Proxy fungiert. Der SIP-Server registriert die IP-Adresse. Wenn ein Anruf auf die SIP-Adresse des SIP-Clients erfolgt, wird die SIP-Adresse aufgelöst und ermittelt, wo der Client erreichbar ist. Anschließend wird der Anruf und alle anderen Anfragen an den Client weitergeleitet.
SIP bedient sich beim Rufaufbau eines SIP-Proxys. Um erreichbar zu sein, muss sich jeder SIP-Teilnehmer bei einem SIP-Registrat anmelden. Meistens sind der SIP-Proxy und der SIP-Registrar der gleiche Server. Der SIP-Registrar hat eine ähnliche Funktion, wie der DNS-Server. Der SIP-Proxy greift darauf zu, um den Standort des gewählten Teilnehmers herauszufinden.
Verbindungsaufbau bei einer Direkt-Verbindung
Der UAC leitet den Verbindungswunsch durch ein INVITE ein. Der UAS bestätigt dem UAC den Verbindungswunsch mit einem "Trying". Mit "Ringing" wird dem UAC bestätigt, dass dem Angerufenen der Verbindungswunsch signalisiert wird. Ist der Gesprächspartner belegt, dann schickt der UAS dem UAC ein "Busy here".
Nimmt der gewünschte Gesprächspartner den Verbindungswunsch an, dann schickt der UAS dem UAC ein "OK". In diesem Response werden auch die SDP-Verbindungsparameter mitgeschickt. Der UAC bestätigt dem UAS den Verbindungsaufbau und die Verbindungsparameter mit einem "ACK". Das Gespräch ist aufgebaut.
Wenn einer der beiden Teilnehmer das Gespräch beendet, schickt der User Agent ein "BYE" und bekommt das von der Gegenseite mit einem "OK" bestätigt.
Verbindungsaufbau über den Proxy-Server
Der UAC leitet seinen Verbindungswunsch mit einem INVITE an seinen Proxy Server ein. Zur Bestätigung bekommt der UAC ein "Trying" zurück.
Der Server befragt seinen "Location Service" nach der IP-Adresse des gewünschten Teilnehmers. Er bekommt die Adresse des Teilnehmers zurück. Wenn es für den UAS mehrere IP-Adressen gibt, dann bekommt jede IP-Adresse eine Verbindungsanfrage. Demzufolge signalisiert jeder UAS den Verbindungswunsch. Im einfachsten Fall klingeln die SIP-Telefone.
Damit der Proxy Server die IP-Adresse des UAS aus einem fremden Netz bekommen kann, muss der "Location Service" mit möglichst vielen Datenbanken anderer SIP-Provider zusammengeschaltet sein.
Der Proxy Server leitet die Verbindungsanfrage an den UAS weiter. Dabei spielt es keine Rolle, ob der UAS im gleichen Domain-Bereich oder an einer anderen Domain hängt. Der UAS schickt dem Proxy Server darauf ein "Trying" zur Bestätigung. Wenn es beim UAS klingelt folgt ein "Ringing", das der Proxy Server an den UAC weiterreicht.
Nimmt der Teilnehmer beim UAS ab, dann schickt er ein "OK" an den Proxy Server, der auch das an den UAC weiterreicht. In der OK-Meldung sind zusätzlich alle SDP-Verbindungsparameter enthalten. Der UAC bestätigt dem UAS den Verbindungsaufbau und die Verbindungsparameter mit einem "ACK". Das Gespräch ist aufgebaut.
Wenn einer der beiden Teilnehmer das Gespräch beendet, schickt der User Agent ein "BYE" und bekommt das von der Gegenseite mit einem "OK" bestätigt.
Verbindungsaufbau über einen Redirect Server
Der UAC leitet seinen Verbindungswunsch mit einem INVITE an seinen Redirect Server ein. Der Server befragt seinen "Location Service" nach der IP-Adresse des gewünschten Teilnehmers. Er bekommt die Adresse des Teilnehmers zurückgeliefert. Der Redirect Server meldet dem UAC die Adresse des gewünschten Teilnehmers. Der UAC bestätigt den Erhalt der Adresse mit einem "ACK".
Dann kontaktiert der UAC den UAS direkt mit einem "INVITE". Danach verläuft der weitere Verbindungsaufbau, wie bei einer Direktverbindung.
Findest Du Elektronik-Kompendium.de gut? Hat Dir diese Webseite auch schon weitergeholfen? Willst Du uns dabei unterstützen noch bekannter und besser zu werden? Erfahre mehr über die Möglichkeiten. Jeder kann etwas tun!
Kundenmeinung: Die Kommunikationstechnik-Fibel ist sehr informativ und verständlich. Genau das habe ich schon seit langem gesucht. Endlich mal ein Buch, das kurz und bündig die moderne Informationstechnik beleuchtet.
Kundenmeinung: Die Computertechnik-Fibel ist wirklich verständlich geschrieben, frei von Ballast und ein tolles Nachschlagewerk. Insgesamt ein sehr empfehlenswertes Buch.