SIP - Proxies et routage

Comme nous le savons, un serveur proxy peut être sans état ou avec état. Ici, dans ce chapitre, nous aborderons plus en détail les serveurs proxy et le routage SIP.

Serveur proxy sans état

Un serveur proxy sans état transfère simplement le message qu'il reçoit. Ce type de serveur ne stocke aucune information sur l'appel ou la transaction.

  • Les mandataires sans état oublient la requête SIP une fois qu'elle a été transmise.
  • La transaction sera rapide via des proxys sans état.

Serveur proxy avec état

Un serveur proxy avec état assure le suivi de chaque demande et réponse qu'il reçoit. Il peut utiliser les informations stockées à l'avenir, si nécessaire. Il peut retransmettre la demande s'il ne reçoit pas de réponse de l'autre côté.

  • Les proxys avec état se souviennent de la demande une fois qu'elle a été transmise, afin qu'ils puissent l'utiliser pour le routage avancé. Les proxys avec état maintiennent l' état de la transaction . La transaction implique l'état de la transaction,notétat de l'appel .

  • La transaction n'est pas aussi rapide avec les proxys avec état que sans état.

  • Les mandataires avec état peuvent bifurquer et retransmettre si nécessaire (par exemple: renvoi d'appel occupé, par exemple).

Via et Record-route

Record-Route

L'en-tête Record-Route est inséré dans les demandes par des mandataires qui voulaient être dans le chemin des demandes suivantes pour le même identifiant d'appel. Il est ensuite utilisé par l'agent utilisateur pour acheminer les demandes suivantes.

Via

Les en-têtes Via sont insérés par les serveurs dans les requêtes pour détecter les boucles et pour aider les réponses à retrouver leur chemin vers le client. Ceci est utile pour que seules les réponses atteignent leur destination.

  • Un UA lui-même génère et ajoute sa propre adresse dans un champ d'en-tête Via lors de l'envoi de la demande.

  • Un mandataire qui transmet la demande ajoute un champ d'en-tête Via contenant sa propre adresse en haut de la liste des champs d'en-tête Via.

  • Un mandataire ou UA générant une réponse à une demande copie tous les champs d'en-tête Via de la demande dans l'ordre dans la réponse, puis envoie la réponse à l'adresse spécifiée dans le champ d'en-tête Via supérieur.

  • Un mandataire recevant une réponse vérifie le champ d'en-tête Via supérieur et correspond à sa propre adresse. S'il ne correspond pas, la réponse a été rejetée.

  • Le champ d'en-tête Via supérieur est alors supprimé et la réponse transmise à l'adresse spécifiée dans le champ d'en-tête Via suivant.

Les champs d'en-tête contiennent le nom de protocole, le numéro de version et le transport (SIP / 2.0 / UDP, SIP / 2.0 / TCP, etc.) et contiennent des numéros de port et des paramètres tels que reçu, rport, branch.

  • Une étiquette reçue est ajoutée à un champ d'en-tête Via si un UA ou un mandataire reçoit la demande d'une adresse différente de celle spécifiée dans le champ d'en-tête Via supérieur.

  • Un paramètre de branche est ajouté aux champs d'en-tête Via par les UA et les mandataires, qui est calculé comme une fonction de hachage du Request-URI, et du numéro To, From, Call-ID et CSeq.