Walkthrough: Microsoft Teams Direct Routing (Part 4)

This post is part of a series that will explore Microsoft Teams Direct Routing. The aim is to walk you through a configuration that worked for me so that you can potentially speed up your own deployments.

In this fourth post, we’re going to review the media paths and codecs utilised in various scenarios, having configured Direct Routing in the previous posts.

There are some pre-requisites before getting started:

  • The initial setup of the SBC (see Part 1)
  • The configuration of the SBC (see Part 2)
  • The Microsoft Teams configuration (see Part 3)
  • Install the Skype for Business Online PowerShell module
  • Installed the AudioCodes Syslog tool

Review the SDP

Comparing bypass and non-media bypass calls

Review the SDP with bypass disabled

  • With bypass disabled in the Microsoft Teams SBC configuration, reviewing the SDP in the initial INVITE from O365 shows that the candidates offered to the SBC are in the two IP address ranges Microsoft use for media (52.112.0.0/14 and 52.120.0.0/14 ):

Review the SDP with bypass enabled

  • Next, we enable media bypass so that media flows from the Teams client to the SBC via the Media Processors; issue the following command:
    Set-CsOnlinePSTNGateway -Identity sbc01.<Domain> -MediaBypass $true
    

  • With bypass now enabled in the Microsoft Teams SBC configuration (and after waiting an unreasonably long time), reviewing the SDP in the initial INVITE from O365 shows that the candidates offered to the SBC include the reflexive address of the SBC:

Compare transcoded vs. non-transcoded calls

Review the codecs listed in the SDP of a non-transcoded call

  • Click on the invite from O365 (in this example, 52.114.75.24)
  • Scroll down and review the SDP; note the range of codecs offered:

  • Next, click on the invite from the SBC to the ITSP (in this example, 27.111.15.65)
  • Note the SDP; with the existing configuration, no transcoding is taking place, so the offered codecs are the same (or thereabouts) as the offer from O365:

  • Next, click the SDP that comes back from the ITSP; note that the SDP only contains G.711 A-law:

  • Lastly, review the SDP sent back to O365; we can see that the negotiated media is G.711 A-law:

Reviewing transcoding

Review the codecs listed in the SDP of a transcoded call

  • Configure the use a defined set of coders
  • Log onto the SBC and navigate to SETUP > SIGNALING&MEDIA > CODERS & PROFILES > Allowed Audio Coders Groups
  • Click New
  • Enter the following and click APPLY:
    • Name: O365

  • Click New
  • Enter the following and click APPLY:
    • Name: ITSP

  • Select the O365 entry and click the Allowed Audio Coders 0 items >> link at the bottom of the page
  • Click New
  • Enter the following and click APPLY:
    • Coder: SILK-NB

  • Repeat for SILK-WB
  • Click the Back arrow
  • Select the ITSP entry and click the Allowed Audio Coders 0 items >> link at the bottom of the page
  • Click New
  • Enter the following and click APPLY:
    • Coder: G.711 A-law

Configure the IP Profiles

  • Navigate to SETUP > SIGNALING&MEDIA > CODERS & PROFILES > IP Profiles
  • Select the O365 entry and click Edit
  • Enter the following and click APPLY:
    • SBC Media
      • Allowed Audio Coders: #0 [O365]

  • Select the ITSP entry and click Edit
  • Enter the following and click APPLY:
    • SBC Media
      • Allowed Audio Coders: #1 [ITSP]

Enable DSP Resources

  • Navigate to SETUP > SIGNALING&MEDIA > SBC > SBC General Settings
  • Enter the following and click APPLY:
    • GENERAL
      • SBC Performance Profile: Optimized for transcoding

  • Click Reset

Review the SDP for codecs

  • Once the SBC is back up, make a call
  • Review the SDP in the initial INVITE from O365, noting the wide range of codecs offered:

  • Review the SDP in the initial INVITE to the ITSP, noting that it contains G.711 A-law only:

  • Review the 183 Session Progress back from the ITSP:

  • And now the 183 Session Progress back to O365:

  • Different codecs are being used for each leg of the call, proving transcoding is functional

Disable Transcoding

Due to a hardware issue (long, boring story), I’m going to disable transcoding again at this point; there’s no need to perform these steps, it’s just so any SDP in future posts makes sense.

Configure the IP Profiles

  • Navigate to SETUP > SIGNALING&MEDIA > CODERS & PROFILES > IP Profiles
  • Select the O365 entry and click Edit
  • Enter the following and click APPLY:
    • SBC Media
      • Allowed Audio Coders: —

  • Select the ITSP entry and click Edit
  • Enter the following and click APPLY:
    • SBC Media
      • Allowed Audio Coders: —

Disable DSP Resources

  • Navigate to SETUP > SIGNALING&MEDIA > SBC > SBC General Settings
  • Enter the following and click APPLY:
    • GENERAL
      • SBC Performance Profile: Optimized for SIP

  • Click Reset

OK, that’s enough for now. In the next post, we’ll take a look at Local Media Optimization (LMO).

Thanks for reading!

Leave a comment