How to dynamically route calls to Microsoft Teams instead of SfB with Ribbon SBC 1K/2K

Hi All,

so you are implementing Microsoft Teams Direct Routing, maybe side-by-side with Skype for Business On-Prem, with a Ribbon (formely Sonus) SBC 1K/2K, and you want to improve your call routes for Teams Direct Routing.
You are on the right page!

Note: instead if you use AudioCodes SBC, you can read a similar guide from my dear friend and MVP Roberto Ferazzi here:
https://www.ferazzi.it/audiocodes-sbc-dynamic-routing-based-on-ldap-query/

If you use Ribbon (formely Sonus) SBC 1K/2K with Skype for Business, you are probably confident with Call Routing Based on Active Directory User Attributes.
This is a simple example of a Transformation Rule that search for Called Number in AD and route the call to SfB if and only if the called number is found in the msRTCSIP-Line Attribute of a User

Pay attention to the * (asterisk) at the end of the Output Field Value on the first line: it instructs the SBC to search for the called number and IGNORE any presence of ;ext= in the Attribute.
This is very useful in SfB because you will match numbers with or without the ;ext=

Adding Teams Direct Routing

Probably when you started to test Teams Direct Routing you have added a Transformation Rule that statically match the called number migrated from SfB to Teams.
Very useful at the beginning of the journey from SfB to Teams, but now it’s time to improve the Call Routing

This table describe two “little” differences between Users on SfB On-Prem and Users migrated to Teams Direct Routing

Users on SfB On-PremUsers on Teams
TelURICould contain ;ext=Could not contain ;ext=
DeploymentLocatorSRV:sipfed.online.lync.com

The idea is very simple: add a rule that route calls to Teams if the DeploymentLocator is equal to sipfed.online.lync.com

Change Query Attributes List on SBC

In Setting -> Auth and Directory Services -> Active Directory -> Configuration add msRTCSIP-DeploymentLocator to the Query Attributes List

Change the Transformation Rule

Click to enlarge

In this example I assume you have a Transformation Rule that statically route call to Teams, called “FROM PSTN TO TEAMS”.
Clone this rule to safely work on it.

  1. Users on Teams could not have ;ext=xxx in the LineURI, so the first change is to remove the * (asterisk) at the end of the first entry
  2. add/change the second entry this way
    Change the Output Filed Type to User Value 2 and Value to sipfed.online.lync.com
    Explanation: this rule tell the SBC to set the User Value 2 to
    sipfed.online.lync.com IF (mandatory match type) the called number previously set into User Value 1 is found in the msRTCSIP-Line Attribute of a User

3. add a new entry like this one
Explanation: this rule tell the SBC to verify if the
msRTCSIP-DeploymentLocator Value of the previously searched User is equal to sipfed.online.lync.com.
The rule is mandatory so if the User is On-Prem the rule will find a Value equal to SRV: and will fail.
If the User is on Teams, this check will find sipfed.online.lync.com and will continue to the next Transformation Rule Entry

4. Complete the rule with a standard Called number normalization rule to E.164

Change the Call Routing Table

In Settings -> Call Routing -> Call Routing Table place this Transformation Rule above the rule that route calls to SfB.
In this example the rule FROM PSTN TO TEAMS is above FROM PSTN TO UC (Skype for Business)

Test this solution and let me know if you appreciate it!

Best Regards
Luca

6 thoughts on “How to dynamically route calls to Microsoft Teams instead of SfB with Ribbon SBC 1K/2K

Add yours

  1. Luca,

    How does this work when Direct Routing to teams is used with Extensions?

    Thank you,
    Zach

    Like

    1. Hi Zach, extensions (like ;ext:1234 at the end of a LineURI) are not supported on Teams DR, you have to remove extensions from a User’s Line URI before you move the user to Teams.

      Like

  2. Hello Luca,

    How do we route calls when some users are on SfB Online. They also have the attribute DeploymentLocator set on sipfed.online.lync.com

    Regards,

    Like

    1. Hi,
      remember that you have to route calls to the Resource Account associated to the AA or CQ, not to AA or CQ directly. The Resource Account have msRTCSip attribute like any other account.
      Let me know if this is more clear now or if you need more info.
      Best Regards

      Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Create a free website or blog at WordPress.com.

Up ↑