Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Présentation de l'actualisation de la session SIP

Interopérabilité et compatibilité

Interopérabilité

Compatibilité

Rôle des agents utilisateur

En-tête Session-Expire

En-tête Min-SE

422 Message de réponse

En-têtes pris en charge et requis

Exemples de flux d'appels

Éviter les problèmes d'interopérabilité avec l'actualisation des mises à jour

Consommation d'une invitation/mise à jour de mi-appel

Informations connexes

Introduction

Ce document décrit comment résoudre les problèmes d'actualisation de session SIP (Session Initiation Protocol) sur Cisco Unified Border Element (CUBE).

Contribué par Andres Salgado, ingénieur marketing technique CUBE.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- CUBE

- TCP

- SIP

- UDP

Components Used

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Présentation de l'actualisation de la session SIP

La fonctionnalité SIP (Session Initiation Protocol) Session Timer Support ajoute la possibilité d'actualiser périodiquement les sessions SIP avec des requêtes INVITE répétées. Les requêtes INVITE répétées, ou Re-INVITE, sont envoyées sur un segment d'appel actif pour permettre aux agents utilisateur (UA) ou aux proxys de déterminer l'état d'une session SIP. Sans ce mécanisme de keepalive, les proxys qui se souviennent des requêtes entrantes et sortantes (proxies avec état) peuvent continuer à conserver inutilement l'état de l'appel. Si un UA ne parvient pas à envoyer un message BYE à la fin d'une session ou si le message BYE est perdu en raison de problèmes réseau, un proxy dynamique ne sait pas que la session est terminée. Le programme Re-INVITES s'assure que les sessions actives restent actives et que les sessions terminées sont terminées.

Interopérabilité et compatibilité

Interopérabilité

Cette fonctionnalité permet une actualisation périodique des sessions SIP. L'actualisation périodique permet aux agents utilisateurs et aux proxys de surveiller l'état d'une session SIP, afin d'empêcher les ressources réseau suspendues en cas de défaillance du réseau.

Compatibilité

Un seul des deux agents utilisateur ou participants proxy d'un appel doit implémenter la fonctionnalité SIP Session Timer Support. Cette fonctionnalité est facilement compatible avec les réseaux SIP plus anciens. La fonctionnalité SIP Session Timer Support ajoute également deux nouveaux en-têtes généraux qui sont utilisés pour négocier la valeur de l'intervalle d'actualisation.

Rôle des agents utilisateur

La demande INVITE initiale détermine la durée de la session et peut inclure un en-tête Session-Expires et un en-tête Min-SE. Ces en-têtes indiquent la valeur du compteur de session requise par le client User Agent (UAC). Un serveur d'agent utilisateur (UAS) ou un proxy récepteur peut réduire la valeur du compteur de session, mais pas inférieure à la valeur de l'en-tête Min-SE. Si la durée du minuteur de session est inférieure à la durée minimale configurée, le proxy ou le système d'exploitation unifié peut également envoyer un message de réponse 422. Si l'UAS ou le proxy trouve que la valeur du minuteur de session est acceptable, il copie l'en-tête Session-Expires dans la réponse 2xxclass.

Un UAS ou un proxy peut insérer un en-tête Session-Expires dans l'INVITE si l'UAC n'en a pas inclus un. Ainsi, un UAC peut recevoir un en-tête Session-Expires dans une réponse même si aucun n'était présent dans la demande.

Dans la réponse 2xx, le paramètre efresherdans l'en-tête Session-Expires indique qui effectue les re-INVITES. Par exemple, si le paramètre contient la valeur UAC, l'UAC effectue les actualisations. Pour les problèmes de compatibilité, un seul des deux agents utilisateurs doit prendre en charge la fonctionnalité de minuteur de session. Dans ce cas, l'UA qui prend en charge la fonctionnalité effectue les actualisations. L'autre UA interprète les actualisations comme des INVITES répétitives et les ignore.

Les demandes INVITE sont traitées de la même manière que les demandes INVITE, mais sortent à intervalles de session prédéterminés. Les nouvelles invitations portent la nouvelle date d'expiration de session. L'UA responsable des demandes de re-invitation envoie une nouvelle invitation avant l'expiration de la session. S'il n'y a pas de réponse, l'UA envoie une demande BYE pour mettre fin à l'appel avant l'expiration de la session. Si un message de nouvelle invitation n'est pas envoyé avant l'expiration de la session, l'UAC ou l'UAS peuvent envoyer un message BYE.

Si la réponse 2xxne contient pas d'en-tête Session-Expires, il n'y a pas d'expiration de session et les re-INVITES n'ont pas besoin d'être envoyées.

En-tête Session-Expire

L'en-tête Session-Expires indique l'intervalle de session pour un appel SIP. Il est placé dans une requête INVITE et est autorisé dans toute réponse 2xxclass à une requête INVITE. Sa présence indique que l'UAC souhaite utiliser le minuteur de session pour cet appel. Contrairement à l'en-tête SIP-Expires, il ne peut contenir qu'un delta-time, qui est l'heure actuelle, plus l'intervalle de session de la réponse.

Par exemple, si un système UAS génère une réponse 200 OK à un message de réinvitation qui contenait un en-tête Session-Expires avec une valeur de 1 800 secondes (30 minutes), le système UAS calcule l'expiration de la session comme 30 minutes après l'envoi de la réponse 200 OK. Pour chaque proxy, l'expiration de la session est de 30 minutes après la réception ou l'envoi du 2xx. Pour l'UAC, le délai d'expiration est de 30 minutes après la réception de la réponse finale.

La valeur recommandée pour l'en-tête Session-Expires est de 1 800 secondes.

La syntaxe de l'en-tête Session-Expires est la suivante :

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

[refresher]

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

Par conséquent, le paramètre herherer est facultatif dans le message INVITE initial, bien que le contrôle d'accès unifié puisse lui attribuer la valeur UAC pour indiquer qu'il est celui qui doit lancer l'actualisation de session. La réponse 200 OK doit avoir le paramètre d'actualisation défini.

En-tête Min-SE

En raison de la charge de traitement des demandes INVITE, vous pouvez configurer une valeur de minuteur minimale que le proxy, UAC et UAS peuvent accepter. Le proxy, UAC et UAS. Themin-secommand définit le minuteur minimum et il est transmis dans l'en-tête Min-SE dans la demande INVITE initiale.

Lorsqu'un appel est passé, la présence de l'en-tête Min-SE informe le système d'exploitation unifié et tout proxy de la valeur minimale que le système d'exploitation unifié accepte pour la durée du compteur de session, en secondes. La valeur par défaut est 1 800 secondes (30 minutes). Il est recommandé de ne pas réduire le compteur de session en dessous de la valeur définie, les serveurs UAS et les serveurs proxy empêchent la génération d'erreurs 422 par UAC. Une fois définie, la valeur de la commande in-secommand affecte tous les appels provenant du routeur. Si l'en-tête Min-SE n'est pas présent, l'UA accepte toute valeur.

La syntaxe de l'en-tête Min-SE est la suivante :

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

422 Message de réponse

Si la valeur de l'en-tête Session-Expires est trop petite, le système d'exploitation unifié ou le proxy rejette l'appel avec un message de réponse 422 Session Timer Too Smallresponse. Avec le message de réponse 422, le proxy ou UAS inclut un en-tête Min-SE qui indique la valeur minimale de session qu'il peut accepter. L'UAC peut ensuite recommencer l'appel avec une valeur de compteur de session plus grande.

Si un message de réponse 422 est reçu après une demande INVITE, le CU peut réessayer l'INVITE.

En-têtes pris en charge et requis

La présence de l'argument timerargument dans l'en-tête pris en charge indique que l'UA prend en charge le minuteur de session SIP. La présence de l'argument timerargument dans l'en-tête Require indique que l'UA opposé doit prendre en charge le minuteur de session SIP pour que l'appel réussisse.

- Dans la réponse 2xx, le paramètre d'actualisation de l'en-tête Session-Expires indique qui exécute le programme Re-INVITES

- Si la réponse 2xx ne contient pas d'en-tête Session-Expires, il n'y a pas d'expiration de session et les renouvellements d'invitation n'ont pas besoin d'être envoyés

- Le paramètre d'actualisation est facultatif dans le message INVITE initial. La réponse 200 OK doit avoir le paramètre d'actualisation défini

- L'en-tête Min-SE informe l'UAS et tout proxy de la valeur minimale que l'UAC accepte pour la durée du compteur de session, en secondes. La valeur par défaut est 1 800 secondes (30 minutes)

Exemples de flux d'appels

Appel entrant du fournisseur SIP, la réponse est définie sur UAC, donc 15 minutes après le 200 OK, UAC (fournisseur SIP) envoie une actualisation de session (Re-Invite);

Cisco Unified Communications Manager (CUCM) envoie une actualisation de session après 86 400 secondes ;

La session expire CUCM envoie une valeur par défaut de 1800 , mais peut être augmentée à un maximum de 86400.

Éviter les problèmes d'interopérabilité avec l'actualisation des mises à jour

1. CUBE peut désactiver la mise à jour pour l'actualisation de session avec des profils SIP.

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. La commande d'actualisation de session sous SIP dans voice service voip ajoute une session qui expire dans le message INVITE sortant s'il n'y avait pas d'en-tête présent dans le segment entrant.

3. Définissez l'actualisation de session sur Inviter au lieu de mettre à jour, CUCM 10.x à partir de.

Méthode d'actualisation de session sous le profil SIP dans CUCM.

Consommation d'une invitation/mise à jour de mi-appel

Évite les réinvitations/MISE À JOUR inutiles envoyées par le réseau et les consomme localement pour éviter tout problème d'interopérabilité. L'actualisation de session n'est transmise que si un changement de support est intervenu.

Consommation de réinvitation du milieu d'appel

CUBE consomme une réinvitation avec la signalisation de mi-appel passthru media-change. CUBE gère chaque jambe indépendamment.

Au bout de 15 minutes, la session est actualisée.

Exemple de consommation de réinvitation à mi-appel avec les en-têtes Expire de session.

Informations connexes

- Minuteurs de session dans SIP

- RFC SIP

- Support et documentation techniques - Cisco Systems