SIP - Proxies und Routing
Wie wir wissen, kann ein Proxyserver entweder zustandslos oder zustandsbehaftet sein. In diesem Kapitel werden wir mehr über Proxyserver und SIP-Routing erfahren.
Statusloser Proxyserver
Ein zustandsloser Proxyserver leitet die empfangene Nachricht einfach weiter. Diese Art von Server speichert keine Informationen über den Anruf oder die Transaktion.
- Statuslose Proxys vergessen die SIP-Anforderung, sobald sie weitergeleitet wurde.
- Die Transaktion erfolgt schnell über zustandslose Proxys.
Stateful Proxy Server
Ein Stateful-Proxy-Server verfolgt jede empfangene Anfrage und Antwort. Bei Bedarf kann es die gespeicherten Informationen in Zukunft verwenden. Es kann die Anforderung erneut übertragen, wenn es keine Antwort von der anderen Seite erhält.
Stateful-Proxys merken sich die Anfrage, nachdem sie weitergeleitet wurde, damit sie sie für die Weiterleitung verwenden können. Stateful-Proxys behalten den Transaktionsstatus bei . Transaktion impliziert Transaktionsstatus,notAnrufstatus .
Die Transaktion ist mit statusbehafteten Proxys nicht so schnell wie mit zustandslosen.
Stateful-Proxys können bei Bedarf gegabelt und erneut übertragen werden (z. B. Anrufweiterleitung besetzt).
Via und Record-Route
Rekordroute
Der Record-Route-Header wird von Proxys in Anforderungen eingefügt, die sich im Pfad nachfolgender Anforderungen für dieselbe Anruf-ID befinden möchten. Es wird dann vom Benutzeragenten verwendet, um nachfolgende Anforderungen weiterzuleiten.
Über
Über Header werden Server von Anforderungen in Anforderungen eingefügt, um Schleifen zu erkennen und Antworten dabei zu helfen, den Weg zurück zum Client zu finden. Dies ist hilfreich, damit nur Antworten ihr Ziel erreichen.
Ein UA selbst generiert und fügt beim Senden einer Anfrage eine eigene Adresse in ein Via-Header-Feld ein.
Ein Proxy, der die Anforderung weiterleitet, fügt ein Via-Headerfeld mit seiner eigenen Adresse oben in der Liste der Via-Headerfelder hinzu.
Ein Proxy oder UA, der eine Antwort auf eine Anforderung generiert, kopiert alle Via-Headerfelder aus der Anforderung der Reihe nach in die Antwort und sendet die Antwort an die im oberen Via-Headerfeld angegebene Adresse.
Ein Proxy, der eine Antwort empfängt, überprüft das obere Via-Headerfeld und stimmt mit seiner eigenen Adresse überein. Wenn es nicht übereinstimmt, wurde die Antwort verworfen.
Das obere Via-Headerfeld wird dann entfernt und die Antwort an die im nächsten Via-Headerfeld angegebene Adresse weitergeleitet.
Über Header-Felder enthalten Protokollname, Versionsnummer und Transport (SIP / 2.0 / UDP, SIP / 2.0 / TCP usw.) sowie Portnummern und Parameter wie Received, Rport, Branch.
Ein empfangenes Tag wird einem Via-Headerfeld hinzugefügt, wenn ein UA oder Proxy die Anforderung von einer anderen Adresse als der im oberen Via-Headerfeld angegebenen Adresse empfängt.
Ein Verzweigungsparameter wird von UAs und Proxys zu Via-Headerfeldern hinzugefügt, der als Hash-Funktion des Request-URI sowie der To-, From-, Call-ID- und CSeq-Nummer berechnet wird.