Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Übersicht über die SIP-Sitzungsaktualisierung

Interoperabilität und Kompatibilität

Interoperabilität

Kompatibilität

Rolle der Benutzer-Agents

Sitzung abläuft - Header

Min-SE-Header

422 Antwortmeldung

Unterstützte Header und Header erforderlich

Beispiel für Anrufverläufe

Vermeidung von Interoperabilitätsproblemen durch Aktualisierung

Nutzung von Mid-Call RE-INVITE/UPDATE

Zugehörige Informationen

Einführung

In diesem Dokument wird beschrieben, wie Probleme mit der SIP-Sitzungsaktualisierung (Session Initiation Protocol) auf dem Cisco Unified Border Element (CUBE) behoben werden.

Unterstützt von Andres Salgado, Technical Marketing Engineer CUBE.

Voraussetzungen

Anforderungen

Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:

- CUBE

- TCP

- SIP

- UDP

Verwendete Komponenten

Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Übersicht über die SIP-Sitzungsaktualisierung

Die Funktion Session Initiation Protocol (SIP) Session Timer Support bietet die Möglichkeit, SIP-Sitzungen bei wiederholten INVITE-Anfragen regelmäßig zu aktualisieren. Die wiederholten INVITE-Anfragen oder Re-INVITEs werden in einem aktiven Anrufabschnitt gesendet, um Benutzeragenten (UAs) oder Proxys die Bestimmung des Status einer SIP-Sitzung zu ermöglichen. Ohne diesen Keepalive-Mechanismus können Proxys, die eingehende und ausgehende Anfragen (Stateful Proxys) speichern, den Anrufstatus weiterhin unnötig beibehalten. Wenn eine UA am Ende einer Sitzung keine BYE-Nachricht sendet oder die BYE-Nachricht aufgrund von Netzwerkproblemen verloren geht, weiß ein Stateful Proxy nicht, dass die Sitzung beendet wurde. Die Re-INVITES stellen sicher, dass aktive Sitzungen aktiv bleiben und abgeschlossene Sitzungen beendet werden.

Interoperabilität und Kompatibilität

Interoperabilität

Diese Funktion bietet eine regelmäßige Aktualisierung von SIP-Sitzungen. Bei der regelmäßigen Aktualisierung können Benutzeragenten und Proxys den Status einer SIP-Sitzung überwachen, um Netzwerkressourcen bei Netzwerkausfällen nicht hängen zu lassen.

Kompatibilität

Die SIP Session Timer Support-Funktion muss nur von einem der beiden Benutzeragenten oder Proxy-Teilnehmer eines Anrufs implementiert werden. Diese Funktion ist problemlos mit älteren SIP-Netzwerken kompatibel. Die SIP Session Timer Support-Funktion fügt auch zwei neue allgemeine Header hinzu, die verwendet werden, um den Wert des Aktualisierungsintervalls auszuhandeln.

Rolle der Benutzer-Agents

Die ursprüngliche INVITE-Anfrage legt die Dauer der Sitzung fest und kann einen Session-Expires-Header und einen Min-SE-Header enthalten. Diese Header geben den vom User Agent Client (UAC) benötigten Wert für den Sitzungs-Timer an. Ein empfangender User Agent Server (UAS) oder Proxy kann den Wert des Sitzungs-Timers senken, jedoch nicht unter dem Wert des Min-SE-Headers. Wenn die Dauer des Sitzungs-Timers niedriger als die konfigurierte Mindestdauer ist, kann der Proxy oder das UAS auch eine 422-Antwortmeldung senden. Wenn das UAS oder der Proxy den Wert des Sitzungs-Timers für akzeptabel hält, kopiert er den Session-Expires-Header in die 2xxclass-Antwort.

Ein UAS oder Proxy kann einen Session-Expires-Header in die INVITE-Nachricht einfügen, wenn die UAC keinen Header enthält. So kann ein UAC einen Session-Expires-Header in einer Antwort empfangen, selbst wenn in der Anforderung kein Header vorhanden war.

Im 2xxresponse gibt der friserparameter im Session-Expires-Header an, wer die Re-INVITES ausführt. Wenn der Parameter z. B. den Wert UAC enthält, führt die UAC die Aktualisierungen durch. Bei Kompatibilitätsproblemen muss nur einer der beiden Benutzeragenten die Sitzungs-Timer-Funktion unterstützen. In diesem Fall führt die UA, die diese Funktion unterstützt, die Aktualisierungen durch. Die andere UA interpretiert die Aktualisierungen als sich wiederholende INVITEs und ignoriert sie.

Re-INVITEs werden identisch mit INVITE-Anfragen verarbeitet, gehen jedoch in vorher festgelegten Sitzungsintervallen aus. Re-INVITEs übernehmen die Ablaufzeit der neuen Sitzung. Die UA, die für Re-INVITE-Anfragen verantwortlich ist, sendet eine Re-INVITE-Nachricht, bevor die Sitzung abläuft. Wenn keine Antwort erfolgt, sendet das UA eine BYE-Anfrage, um den Anruf vor Ablauf der Sitzung zu beenden. Wenn vor Ablauf der Sitzung keine erneute INVITE-Nachricht gesendet wird, können entweder die UAC oder die USA ein BYE senden.

Wenn die 2xxresponse keinen Session-Expires-Header enthält, läuft die Sitzung nicht ab, und Re-INVITES müssen nicht gesendet werden.

Sitzung abläuft - Header

Der Session-Expires-Header gibt das Sitzungsintervall für einen SIP-Anruf an. Sie wird in einer INVITE-Anfrage platziert und ist in jeder 2xxclass-Antwort auf eine INVITE-Anfrage zulässig. Die Präsenz zeigt an, dass die UAC den Sitzungs-Timer für diesen Anruf verwenden möchte. Im Gegensatz zum SIP-Expires-Header kann er nur eine Delta-Zeit enthalten, d. h. die aktuelle Zeit, sowie das Sitzungsintervall aus der Antwort.

Wenn beispielsweise ein UAS eine 200-OK-Antwort auf eine Re-INVITE-Nachricht generiert, die einen Session-Expires-Header mit einem Wert von 1800 Sekunden (30 Minuten) enthält, berechnet das UAS die Ablaufzeit der Sitzung 30 Minuten nach dem Senden der 200-OK-Antwort. Für jeden Proxy läuft die Sitzung 30 Minuten nach dem Tag ab, an dem das 2xx-Paket empfangen oder gesendet wurde. Für die Benutzerkontensteuerung beträgt die Ablaufzeit 30 Minuten nach Erhalt der endgültigen Antwort.

Der empfohlene Wert für den Session-Expires-Header ist 1800 Sekunden.

Die Syntax für den Session-Expires-Header lautet:

Session-Expires  =  ("Session-Expires" | "x") ":" delta-seconds

[refresher]

refresher        =  ";" "refresher" "=" "UAS"|"UAC"

Daher ist der Aktualisierungsparameter in der ersten INVITE-Nachricht optional. Die UAC kann ihn jedoch auf UAC festlegen, um anzugeben, dass die Sitzungsaktualisierung initiiert wird. Für die 200 OK-Antwort muss der Parameter refresh (Aktualisieren) festgelegt sein.

Min-SE-Header

Aufgrund der Verarbeitungslast von INVITE-Anfragen können Sie einen Timer-Mindestwert konfigurieren, der vom Proxy, von UAC und von UAS akzeptiert werden kann. Der Proxy, UAC und UAS. Der minimale Timer wird vom Themin-Secommand festgelegt. Er wird im Min-SE-Header der ersten INVITE-Anfrage weitergeleitet.

Wenn ein Anruf getätigt wird, informiert der Min-SE-Header die UAS und alle Proxys über den Mindestwert, den die UAC für die Dauer des Sitzungs-Timers akzeptiert, in Sekunden. Der Standardwert ist 1800 Sekunden (30 Minuten). Es wird empfohlen, den Sitzungs-Timer nicht unter den festgelegten Wert zu reduzieren. Die UAS und Proxys verhindern die 422-Fehlergenerierung durch UAC. Nach dem Festlegen wirkt sich der Wert des Themas auf alle vom Router ausgehenden Anrufe aus. Wenn der Min-SE-Header nicht vorhanden ist, akzeptiert die UA jeden Wert.

Die Syntax des Min-SE-Headers lautet:

Min-SE  =  "Min-SE" ":" delta-seconds

422 Antwortmeldung

Wenn der Wert des Session-Expires-Headers zu klein ist, lehnt das UAS oder der Proxy den Anruf mit einer 422 Session Timer Too Smallresponse-Nachricht ab. Bei der 422-Antwortnachricht enthält der Proxy oder das UAS einen Min-SE-Header, der den minimalen Sitzungswert angibt, den es akzeptieren kann. Die Benutzerkontensteuerung kann den Anruf dann mit einem höheren Wert für den Sitzungs-Timer wiederholen.

Wenn nach einer INVITE-Anfrage eine 422-Antwortnachricht eingeht, kann die UAC die INVITE-Nachricht erneut versuchen.

Unterstützte Header und Header erforderlich

Wenn im unterstützten Header das Argument "theoremerargument" vorhanden ist, weist das UA auf die Unterstützung des SIP-Sitzungs-Timers hin. Wenn im Anforderungsheader ein theoremerargument vorhanden ist, muss das andere UA den SIP-Sitzungs-Timer unterstützen, damit der Anruf erfolgreich ausgeführt werden kann.

- In der 2xx-Antwort gibt der refresh-Parameter im Session-Expires-Header an, wer die Re-INVITES ausführt

- Wenn die 2xx-Antwort keinen Session-Expires-Header enthält, läuft die Sitzung nicht ab, und es müssen keine Re-INVITES gesendet werden.

- Der Aktualisierungsparameter ist in der ersten INVITE-Nachricht optional. Für die 200-OK-Antwort muss der Parameter refresh (auffrischen) festgelegt sein.

- Der Min-SE-Header informiert die UAS und alle Proxys in Sekunden über den Mindestwert, den die UAC für die Dauer des Sitzungs-Timers akzeptiert. Der Standardwert ist 1800 Sekunden (30 Minuten).

Beispiel für Anrufverläufe

Eingehender Anruf vom SIP-Anbieter; die Antwort wird auf UAC festgelegt. Daher werden 15 Minuten nach dem 200 OK die Sitzungen aktualisiert (Re-Invite) von UAC (SIP-Anbieter).

Cisco Unified Communications Manager (CUCM) sendet eine Sitzungsaktualisierung nach 86400 Sekunden.

Sitzung läuft ab CUCM sendet Standardwert 1800, kann aber auf maximal 86400 erhöht werden.

Vermeidung von Interoperabilitätsproblemen durch Aktualisierung

1. CUBE kann die Aktualisierung für die Sitzungsaktualisierung mit SIP-Profilen deaktivieren.

voice class sip-profiles 200

request ANY sip-header Allow-Header modify ", UPDATE" "“

Response ANY sip-header Allow-Header modify ", UPDATE" "“

Voice service voip

sip

sip-profiles 200

2. Der Befehl zur Sitzungsaktualisierung unter SIP in Voice Service VoIP fügt der ausgehenden INVITE-Nachricht eine Sitzung hinzu, wenn im eingehenden Teil kein Header vorhanden ist.

3. Setzen Sie die Sitzungsaktualisierung auf Invite (Einladen) statt update (CUCM 10.x).

Sitzungsaktualisierungsmethode im SIP-Profil in CUCM.

Nutzung von Mid-Call RE-INVITE/UPDATE

Vermeidet unnötige Re-Invites/UPDATE, die vom Netzwerk gesendet werden, und nutzt diese lokal, um Probleme bei der Interoperabilität zu vermeiden. Die Sitzungsaktualisierung wird nur bei einer Medienänderung weitergeleitet.

Konsumtion bei wiederholten Anrufen

CUBE nutzt die Neueinladung durch Medienänderung bei der Signalisierung während des Gesprächs. CUBE behandelt jede Stufe unabhängig.

Nach 15 Minuten wird die Sitzungsaktualisierung angezeigt.

Beispiel für die Midcall-reinvite-Einstellung mit den Headern "Session Expires".

Zugehörige Informationen

- Sitzungs-Timer in SIP

- SIP-RFC

- Technischer Support und Dokumentation - Cisco Systems