Recommended resources
The freely available resources this lesson will direct you to.
Bonjour !
Dans la leçon précédente, nous avons vu comment utiliser les IP Profiles pour normaliser la signalisation SIP, notamment en nettoyant les en-têtes pour assurer la compatibilité entre différents systèmes. Nous nous sommes concentrés sur les messages, la partie "dialogue" de l'appel.
Aujourd'hui, nous passons de la signalisation au média, c'est-à-dire au flux audio lui-même. L'objectif de cette leçon est de vous apprendre à gérer la compatibilité des codecs en activant le transcodage média entre deux 'Media Realms'. C'est une compétence fondamentale pour résoudre les problèmes de type "pas d'audio" ou les échecs d'appel dus à une incompatibilité de codecs (le fameux 488 Not Acceptable Here).
Nous allons découvrir ce qu'est le transcodage, pourquoi il est indispensable, et surtout comment le configurer sur un SBC AudioCodes en utilisant les Coder Groups, les IP Profiles et les Media Realms.
1. Qu'est-ce que le transcodage ?
Imaginez que vous devez connecter deux personnes qui ne parlent pas la même langue. L'une ne parle que français (codec G.711) et l'autre ne parle qu'espagnol (codec G.729). Sans un traducteur au milieu, aucune communication n'est possible.
Dans le monde de la VoIP, le SBC AudioCodes peut jouer ce rôle de traducteur en temps réel. C'est ce qu'on appelle le transcodage.
Pour bien comprendre le concept, je vous invite à lire la définition fournie par AudioCodes.
AudioCodes Quick Reference Guide – Transcoding
Ce guide de référence rapide explique très clairement le principe du transcodage. Il vous donnera une définition solide du concept et de son utilité.
Lisez la première partie du document, intitulée 'Background'. Concentrez-vous sur la définition et l'analogie de 'l'interprète' entre deux terminaux. Notez également qu'il y a deux cas d'usage principaux : l'absence de codec commun, et des temps de paquetisation différents pour un même codec.
Comme vous l'avez lu, le transcodage intervient lorsque les deux correspondants SIP n'arrivent pas à s'entendre sur un format audio (codec) commun lors de la négociation SDP. Le SBC se positionne alors entre les deux, accepte le flux audio dans un format, le convertit à la volée, et le réémet dans l'autre format.
Pour que le transcodage puisse fonctionner, trois conditions de base doivent être remplies, comme l'indique le même document (section Coder Transcoding Prerequisites?) :
- Le SBC doit supporter au moins un des codecs proposés dans l'offre SDP entrante.
- Le SBC doit disposer de ressources de calcul dédiées (DSPs) disponibles.
- L'offre SDP doit contenir une ligne média de type audio (
m=audio).
2. Les briques de construction pour le média : Media Realms et Coder Groups
Avant de configurer le transcodage, il est essentiel de comprendre deux concepts que nous avons déjà croisés : les Media Realms et les Coder Groups.
Media Realms
Un Media Realm est une configuration qui lie une plage de ports UDP à une interface réseau spécifique du SBC. Son rôle est de définir "où" le trafic média (RTP) doit entrer et sortir du SBC.
Lorsqu'un appel traverse le SBC, il y a typiquement deux flux média :
- Un flux entrant sur un premier Media Realm (par exemple,
MR_Teams, lié à l'interface connectée à Internet). - Un flux sortant sur un second Media Realm (par exemple,
MR_ITSP, lié à l'interface connectée à l'opérateur).
Le transcodage, lorsqu'il est nécessaire, s'effectue précisément entre ces deux Media Realms.

Coder Groups
Un Coder Group est simplement une liste nommée de codecs, ordonnée par préférence. C'est l'outil qui vous permet de définir les "langues" que vous souhaitez utiliser et dans quel ordre les proposer.
Par exemple, vous pouvez créer un groupe CG_G711_Only contenant uniquement le G.711, ou un groupe CG_Standard avec G.711a, G.711u, et G.729.
Microsoft Teams Direct Routing with CUCM using Audiocodes SBC
Cette courte vidéo montre comment un administrateur modifie un Coder Group pour prioriser certains codecs. Cela vous donne un aperçu concret de l'interface.
Regardez de 00:21:17 à 00:21:42. L'ingénieur modifie le Coder Group par défaut pour mettre G.711u en première priorité et G.711a en seconde. C'est une manipulation typique pour standardiser les codecs utilisés.
3. Activer le transcodage via les "Extension Coders"
Maintenant que nous connaissons les briques, voyons comment les assembler. La méthode standard pour activer le transcodage sur un SBC AudioCodes est d'utiliser le mécanisme des "Extension Coders".
L'idée est la suivante : si l'offre SDP entrante ne contient pas le codec que le destinataire final attend, le SBC va étendre l'offre SDP sortante en y ajoutant des codecs supplémentaires.
La documentation officielle d'AudioCodes explique ce mécanisme en détail.
Coder Transcoding - AudioCodes
Cette page du manuel utilisateur détaille le fonctionnement du transcodage. Elle est plus dense mais précise, et explique le concept clé des 'Extension Coders'.
Veuillez lire les sections suivantes : L'introduction (premier paragraphe) pour comprendre que les 'Extension Coders' sont configurés via des Coder Groups assignés à un IP Profile. L'exemple illustré ('The figure below illustrates...') qui montre un flux d'appel où le SBC ajoute G.729 à une offre contenant initialement que G.711. Les étapes de configuration ('To configure coder transcoding:') qui résument la procédure à suivre.
Pour résumer le processus de configuration, voici les étapes clés :
- Changer le profil de performance du SBC : C'est une étape globale et indispensable. Pour que le SBC alloue des ressources DSP au transcodage, il doit être configuré dans le bon mode.
Microsoft Teams Direct Routing with CUCM using Audiocodes SBC
Cette vidéo montre ce paramètre global essentiel. Sans cela, toute votre configuration de transcodage ne fonctionnera pas.
Regardez de 00:32:56 à 00:33:37. L'administrateur change le 'SBC Performance Profile' de 'Optimized for SIP' à 'Optimized for Transcoding'. C'est le prérequis pour activer les capacités de transcodage du SBC.
-
Créer un Coder Group pour les "Extension Coders" :
- Allez dans
Setup > Signaling & Media > Coders & Profiles > Coder Groups. - Créez un nouveau Coder Group. Donnez-lui un nom explicite (ex:
CG_Transcode_G729). - Ajoutez le ou les codecs que vous souhaitez que le SBC propose pour le transcodage (ex:
G.729).
- Allez dans
-
Assigner ce Coder Group à l'IP Profile de destination :
- Allez dans
Setup > Signaling & Media > Coders & Profiles > IP Profiles. - Modifiez l'IP Profile correspondant à l'entité de destination (celle qui a besoin du codec "traduit").
- Dans la section "SBC Media", trouvez le paramètre
Extension Coders Group. - Sélectionnez le Coder Group que vous venez de créer (ex:
CG_Transcode_G729). - Assurez-vous que le paramètre
Allowed Coders Modeest réglé surRestrictionouRestriction and Preferencepour que le mécanisme s'active.
- Allez dans
Une fois cette configuration appliquée, lors d'un appel vers cet IP Profile, si le codec nécessaire n'est pas dans l'offre initiale, le SBC l'ajoutera. Si ce codec "étendu" est accepté par le destinataire, le SBC établira deux demi-appels média et commencera à transcoder.
N'oubliez pas que le transcodage a un coût :
- Licences : Votre SBC doit avoir une licence pour un certain nombre de sessions de transcodage (
Transcoding Sessions). - Ressources DSP : Chaque session de transcodage consomme des ressources de calcul (généralement 2
DSP channelspar session). Il faut donc bien dimensionner le matériel en fonction des besoins.
Conclusion
Résumons ce que nous avons appris aujourd'hui. La gestion de la compatibilité des codecs est une tâche essentielle pour assurer l'interopérabilité, et le transcodage en est la solution principale.
Points clés à retenir :
- Le transcodage est la conversion d'un flux audio d'un codec à un autre, réalisée en temps réel par le SBC.
- Il est nécessaire lorsque les deux correspondants n'ont pas de codec commun ou utilisent des paramètres différents (ex: temps de paquetisation).
- Le flux média est ancré aux interfaces réseau via les Media Realms. Le transcodage se produit lorsque le SBC relaie le média entre deux realms avec des codecs différents.
- La configuration se fait principalement via le mécanisme des "Extension Coders" :
- On crée un Coder Group avec les codecs à proposer.
- On assigne ce groupe au paramètre
Extension Coders Groupde l'IP Profile de destination.
- Un prérequis global est de régler le profil de performance du SBC sur
Optimized for Transcoding. - Le transcodage consomme des licences et des ressources DSP, ce qui doit être pris en compte dans la conception d'une solution.
Vous êtes maintenant capable de diagnostiquer un problème de codec et de le résoudre en configurant le SBC pour qu'il agisse comme un traducteur universel.
Aperçu de la prochaine leçon : Nous avons couvert la signalisation SIP et le média audio. Dans la prochaine leçon, nous aborderons un autre aspect crucial du média : "Assurer l'interopérabilité des méthodes DTMF (ex: RFC2833 vs In-band)". Nous verrons comment garantir que les tonalités (les chiffres que vous tapez sur votre clavier) soient correctement transmises à travers le SBC, un point vital pour interagir avec les serveurs vocaux interactifs (SVI), les conférences et les boîtes vocales.