top of page
Search

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

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)

ree


  • 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) :

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 :

  • ree



    ree

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

    ree

    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 :

    ree

    La solution est un oubli de configuration sur le SBC :

    ree

    Le troisième souci est comme suit :

    III- 32010 – No valid active origination URLs found

    ree

    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) :

    ree

    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.

ree


✅ Résultat final

  • Signalisation SIP stable

  • Audio bidirectionnel

  • Interworking SRTP ↔ RTP fonctionnel :

    ree

    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

    ree

Leçons apprises

  1. Séparer signalisation et média

  2. Aligner Media Realms ↔ NAT

  3. Activer SRTP ↔ RTP interworking

  4. Traiter les erreurs dans l’ordre

  5. Sniffer, analyser, isoler


 
 
 

Comments


Subscribe Form

Thanks for submitting!

©2021 by Anass Kourou. All rights reserved.

bottom of page