BroadNet
Protokolle Mittelstufe

SIP & Voice für Messaging-Teams

Das Signalisierungsprotokoll hinter programmierbarer Sprache – SIP Grundlagen und -Methoden, SDP / RTP / SRTP Medien, ein durchgängiger Anrufablauf, SIP Trunking und der SBC sowie die Rolle VoLTE .

5 Unterricht5 Min. LesezeitStandardbasiert · selbstgesteuert
Lektion 01

SIP basics

SIP (Session Initiation Protocol, RFC 3261 ) ist das Signalisierungsprotokoll der Anwendungsschicht, das Echtzeit-Mediensitzungen über IP erstellt, ändert und beendet, meist für Sprach- und Videoübertragung. Entscheidend ist, dass SIP die Mediendaten selbst nicht überträgt: Es handelt die Sitzung aus und steuert sie, während Audio oder Video separat über RTP übertragen werden.

Das Design orientiert sich bewusst an HTTP – mit lesbaren Textnachrichten, Anfragemethoden, dreistelligen Antwortcodes und URI-Adressierung (sip:alice@example.com) – und ist daher für Teams, die bereits mit Webprotokollen vertraut sind, leicht zugänglich. Aus diesem Grund fügt sich Sprachkommunikation nahtlos in eine CPaaS-Umgebung ein: Sie ist ein weiterer API -gesteuerter Kanal mit einer vertrauten Anfrage-/Antwortstruktur.

Die Hauptakteure sind Benutzeragenten (ein UAC, der Anfragen sendet, und ein UAS, der antwortet) sowie die Infrastruktur: Registrare erfassen, wo ein Benutzer erreichbar ist, und Proxys leiten Anfragen an diese weiter. Für ein Messaging-Team ist Sprache meist der OTP Fallback-Kanal und der Kanal für dringende Benachrichtigungen – daher bedeutet das Verständnis SIP , zu verstehen, wie dieser Kanal tatsächlich funktioniert.

Lektion 02

Methoden und Antwortcodes

SIP definiert eine kleine Anzahl von Anfragemethoden. INVITE startet oder ändert eine Sitzung, ACK bestätigt eine endgültige Antwort auf eine INVITE und BYE beendet eine bestehende Verbindung. REGISTER teilt einem Registrar mit, wo ein Benutzer erreichbar ist, CANCEL bricht eine ausstehende Anfrage ab und OPTIONS fragt Funktionen ab. Spätere RFCs fügen Methoden wie INFO, MESSAGE, SUBSCRIBE/NOTIFY und UPDATE hinzu.

Die Antworten spiegeln das dreistellige Schema von HTTP in sechs Klassen wider. 1xx sind vorläufige Antworten (100 Trying, 180 Ringing); 2xx sind erfolgreiche Antworten (200 OK); 3xx leiten um; 4xx sind Clientfehler (404 Not Found, 486 Busy Here, 407 Proxy Authentication Required); 5xx sind Serverfehler; und 6xx sind globale Fehler (603 Decline). Indem man zuerst die Klasse und dann den Code liest, kann man einen fehlgeschlagenen Aufruf schnell analysieren.

Die wichtigste Besonderheit, die man sich merken sollte, ist der Drei-Wege-Handschlag für den Verbindungsaufbau: INVITE , dann eine 200 OK-Antwort und anschließend eine separate ACK-Antwort. Anders als bei den meisten Anfrage-/Antwortprotokollen ist die ACK-Antwort für ein INVITE eine eigene Transaktion. Fehlerhafte Verarbeitung dieser ACK-Antwort ist eine der häufigsten Ursachen dafür, dass Anrufe zwar klingeln, aber nie zustande kommen.

Lektion 03

SDP , RTP und SRTP

Da SIP nur Signale sendet, werden die eigentlichen Medienparameter durch SDP (Session Description Protocol, RFC 4566) beschrieben, das in SIP Nachrichtenkörpern enthalten ist. SDP gibt jede Seite die unterstützten Codecs, die IP Adresse und den Port an, über den sie Medien empfängt, sowie weitere Medienattribute.

SIP verwendet ein Angebots-/Antwortmodell (RFC 3264): Die INVITE des Anrufers enthält ein SDP Angebot mit einer Auflistung seiner Fähigkeiten, und die Antwort des Angerufenen enthält eine SDP Antwort, die die gemeinsame Teilmenge auswählt. Durch diese Aushandlung einigen sich zwei Endpunkte auf einen Codec und einen Medienpfad, bevor Audio übertragen wird.

Die ausgehandelten Mediendaten werden dann über RTP (Real-Time Transport Protocol) übertragen, welches die Audio-/Videopakete mit Sequenznummern und Zeitstempeln enthält. Parallel dazu dient RTCP der Qualitätsprüfung. Wenn die Mediendaten vertraulich sein müssen, verschlüsselt und authentifiziert SRTP (Secure RTP ) diese Pakete. Merken Sie sich Folgendes: SIP und SDP bauen die Verbindung auf, RTP und SRTP übertragen sie – zwei separate Pfade, die sogar unterschiedliche Routen im Netzwerk nehmen können.

Lektion 04

Ein Anrufablauf von Anfang bis Ende

Folgen Sie einem einfachen Anruf. Die Benutzerkontensteuerung (UAC) des Anrufers sendet INVITE (mit einem SDP Angebot) an den Angerufenen, möglicherweise über einen oder mehrere Proxys. Der Angerufene antwortet mit 100 „Verbindungsversuch“, dann mit 180 „Ringing“, während das Telefon einen Alarm ausgibt, und schließlich mit 200 „OK“, wobei die SDP Antwort übermittelt wird, sobald der Angerufene die Anfrage annimmt.

Der Anrufer antwortet mit ACK, und in diesem Moment wird die Sitzung hergestellt: RTP Medienübertragung erfolgt direkt zwischen den Endpunkten gemäß dem ausgehandelten SDP , unabhängig von den Proxys, die den Anruf aufgebaut haben. Änderungen während eines Anrufs – wie das Halten eines Anrufs, das Hinzufügen von Video oder das Wechseln von Codecs – erfolgen über eine erneute INVITE oder UPDATE-Anfrage mit einem aktualisierten SDP .

Beide Gesprächspartner beenden den Anruf mit dem Senden von BYE , worauf mit 200 OK geantwortet wird. Dadurch wird die Sitzung beendet und die Medienübertragung gestoppt. Fehler unterbrechen den Ablauf: Eine Antwort vom Typ 486 Busy Here oder 408 Request Timeout anstelle von 200 OK bedeutet, dass der Anruf die ACK-Phase nicht erreicht. Die Kenntnis dieser gesamten Sequenz macht SIP Protokolle aussagekräftig, wenn ein Anruf fehlerhaft funktioniert.

Lektion 05

SIP Trunking, SBC und VoLTE

Ein SIP Trunk ist eine SIP -basierte Verbindung zwischen einer privaten Telefonanlage (PBX) oder einer Anwendung und einem Netzbetreiber. Er ersetzt herkömmliche physische Leitungen und ermöglicht die Übertragung von Anrufen zum und vom öffentlichen Netz über IP . So wird programmatische Sprachkommunikation in großem Umfang ins öffentliche PSTN übertragen.

An der Schnittstelle befindet sich der Session Border Controller ( SBC ) – das Element, das SIP am Netzwerkrand sichert und steuert. Er übernimmt die Topologieverbergung, NAT-Traversal, Protokollinteroperabilität und -normalisierung zwischen verschiedenen SIP Dialekten, Zugangskontrolle und Ratenbegrenzung sowie häufig auch Medienverankerung und -transkodierung. Der SBC ist für SIP in etwa das, was die Signalisierungs-Firewall für SS7 / Diameter ist: der kontrollierte Prüfpunkt an der Vertrauensgrenze.

VoLTE (Voice over LTE ) ist Sprache, die als IMS Dienst über das LTE Datennetz übertragen wird. Die Anrufsteuerung erfolgt über SIP innerhalb von IMS – dasselbe Protokoll, das Sie gerade kennengelernt haben, eingebettet in die Schnittstellen Cx / HSS und Policy des Mobilfunkkerns. Das SIP , das ein Messaging-Team für programmierbare Sprache verwendet, und das SIP Protokoll zur Steuerung eines VoLTE Anrufs sind also identisch. Sie unterscheiden sich lediglich im umgebenden Netzwerk, nicht in der Signalisierung selbst.

Wichtigste Erkenntnisse
  • SIP ( RFC 3261 ) ist ein HTTP -ähnliches Protokoll, das Sitzungen signalisiert; es baut Anrufe auf, überträgt aber niemals Mediendaten.
  • Die Kernmethoden sind INVITE , ACK, BYE und REGISTER; die Antworten werden in HTTP -ähnlichen Klassen (1xx provisorisch bis 6xx global) verarbeitet.
  • SDP verhandelt Mediendaten mittels Angebot/Antwort; die vereinbarten Mediendaten fließen dann über RTP und werden bei Bedarf als SRTP verschlüsselt.
  • SIP Trunks verbinden Anwendungen mit Netzbetreibern, der SBC schützt die Netzwerkgrenze, und VoLTE ist einfach SIP Anrufsteuerung innerhalb von IMS .
Setzen Sie es in die Praxis um

Bauen Sie auf dem auf, was Sie gerade gelernt haben.

Besprechen Sie Ihren Anwendungsfall mit einem echten Ingenieur oder öffnen Sie die Entwicklerdokumentation und senden Sie eine Nachricht über die in diesem Kurs beschriebenen Wege.

Warum von BroadNet lernen?
  • Seit2003
  • Länder200+
  • Betreiberlinks1,000+