Recommended resources
The freely available resources this lesson will direct you to.
Bonjour ! Bienvenue dans cette sixième leçon du module sur les fondamentaux SIP.
Dans la leçon précédente, nous avons identifié les en-têtes SIP critiques pour le routage (Via, Route, Contact) et l'identité (From, To, P-Asserted-Identity). Vous savez maintenant ce que chaque en-tête signifie et quel est son rôle.
Aujourd'hui, nous allons aborder une notion fondamentale pour votre objectif de maîtrise pratique : la manipulation des en-têtes SIP. Un SBC AudioCodes n'est pas un simple spectateur du trafic ; c'est un acteur qui modifie activement les messages pour garantir que les appels fonctionnent entre des systèmes hétérogènes.
Objectif de cette leçon : Expliquer le principe de la manipulation des headers SIP (quand et pourquoi ajouter, modifier ou supprimer un header).
Cette compétence est au cœur du dépannage et de l'intégration de systèmes, que ce soit pour connecter un opérateur (ITSP), Microsoft Teams ou un centre de contact comme NICE.
1. Pourquoi manipuler un message SIP ?
Imaginez que vous êtes un traducteur entre deux personnes qui ne parlent pas exactement le même dialecte. L'une dit "téléphone" et l'autre ne comprend que "mobile". Votre rôle est de traduire pour que la conversation soit fluide. Un SBC fait exactement cela avec le SIP.
La manipulation de messages est nécessaire principalement pour trois raisons :
- Interopérabilité et Normalisation : C'est le cas d'usage le plus courant.
- Sécurité et Politique d'entreprise : Pour protéger votre réseau et contrôler les informations qui en sortent.
- Routage avancé et Intégration d'applications : Pour enrichir les messages avec des données utiles à d'autres systèmes.
Commençons par explorer le concept général de manipulation dans la documentation AudioCodes.
Configuring SIP Message Manipulation
Ce document d'AudioCodes introduit le concept de "Message Manipulation". Il explique pourquoi cette fonctionnalité est essentielle pour la normalisation, l'application de politiques et la résolution d'incompatibilités.
Lisez le premier paragraphe, de "The Message Manipulations table..." jusqu'à "...resolve incompatibilities between SIP devices inside the enterprise network.". Concentrez-vous sur les trois raisons principales mentionnées : les politiques des fournisseurs de services, les politiques de sécurité des entreprises et la résolution d'incompatibilités.
Scénario 1 : Interopérabilité et Normalisation
C'est votre pain quotidien en tant qu'ingénieur VoIP. Différents équipements (un PBX Alcatel, un trunk Microsoft Teams, un opérateur Orange) ont des exigences différentes.
- Normalisation des numéros : Votre PBX interne utilise des postes à 4 chiffres. Pour appeler l'extérieur via votre opérateur, le numéro doit être au format international E.164 (ex:
+33123456789). Le SBC doit modifier l'en-têteToet le Request-URI pour convertir le numéro. - Conformité des en-têtes : Microsoft Teams exige que l'en-tête
Contactcontienne le FQDN (nom de domaine complet) public du SBC. Si votre SBC envoie son adresse IP locale, Teams rejettera l'appel. Le SBC doit modifier l'en-têteContactpour le rendre conforme. - Suppression d'en-têtes non-standard : Votre PBX peut ajouter un en-tête propriétaire comme
X-MyPBX-Info: abc. Si l'opérateur ne connaît pas cet en-tête, il peut rejeter l'appel avec une erreur400 Bad Request. Le SBC doit supprimer cet en-tête avant de transférer le message.
Scénario 2 : Sécurité et Politique d'entreprise
Le SBC agit comme un garde-frontière pour votre réseau.
- Masquage de topologie (Topology Hiding) : Les en-têtes
ViaetContactpeuvent révéler les adresses IP privées de vos équipements internes. C'est une fuite d'information sensible. Le SBC modifie ces en-têtes pour y mettre sa propre adresse publique, masquant ainsi la structure de votre réseau interne. - Anonymisation : Pour un appel sortant qui doit être anonyme, le SBC peut supprimer l'en-tête
P-Asserted-Identityet modifier l'en-têteFrompour afficher"Anonymous" <sip:anonymous@anonymous.invalid>.
Scénario 3 : Routage avancé et Intégration
C'est ici que le SBC devient un outil puissant pour des projets complexes, notamment avec les centres de contact.
- Enrichissement pour CTI (Couplage Téléphonie-Informatique) : Imaginez qu'un client appelle et que son numéro est identifié. Le SBC peut ajouter un en-tête personnalisé (ex:
X-CustomerID: 12345) au messageINVITEavant de l'envoyer au centre de contact NICE. La plateforme NICE peut alors lire cet en-tête et automatiquement afficher la fiche de ce client sur l'écran de l'agent.
2. Les Actions de base : Ajouter, Modifier, Supprimer
Maintenant que vous comprenez le "pourquoi", voyons le "comment" au niveau conceptuel. Toutes les manipulations complexes reposent sur trois actions simples.
Add(Ajouter) : Crée un nouvel en-tête qui n'existait pas.Modify(Modifier) : Change la valeur d'un en-tête existant.Remove(Supprimer) : Efface complètement un en-tête.
L'image suivante, tirée de la documentation AudioCodes, illustre parfaitement deux de ces actions sur un message INVITE.

Pour avoir une vue d'ensemble des actions possibles dans l'interface AudioCodes, vous pouvez consulter la documentation.
Configuring SIP Message Manipulation
Cette section de la documentation liste les différents "Action Type" disponibles pour la manipulation de messages. Elle confirme que les actions fondamentales sont bien l'ajout, la suppression et la modification, tout en introduisant des variantes utiles.
Dans le document, cherchez la liste à puces qui commence par "The SIP message manipulation feature supports the following:". Lisez les points qui mentionnent "Addition", "Removal", et "Modification" des en-têtes SIP. Cela vous donne la confirmation directe des capacités du SBC.
3. Étude de cas : Intégration Microsoft Teams Direct Routing
Appliquons ces principes à un cas très concret que vous rencontrerez : la connexion à Microsoft Teams. Teams a des exigences SIP très strictes.
Le document de configuration pour Teams donne des exemples parfaits de quand et pourquoi manipuler des en-têtes.
Connecting AudioCodes SBC to Microsoft Teams Direct Routing
Ce guide de configuration pour Teams Direct Routing contient des exemples réels de règles de manipulation. Il ne s'agit pas de les apprendre par cœur maintenant, mais de comprendre la logique derrière chaque règle.
Rendez-vous à la section 2.13, "Configuring Message Manipulation Rules". Observez les exemples de règles : Rule 0 (Index 0) : Action Type: Modify sur Header.Contact.URL.Host. Pourquoi ? Pour remplacer l'adresse locale du SBC par le FQDN public requis par Teams. Rule 1 (Index 1) : Action Type: Remove sur Header.Privacy. Pourquoi ? Pour supprimer des informations de confidentialité qui pourraient interférer avec la gestion des appels par Teams. Rule 2 (Index 2) : Action Type: Remove sur Header.P-Asserted-Identity. Pourquoi ? Dans le sens Teams -> Opérateur, pour masquer l'identité interne de l'utilisateur Teams à l'opérateur externe, si la politique l'exige. Rule 3 (Index 3) : Action Type: Add sur header.X-MS-RoutingPolicies. Pourquoi ? Pour ajouter un en-tête spécifique à Microsoft afin de contrôler des comportements comme le renvoi d'appel.
Ces exemples montrent bien que la manipulation n'est pas une option, mais une nécessité pour faire communiquer des systèmes différents.
Note importante : Vous ne pouvez pas manipuler n'importe quoi. Les en-têtes fondamentaux définis dans la RFC, comme To, From, Via, CSeq, Call-Id, ne peuvent pas être supprimés, car cela briserait le protocole SIP lui-même. Vous pouvez cependant en modifier le contenu. Cette nuance est essentielle en pratique.
Conclusion
Dans cette leçon, vous avez découvert le principe de la manipulation des en-têtes SIP, une fonction centrale des SBC AudioCodes. Vous avez appris qu'il ne s'agit pas seulement de modifier du texte, mais d'appliquer une logique pour résoudre des problèmes concrets.
Points clés à retenir
| Quand manipuler ? (Le "Pourquoi") | Action typique | Exemple concret |
|---|---|---|
| Interopérabilité | Modifier / Supprimer | Convertir un numéro au format E.164. Supprimer un en-tête non standard. |
| Sécurité | Modifier / Supprimer | Masquer les adresses IP internes dans les en-têtes Via et Contact. |
| Politique d'entreprise | Modifier / Supprimer | Rendre un appel sortant anonyme en changeant le From et enlevant le PAI. |
| Intégration Applicative | Ajouter | Ajouter un en-tête X-CustomerID pour une remontée de fiche dans un CTI. |
Le "comment" se résume aux trois actions de base : Ajouter, Modifier, Supprimer.
Vous avez maintenant toutes les cartes en main pour comprendre la logique d'un flux d'appel. Vous savez ce que sont les messages SIP, comment ils s'enchaînent, de quels en-têtes ils sont composés, et pourquoi un SBC aurait besoin de les altérer.
Dans la prochaine et dernière leçon de ce module, nous allons synthétiser tout cela en une méthodologie de dépannage. Nous récapitulerons les étapes clés pour analyser un message SIP lorsque vous faites face à un incident, en vous basant sur tout ce que nous avons vu jusqu'à présent.