Intégration avancée Microsoft Teams ↔ Audiocodes SBC ↔ Twilio SIP Trunk : retour d’expérience complet
- anasskourou

- 2 hours ago
- 3 min read
Dans ce retour d’expérience, je détaille la mise en œuvre d’une architecture Microsoft Teams Direct Routing interconnectée à un SBC Audiocodes Mediant SW (firmware 7.40A.250.265), lui-même relié à un Twilio Elastic SIP Trunk, le tout déployé derrière une infrastructure NAT grand public .
Ce projet, mené en environnement de test, m’a permis de valider l’ensemble des flux signaling + média, d’identifier les points de friction liés à l’interworking SRTP/RTP, et de documenter une configuration complète et reproductible. Architecture technique
Architecture globale Teams ↔ SBC ↔ Twilio (attachment above)

Microsoft Teams : Direct Routing via TLS 5061
Audiocodes SBC : Mediant SW 7.40A.250.265, déployé en VM VMware Workstation
Twilio SIP Trunk : Elastic SIP Trunk via TCP 5060
NAT : réalisé par la box internet, avec IP publique statique
Nom de domaine SBC : sbc1.teamscorp.net
Configuration Audiocodes SBC
🔹 Proxy Sets
Nom | Destination | Transport | Keep-Alive |
Teams DRPS | Teams PSTN Hub | TLS 5061 | SIP OPTIONS (10s) |
Twilio | Twilio SIP Trunk | TCP 5060 | SIP OPTIONS (10s) |
🔹 Media Realms
Nom | Plage RTP | IP Publique (l'IP publique de mon routeur) |
Teams DR Media Realm | 6000–6399 | 176.138.147.152 |
Twilio sip trunk Realm | 6400–6799 | 176.138.147.152 |
Chaque Media Realm est associé à son IP Group et à son interface SIP.
🔹 SIP Interfaces
Interface | IP Locale | Transport | Port | Media Realm |
Teams | 192.168.1.220 | TLS | 5061 | Teams DR Media Realm |
Twilio | 192.168.1.220 | TCP | 5060 | Twilio sip trunk Realm |
🔹 Authentification Twilio :
SIP Account :
Username : Admin
Mode : Password mis sur le profil Twilio Trunk SIP
Application Type : SBC
Proxy Set Twilio : configuré pour utiliser la table d’Accounts
🔹 Media Security & Interworking
Paramètre | Valeur |
Media Security | Enable |
Behavior | Preferable |
Cipher Suites | All |
Interworking SRTP → RTP | Enabled |
Interworking RTP → SRTP | Enabled |
Le SBC convertit les flux entre Teams (SRTP) et Twilio (RTP) :
Teams → SBC : RTP/SAVP + a=crypto
SBC → Twilio : RTP/AVP Je vous met la documentation officielle Audiocodes Twilio (quoique pour moi , cela n'a pas été suffisant pour faire fonctionner l'architecture) lien : Mediant SBC for Twilio Elastic SIP Trunk with Microsoft Teams Enterprise Model Configuration Note
Configuration Twilio Elastic SIP Trunk
Élément | Valeur |
Trunk Name | |
Origination URI | sip:sbc1.teamscorp.net:5060;transport=TCP |
SIP Credentials | Username/password (mode Password) |
Secure Trunking | Non |
Encryption | Non |
ACL IP autorisées | IP PUBLIQUE DU ROUTEUR/32, 10.0.0.4/32 |
Tests & Troubleshooting
🔹 Problèmes rencontrés:
I- 403 Forbidden :


Solution après debug : un manque de configuration sur Twilio :

Après avoir résolu ce souci d'autorisation d'adresse IP publique sur le Trunk SIP , qui parait assez claire, apparait le deuxième problème. II-407 Proxy Authentication Required :

La solution est un oubli de configuration sur le SBC :

Le troisième souci est comme suit :
III- 32010 – No valid active origination URLs found

Solution : Configuration mal complétée sur le trunk SIP sur la partie origination ( il ne faudra jamais oublier la partie transport , même si cela parait trivial) :

Après avoi résolu tout les soucis de signalisation SIP entre Teams et Twilio, après le 200OK , je n'arrive pas à entendre le flux RTP des deux cotés.
IV- Signalisation OK mais aucun flux RTP Outils utilisés pour le troubleshoot :
Syslog Audiocodes
SIP Message Log
Twilio Debugger
Wireshark
Résolution : NAT + Media Realms + RTP interworking
Le problème principal : le média RTP n’était pas forwardé vers le SBC.
Règles NAT corrigées sur la Bbox
Nom | Protocole | Ports | Destination SBC |
media Teams | UDP | 6000–6399 | 192.168.******** |
media Twilio | UDP | 6400–6799 | 192.168.******** |
👉 Ces plages couvrent les ports dynamiques choisis par le SBC (ex : 6420), assurant la réception du média.

✅ Résultat final
Signalisation SIP stable
Audio bidirectionnel
Interworking SRTP ↔ RTP fonctionnel :

Sur le sniff des paquets RTP , nous pouvons voir clairement le port NATé ( qui ne l'était pas au début) depuis la Box vers notre SBC

Leçons apprises
Séparer signalisation et média
Aligner Media Realms ↔ NAT
Activer SRTP ↔ RTP interworking
Traiter les erreurs dans l’ordre
Sniffer, analyser, isoler





Comments