SIP Kommunikation: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „=SIP-Kommunikation= SIP ist ein Protokoll, das für den Aufbau, Betrieb und Abbau von Sprach- und Video-Verbindungen verantwortlich ist. Es arbeitet nach dem…“) |
|||
| (12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
=SIP-Kommunikation= | =SIP-Kommunikation= | ||
| + | *SIP ist ein Protokoll, das für den Aufbau, Betrieb und Abbau von Sprach- und Video-Verbindungen verantwortlich ist. | ||
| + | *Es arbeitet nach dem Client-Server-Prinzip und ermöglicht den Aufbau von Sitzungen zwischen zwei Teilnehmern, den User Agents. | ||
| + | *Die SIP-Kommunikation basiert auf dem Austausch von Dialogen, die aus Anfragen (Requests) und Antworten (Responses) bestehen. | ||
| + | *Der User Agent Client erzeugt und sendet Requests an den User Agent Server, während der User Agent Server Responses erzeugt und an den User Agent Client sendet. | ||
| + | *Die Dialoge in der SIP-Kommunikation ermöglichen den Ablauf einer Sitzung und den Austausch von Informationen zwischen den Teilnehmern. | ||
| + | *Sie dienen dem Aufbau, der Steuerung und dem Abbau der Verbindungen. | ||
| + | *Die Kommunikation erfolgt durch den Austausch von SIP-Nachrichten, die in den Requests und Responses enthalten sind. | ||
| + | *Diese Nachrichten enthalten Informationen wie die gewünschte Aktion, Adressen, Parameter und Zustandsinformationen. | ||
| + | *SIP ermöglicht eine Vielzahl von Aktionen und Funktionen, wie z.B. das Initiieren von Anrufen, das Halten und Fortsetzen von Verbindungen. | ||
| + | *Als auch das Weiterleiten von Anrufen und das Beenden von Sitzungen. | ||
| − | SIP | + | =SIP-Ablauf= |
| + | *Aufbau, Betrieb und Abbau von Sprach- und Video-Verbindungen | ||
| + | * Client-Server-Prinzip | ||
| + | * Dialoge bestehend aus Requests und Responses | ||
| + | * User Agent Client erzeugt und sendet Requests | ||
| + | * User Agent Server erzeugt und sendet Responses | ||
| + | =SIP-Requests (Anforderung)= | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Anforderung (Request) !! Beschreibung | ||
| + | |- | ||
| + | | Invite || Mit dem Invite-Request wird die Gegenstelle zu einer Sitzung eingeladen. Dieser Vorgang entspricht der Signalisierung beim Angerufenen, dessen Telefon klingelt. Der Invite-Request ist der wichtigste Request und startet die Verbindung. | ||
| + | |- | ||
| + | | Acknowledge (Ack) || Mit dem Acknowledge-Request wird die Verbindung bestätigt. | ||
| + | |- | ||
| + | | Bye || Der Bye-Request wird ausgeführt, wenn einer der beiden Gesprächspartner die Verbindung beendet. | ||
| + | |- | ||
| + | | Cancel || Der Cancel-Request wird ausgeführt, wenn die Verbindung nach einer gewissen Zeit abgebrochen wird. | ||
| + | |- | ||
| + | | Options || Der Options-Request wird verwendet, um Zusatzinformationen des Anwenders zu übermitteln. | ||
| + | |- | ||
| + | | Register || Der Register-Request wird verwendet, um die Standortinformationen des Clients an den Server zu übergeben, damit dieser den Client bei einem Anruf finden kann. | ||
| + | |} | ||
| + | =SIP-Responses (Rückmeldungen)= | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Kennung !! Bedeutung | ||
| + | |- | ||
| + | | 1 || Anruf wird ausgeführt | ||
| + | |- | ||
| + | | 100 || Verbindungsaufbau im Gange | ||
| + | |- | ||
| + | | 180 || Verbindung hergestellt, warten auf Antwort von der Gegenseite | ||
| + | |- | ||
| + | | 181 || Der Anruf wird zu einem anderen Ziel umgeleitet. | ||
| + | |- | ||
| + | | 182 || Die Gegenstelle ist vorübergehend nicht verfügbar, der Anrufer wird jedoch nicht abgewiesen, sondern in eine Warteschleife gestellt. | ||
| + | |- | ||
| + | | 200 || OK | ||
| + | |- | ||
| + | | 300 || Die Rufnummer führt zu mehreren Zielen. Es folgt eine Auswahlmöglichkeit. | ||
| + | |- | ||
| + | | 305 || Das Anrufziel kann nur über einen Proxy-Server erreicht werden. | ||
| + | |- | ||
| + | | 400 || SIP-Syntaxfehler beim Verbindungsaufbau. | ||
| + | |- | ||
| + | | 404 || Das Anrufziel existiert nicht. | ||
| + | |- | ||
| + | | 485 || Das Anrufziel ist mehrdeutig. Der SIP-Server kann mögliche Alternativen nennen. | ||
| + | |- | ||
| + | | 500 || Interner Serverfehler, die Bearbeitung wurde abgebrochen. | ||
| + | |- | ||
| + | | 501 || Die angeforderte Aktion wird vom SIP-Gateway nicht unterstützt. | ||
| + | |- | ||
| + | | 504 || Timeout beim Warten auf einen anderen Server überschritten. | ||
| + | |- | ||
| + | | 600 || Besetzt. | ||
| + | |- | ||
| + | | 603 || Die Gegenstelle weist den Anruf ab. | ||
| + | |- | ||
| + | | 604 || Das Anrufziel existiert nicht im angegebenen SIP-Netz. | ||
| + | |- | ||
| + | | 605 || Der Session-Aufbau wurde ohne weitere Begründung nicht akzeptiert. | ||
| + | |} | ||
| + | =Verbindungsaufbau Prinzip= | ||
| + | * In einer SIP-Verbindung werden der Anrufer und der Angerufene als User Agent Client (UAC) bzw. User Agent Server (UAS) bezeichnet. Diese User Agents sind Endgeräte oder Anwendungen, die SIP verwenden, um Kommunikationssitzungen aufzubauen, zu steuern und zu beenden. | ||
| − | + | * Um sicherzustellen, dass ein User Agent erreichbar ist und immer dieselbe IP-Adresse hat, meldet sich dieser in der Regel bei einem SIP-Server (Registrar) an, der als Proxy fungiert. Der User Agent sendet eine Registrierungsanfrage an den Registrar und übermittelt dabei seine SIP-Adresse und die aktuelle IP-Adresse, unter der er erreichbar ist. Der Registrar speichert diese Informationen für die spätere Weiterleitung von Anrufen und anderen SIP-Anfragen. | |
| − | + | * Wenn ein Anruf auf die SIP-Adresse des SIP-Clients erfolgt, wird die SIP-Adresse aufgelöst und ermittelt, wo der Client erreichbar ist. Der SIP-Server, der als Proxy fungiert, greift auf die Informationen des Registrars zu und leitet den Anruf an die richtige IP-Adresse des User Agents weiter. Dies ermöglicht eine effiziente Zustellung von Anrufen und anderen SIP-Nachrichten. | |
| − | + | * Der SIP-Proxy übernimmt eine wichtige Rolle im Rufaufbau. Er empfängt den Rufaufbau von einem User Agent und leitet ihn an den gewünschten Ziel-User-Agent weiter. Dabei kann der Proxy weitere Funktionen erfüllen, wie z.B. die Verwaltung von Authentifizierung, Routingentscheidungen, Lastverteilung und Medienumwandlung. | |
| − | SIP | + | * Jeder SIP-Teilnehmer muss sich bei einem SIP-Registrar anmelden, der oft auch als SIP-Proxy fungiert. Der SIP-Registrar hat eine ähnliche Funktion wie ein DNS-Server und hilft dabei, den Standort des Teilnehmers zu ermitteln. Beim Anmeldevorgang sendet der Teilnehmer seine SIP-Adresse und IP-Adresse an den Registrar, der diese Informationen speichert und bei Bedarf zur Weiterleitung von Anrufen verwendet. |
| − | + | * Durch die Verwendung von SIP-Proxy-Servern und -Registraren wird die Skalierbarkeit des SIP-Netzwerks verbessert. Es können mehrere Proxy-Server und Registrare eingesetzt werden, um den Anforderungen des Netzwerks gerecht zu werden und eine effiziente Kommunikation sicherzustellen. | |
| − | *SIP-Kommunikation | + | * SIP-Server und -Proxy-Server können auch in einem Netzwerk hierarchisch organisiert sein, wobei sich Proxy-Server auf verschiedenen Ebenen befinden. Dies ermöglicht die effiziente Verwaltung von Anrufen und die Gewährleistung einer reibungslosen Kommunikation, auch bei umfangreichen SIP-Netzwerken. |
| − | - | + | |
| − | - | + | * SIP setzt auf dem Session Description Protocol (SDP) auf, um die Parameter für die Medienübertragung, wie z.B. Audiocodecs, zu übermitteln. Dies ermöglicht die Verhandlung und Festlegung der unterstützten Medienfähigkeiten zwischen den beteiligten User Agents. |
| − | - | + | |
| − | - | + | * SIP ist ein textbasiertes Protokoll, bei dem die Kommunikation durch das Senden und Empfangen von SIP-Nachrichten erfolgt. Die Nachrichten enthalten Informationen wie den Typ der Anfrage oder Antwort (Request/Response), die SIP-Adresse des Absenders und Empfängers, sowie optionale Header und den eigentlichen Inhalt der Nachricht. |
| − | - | + | |
| − | - | + | * Durch die Verwendung von SIP können verschiedene Kommunikationsdienste wie Sprachanrufe, Videokonferenzen, Instant Messaging und Präsenzinformationen in einer einheitlichen IP-Kommunikationsumgebung integriert werden. SIP ermöglicht die Interoperabilität zwischen verschiedenen Endgeräten und Plattformen, unabhängig von Hersteller oder Anbieter. |
| − | - | + | =Direkter Verbindungsaufbau= |
| − | - | + | {{#drawio:sip-1}} |
| + | *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, schickt der UAS dem UAC ein "Busy here". | ||
| + | *Nimmt der gewünschte Gesprächspartner den Verbindungswunsch an, schickt der UAS dem UAC ein "OK" und übermittelt die SDP-Verbindungsparameter. | ||
| + | *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 mit einem Proxy-Server= | ||
| + | {{#drawio:sip-2}} | ||
| + | == Ablauf der Verbindungsherstellung == | ||
| + | * Der UAC leitet seinen Verbindungswunsch mit einem INVITE an seinen Proxy-Server ein. Zur Bestätigung bekommt der UAC ein "Trying" zurück. | ||
| + | * Der Proxy-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. | ||
| + | |||
| + | == Verbindungsaufbau == | ||
| + | |||
| + | * 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. | ||
| + | |||
| + | == Beenden des Gesprächs == | ||
| + | |||
| + | * 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. | ||
Aktuelle Version vom 14. Juni 2023, 14:45 Uhr
SIP-Kommunikation
- SIP ist ein Protokoll, das für den Aufbau, Betrieb und Abbau von Sprach- und Video-Verbindungen verantwortlich ist.
- Es arbeitet nach dem Client-Server-Prinzip und ermöglicht den Aufbau von Sitzungen zwischen zwei Teilnehmern, den User Agents.
- Die SIP-Kommunikation basiert auf dem Austausch von Dialogen, die aus Anfragen (Requests) und Antworten (Responses) bestehen.
- Der User Agent Client erzeugt und sendet Requests an den User Agent Server, während der User Agent Server Responses erzeugt und an den User Agent Client sendet.
- Die Dialoge in der SIP-Kommunikation ermöglichen den Ablauf einer Sitzung und den Austausch von Informationen zwischen den Teilnehmern.
- Sie dienen dem Aufbau, der Steuerung und dem Abbau der Verbindungen.
- Die Kommunikation erfolgt durch den Austausch von SIP-Nachrichten, die in den Requests und Responses enthalten sind.
- Diese Nachrichten enthalten Informationen wie die gewünschte Aktion, Adressen, Parameter und Zustandsinformationen.
- SIP ermöglicht eine Vielzahl von Aktionen und Funktionen, wie z.B. das Initiieren von Anrufen, das Halten und Fortsetzen von Verbindungen.
- Als auch das Weiterleiten von Anrufen und das Beenden von Sitzungen.
SIP-Ablauf
- Aufbau, Betrieb und Abbau von Sprach- und Video-Verbindungen
- Client-Server-Prinzip
- Dialoge bestehend aus Requests und Responses
- User Agent Client erzeugt und sendet Requests
- User Agent Server erzeugt und sendet Responses
SIP-Requests (Anforderung)
| Anforderung (Request) | Beschreibung |
|---|---|
| Invite | Mit dem Invite-Request wird die Gegenstelle zu einer Sitzung eingeladen. Dieser Vorgang entspricht der Signalisierung beim Angerufenen, dessen Telefon klingelt. Der Invite-Request ist der wichtigste Request und startet die Verbindung. |
| Acknowledge (Ack) | Mit dem Acknowledge-Request wird die Verbindung bestätigt. |
| Bye | Der Bye-Request wird ausgeführt, wenn einer der beiden Gesprächspartner die Verbindung beendet. |
| Cancel | Der Cancel-Request wird ausgeführt, wenn die Verbindung nach einer gewissen Zeit abgebrochen wird. |
| Options | Der Options-Request wird verwendet, um Zusatzinformationen des Anwenders zu übermitteln. |
| Register | Der Register-Request wird verwendet, um die Standortinformationen des Clients an den Server zu übergeben, damit dieser den Client bei einem Anruf finden kann. |
SIP-Responses (Rückmeldungen)
| Kennung | Bedeutung |
|---|---|
| 1 | Anruf wird ausgeführt |
| 100 | Verbindungsaufbau im Gange |
| 180 | Verbindung hergestellt, warten auf Antwort von der Gegenseite |
| 181 | Der Anruf wird zu einem anderen Ziel umgeleitet. |
| 182 | Die Gegenstelle ist vorübergehend nicht verfügbar, der Anrufer wird jedoch nicht abgewiesen, sondern in eine Warteschleife gestellt. |
| 200 | OK |
| 300 | Die Rufnummer führt zu mehreren Zielen. Es folgt eine Auswahlmöglichkeit. |
| 305 | Das Anrufziel kann nur über einen Proxy-Server erreicht werden. |
| 400 | SIP-Syntaxfehler beim Verbindungsaufbau. |
| 404 | Das Anrufziel existiert nicht. |
| 485 | Das Anrufziel ist mehrdeutig. Der SIP-Server kann mögliche Alternativen nennen. |
| 500 | Interner Serverfehler, die Bearbeitung wurde abgebrochen. |
| 501 | Die angeforderte Aktion wird vom SIP-Gateway nicht unterstützt. |
| 504 | Timeout beim Warten auf einen anderen Server überschritten. |
| 600 | Besetzt. |
| 603 | Die Gegenstelle weist den Anruf ab. |
| 604 | Das Anrufziel existiert nicht im angegebenen SIP-Netz. |
| 605 | Der Session-Aufbau wurde ohne weitere Begründung nicht akzeptiert. |
Verbindungsaufbau Prinzip
- In einer SIP-Verbindung werden der Anrufer und der Angerufene als User Agent Client (UAC) bzw. User Agent Server (UAS) bezeichnet. Diese User Agents sind Endgeräte oder Anwendungen, die SIP verwenden, um Kommunikationssitzungen aufzubauen, zu steuern und zu beenden.
- Um sicherzustellen, dass ein User Agent erreichbar ist und immer dieselbe IP-Adresse hat, meldet sich dieser in der Regel bei einem SIP-Server (Registrar) an, der als Proxy fungiert. Der User Agent sendet eine Registrierungsanfrage an den Registrar und übermittelt dabei seine SIP-Adresse und die aktuelle IP-Adresse, unter der er erreichbar ist. Der Registrar speichert diese Informationen für die spätere Weiterleitung von Anrufen und anderen SIP-Anfragen.
- Wenn ein Anruf auf die SIP-Adresse des SIP-Clients erfolgt, wird die SIP-Adresse aufgelöst und ermittelt, wo der Client erreichbar ist. Der SIP-Server, der als Proxy fungiert, greift auf die Informationen des Registrars zu und leitet den Anruf an die richtige IP-Adresse des User Agents weiter. Dies ermöglicht eine effiziente Zustellung von Anrufen und anderen SIP-Nachrichten.
- Der SIP-Proxy übernimmt eine wichtige Rolle im Rufaufbau. Er empfängt den Rufaufbau von einem User Agent und leitet ihn an den gewünschten Ziel-User-Agent weiter. Dabei kann der Proxy weitere Funktionen erfüllen, wie z.B. die Verwaltung von Authentifizierung, Routingentscheidungen, Lastverteilung und Medienumwandlung.
- Jeder SIP-Teilnehmer muss sich bei einem SIP-Registrar anmelden, der oft auch als SIP-Proxy fungiert. Der SIP-Registrar hat eine ähnliche Funktion wie ein DNS-Server und hilft dabei, den Standort des Teilnehmers zu ermitteln. Beim Anmeldevorgang sendet der Teilnehmer seine SIP-Adresse und IP-Adresse an den Registrar, der diese Informationen speichert und bei Bedarf zur Weiterleitung von Anrufen verwendet.
- Durch die Verwendung von SIP-Proxy-Servern und -Registraren wird die Skalierbarkeit des SIP-Netzwerks verbessert. Es können mehrere Proxy-Server und Registrare eingesetzt werden, um den Anforderungen des Netzwerks gerecht zu werden und eine effiziente Kommunikation sicherzustellen.
- SIP-Server und -Proxy-Server können auch in einem Netzwerk hierarchisch organisiert sein, wobei sich Proxy-Server auf verschiedenen Ebenen befinden. Dies ermöglicht die effiziente Verwaltung von Anrufen und die Gewährleistung einer reibungslosen Kommunikation, auch bei umfangreichen SIP-Netzwerken.
- SIP setzt auf dem Session Description Protocol (SDP) auf, um die Parameter für die Medienübertragung, wie z.B. Audiocodecs, zu übermitteln. Dies ermöglicht die Verhandlung und Festlegung der unterstützten Medienfähigkeiten zwischen den beteiligten User Agents.
- SIP ist ein textbasiertes Protokoll, bei dem die Kommunikation durch das Senden und Empfangen von SIP-Nachrichten erfolgt. Die Nachrichten enthalten Informationen wie den Typ der Anfrage oder Antwort (Request/Response), die SIP-Adresse des Absenders und Empfängers, sowie optionale Header und den eigentlichen Inhalt der Nachricht.
- Durch die Verwendung von SIP können verschiedene Kommunikationsdienste wie Sprachanrufe, Videokonferenzen, Instant Messaging und Präsenzinformationen in einer einheitlichen IP-Kommunikationsumgebung integriert werden. SIP ermöglicht die Interoperabilität zwischen verschiedenen Endgeräten und Plattformen, unabhängig von Hersteller oder Anbieter.
Direkter Verbindungsaufbau
- 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, schickt der UAS dem UAC ein "Busy here".
- Nimmt der gewünschte Gesprächspartner den Verbindungswunsch an, schickt der UAS dem UAC ein "OK" und übermittelt die SDP-Verbindungsparameter.
- 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 mit einem Proxy-Server
Ablauf der Verbindungsherstellung
- Der UAC leitet seinen Verbindungswunsch mit einem INVITE an seinen Proxy-Server ein. Zur Bestätigung bekommt der UAC ein "Trying" zurück.
- Der Proxy-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.
Verbindungsaufbau
- 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.
Beenden des Gesprächs
- 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.

