Skip to main content

Someone wanted to learn this too, so Grasp built them a personal learning path.

You can keep exploring this one or create your own

Manipulation des en-têtes SIP

Bonjour ! Dans la leçon précédente, nous avons découvert le concept des "Message Manipulation Rules" (MMR) et leur syntaxe. Vous savez maintenant qu'une règle est une instruction logique composée d'un sujet (Action Subject), d'une action (Action Type) et d'une valeur (Action Value), qui peut être appliquée si une certaine Condition est remplie.

Aujourd'hui, nous passons de la théorie à la pratique. L'objectif est de vous rendre capable de créer vos propres règles pour effectuer les trois opérations fondamentales : ajouter, modifier et supprimer des headers SIP. Ce sont les actions que vous utiliserez quotidiennement pour résoudre les problèmes d'interopérabilité et adapter les flux d'appels aux exigences de chaque équipement (opérateur, Teams, NICE).

Nous allons explorer des scénarios concrets en utilisant les headers que vous devez maîtriser, comme From, To et P-Asserted-Identity.

Guide Pratique : Créer une Règle dans l'Interface AudioCodes

Avant de nous lancer dans les scénarios, voyons comment accéder à l'interface de création des règles. C'est un processus simple que vous effectuerez très souvent.

Pour créer ou modifier une règle de manipulation, suivez ce chemin dans l'interface web de votre SBC :

  1. Naviguez vers le menu Setup > onglet Signaling & Media.
  2. Dans le volet de gauche, ouvrez le dossier Message Manipulation.
  3. Cliquez sur Message Manipulations.
  4. Cliquez sur le bouton New pour créer une nouvelle règle.

Vous verrez alors apparaître une fenêtre avec les différents paramètres que nous avons étudiés dans la leçon précédente.

Pour une description détaillée de cette procédure et des champs, vous pouvez consulter la documentation officielle.

Configuring SIP Message Manipulation - AudioCodes

Cette section de la documentation officielle 'Configuring SIP Message Manipulation' vous montre l'interface de configuration des MMR et décrit la procédure pas à pas. C'est une bonne référence à garder sous la main.

Repérez la procédure commençant par 'To configure SIP message manipulation rules:'. Observez la capture d'écran de la boîte de dialogue 'Message Manipulations' pour vous familiariser avec l'interface.

Maintenant que vous savez où aller, créons nos premières règles.

Action n°1 : Remove (Supprimer un Header)

L'action Remove est la plus simple. Elle est généralement utilisée pour "nettoyer" un message SIP en retirant des headers non-standard, inutiles ou qui posent des problèmes de sécurité/compatibilité.

Cas Pratique :
Un de vos PBX internes envoie un header P-Preferred-Identity pour suggérer une identité d'appelant. Cependant, votre opérateur SIP (ITSP) ne reconnaît pas ce header et rejette l'appel avec une erreur 400 Bad Request. Vous devez supprimer ce header pour tous les appels sortant vers cet opérateur.

Construction de la Règle :

Pour résoudre ce problème, vous allez créer une règle qui cible spécifiquement ce header et le supprime.

Paramètre Valeur Explication
Manipulation Set ID 10 Nous regroupons les règles pour notre ITSP dans le Set n°10.
Action Subject Header.P-Preferred-Identity C'est la cible de notre action : le header en question.
Action Type Remove L'action à effectuer est une suppression.
Action Value (laissé vide) Aucune valeur n'est nécessaire pour une suppression.

Cette règle, une fois appliquée en Outbound sur l'IP Group de votre ITSP, supprimera systématiquement le header P-Preferred-Identity avant que le message ne quitte le SBC.

Action n°2 : Add (Ajouter un Header)

L'action Add est utilisée pour enrichir un message SIP, typiquement en ajoutant un header manquant qui est requis par l'équipement de destination.

Cas Pratique :
Vous configurez un trunk pour un centre de contact NICE. Pour chaque appel acheminé, NICE exige la présence d'un header X-CustomerID contenant l'identifiant du client qui appelle, information que le SBC récupère d'une autre source. Pour notre exemple, nous allons simuler l'ajout d'une valeur statique.

Construction de la Règle :

Paramètre Valeur Explication
Manipulation Set ID 30 Nous utilisons le Set n°30 pour les manipulations dédiées à NICE.
Action Subject Header.X-CustomerID La cible est le header personnalisé X-CustomerID.
Action Type Add Nous voulons ajouter ce header.
Action Value 'ABC12345' C'est la valeur que nous ajoutons. Notez les guillemets simples pour définir une chaîne de caractères statique.

Utilisation de Valeurs Dynamiques

La véritable puissance de l'action Add réside dans l'utilisation de valeurs dynamiques. Imaginons que pour un trunk vers Microsoft Teams, vous deviez ajouter le header P-Asserted-Identity (PAI) avec le numéro de l'appelant.

La Règle serait :

Paramètre Valeur
Action Subject Header.P-Asserted-Identity
Action Type Add
Action Value '<sip:' + param.call.src.user + '@mon.sbc.fr>'

Ici, param.call.src.user est une variable interne d'AudioCodes qui contient le numéro de l'appelant. La valeur est construite en concaténant des chaînes statiques ('<sip:', '@mon.sbc.fr>') et des variables dynamiques.

Action n°3 : Modify (Modifier un Header)

L'action Modify est la plus polyvalente. Elle permet de changer la valeur d'un header ou d'une partie d'un header existant. C'est l'outil de choix pour la normalisation des numéros et le masquage de topologie.

Cas Pratique 1 : Modifier le display name
Un appel arrive de votre PBX avec le header From suivant : From: "Internal User" <sip:1001@192.168.1.10>. Vous voulez remplacer le display name "Internal User" par le nom de votre entreprise, "MaSociete", avant de l'envoyer à l'externe.

Construction de la Règle :

Paramètre Valeur Explication
Manipulation Set ID 10 On réutilise le Set de notre ITSP.
Action Subject Header.From.Displayname On cible précisément le nom d'affichage dans le header From.
Action Type Modify L'action est une modification.
Action Value 'MaSociete' La nouvelle valeur à appliquer.

Cas Pratique 2 : Copier une valeur entre headers
C'est un scénario très courant, notamment avec Microsoft Teams. L'identité de l'appelant est dans le header P-Asserted-Identity (PAI), mais votre opérateur requiert que cette même identité soit présente dans le header From.

  • Message entrant :
    • P-Asserted-Identity: <sip:+33123456789@...>
    • From: <sip:anonymous@anonymous.invalid>
  • Objectif : Modifier le From pour qu'il contienne l'identité du PAI.

Construction de la Règle :

Paramètre Valeur Explication
Manipulation Set ID 10 Set de l'ITSP.
Action Subject Header.From.URL.User On cible la partie "utilisateur" de l'URI dans le header From.
Action Type Modify On modifie cette partie.
Action Value Header.P-Asserted-Identity.URL.User La nouvelle valeur est la partie "utilisateur" de l'URI du header PAI.

Cette règle va lire la valeur du PAI et l'utiliser pour réécrire la partie correspondante du header From. C'est une technique de normalisation extrêmement puissante.

Pour voir d'autres exemples concrets de ces trois actions, je vous encourage à explorer le guide de configuration suivant, qui montre des manipulations réelles pour une intégration entre Teams et un opérateur.

Mediant SBC for Twilio Elastic SIP Trunk with Microsoft Teams

Ce guide de configuration pour Twilio et Microsoft Teams contient une section très riche sur les Message Manipulation Rules. Elle vous montrera des exemples réels et commentés des actions 'Remove' et 'Modify' dans un contexte de production.

Parcourez la section 4.15 'Configure Message Manipulation Rules'. Analysez les règles 0 (Remove PAI), 1 (Remove Privacy), et 4 (Change Referred-by Host). Essayez de comprendre la 'Reason for Introducing Rule' pour chaque exemple.

Conclusion

Vous avez maintenant les clés pour créer des règles de manipulation qui sont au cœur du métier d'ingénieur VoIP. Maîtriser ces trois actions vous permettra de résoudre une grande partie des problèmes d'interopérabilité que vous rencontrerez.

Points clés à retenir :

  • Remove : Pour nettoyer les messages SIP en supprimant les headers non désirés.
  • Add : Pour enrichir les messages en ajoutant des headers requis, en utilisant des valeurs statiques ou dynamiques.
  • Modify : Pour adapter les messages en modifiant des headers existants, y compris en copiant des valeurs d'un header à un autre.
  • La syntaxe Action Subject (Header.From.URL.User) permet un ciblage très précis de la partie du message à manipuler.

Prochaine Étape

Nous savons maintenant comment manipuler les messages. Mais que se passe-t-il si une règle ne doit s'appliquer que dans certaines circonstances ? Par exemple, modifier le From uniquement si l'appel vient d'un certain préfixe ? Dans la prochaine leçon, nous allons nous plonger dans le paramètre le plus stratégique des MMR : la Condition. Vous apprendrez à déclencher vos manipulations de manière ciblée, ce qui est essentiel pour le troubleshooting avancé et les configurations complexes.

Can't find a good explanation? Sign up and we'll make it for you

Sign up