Spectralink IP-DECT Server registration and Ribbon SBC in HA in a Microsoft Teams Environment

Hi All,

this article will show you how to register a Spectralink IP-DECT Server (6500 and 400) to a pair of Ribbon SBC EDGE (1K, 2K, SWe Lite).

This is a very common scenario in Customers migrating from SfB to Teams, with the Spectralink IP-DECT server previously configured as an SfB trusted app and now as a SIP registered device on SBC with Teams, but you can use this article in other scenarios without Teams.

Note: In this article I assume that you have a good knowledge on Ribbon SBC EDGE family and how to do basic configuration tasks.


  • A pair of Ribbon SBC EDGE with a correctly configured SIP Registrar service and some Signaling Groups (PSTN, TEAMS, REGISTRAR)
  • A Spectralink IP-DECT Server (6500 or 400) with some DECT devices connected. In this article these handsets needs to be registered on SBCs to be used by Teams

The Issue

A pair of Ribbon SBC EDGE works in Active/Active configuration without a Virtual IP.
Spectralink IP-DECT Server use a single parameter for the SIP Registrar, so we cannot set the IP or FQDN of one of the two SBCs without gaining a single point of failure.
The solution is to use the DNS SRV method, let’s see how.

STEP 1: create DNS SRV Records

In this example the two SBC IP are:

To use the DNS SRV method to resolve these IP, we have to create two SRV records in the internal DNS server like this one:

NameTypePriority/Weight/PortHost (example)

In the Spectralink IP-DECT Server SIP Configuration page, we have to:

  • change the DNS method from “A records” to “DNS SRV
  • enter the DNS domain used in the STEP 1
  • leave blank Proxy URI

To check if everything is ok, go to the SBC SIP Registrar table, you should see registered device on the SBC01 (lower priority in this example) and no devices on the SBC02

If you disable the SIP Registrar on the SBC01, you should see the registrations moving to the SBC02

STEP 3: Ribbon SBC settings

The last step is the Ribbon SBC configuration

3a: MAIN SBC (SBC01) settings

These objects and rules needs to be created on the MAIN SBC (SBC01 in this example).
The naming convention used in these example is not mandatory, you can use every name you prefer, it’s up to you.

3a_1 Create a “Passthrough” Transformation Rule “FROM SBC02 TO REGISTRAR”

3a_2 Create a Call Routing Table “SBC02”
In this table, add a rule that use the previously created Transformation Table “FROM SBC02 TO REGISTRAR”, and use it to send incoming calls from secondary SBC (SBC02) to the local SIP Registrar on the MAIN one

3a_3 On the MAIN SBC (SBC01) create a Signaling Group (SG) named “SBC02” that accept incoming calls from the secondary SBC.
Assign to this SG the Call Routing Table “SBC02” previously created

3b: SECONDARY SBC (SBC02) settings

These objects and rules needs to be created on the SECONDARY SBC (SBC02 in this example).
The naming convention used in these example is not mandatory, you can use every name you prefer, it’s up to you.

3b_1 On the secondary SBC (SBC02), create a new Cause Code Reroute Table called “Not Found Reroute”.
Add Q.850 Cause Codes 1, 2, 3, 26, 41

3b_2 On the secondary SBC (SBC02), following the previous steps, create
– a Passthrough Transformation Rule (like the step 3a_1)
– a Call Routing Table called “SBC01”
– a Signaling Group called “SBC01” that send every call to the MAIN SBC

3b_3 Now enter in every Call Routing Table on the secondary SBC (SBC02) and search for a Route with the SIP REGISTRAR as Signaling Group (adapt this name to your naming convention) and Priority 1: enter to edit it.

3b_4 Leave Route Priority to 1, change Cause Code Reroutes to “Not Found Reroute”. This will trigger the Call Reroute during standard operation (when the Spectralink IP-DECT Server is registered on the MAIN SBC)

3b_5 Add a new Route in the Call Routing Table you are working on, below the one in the previous step.
Set Route Priority to 2
Use a PASSTHROUGH Transformation Table
No Cause Code Reroute
Send the call to the MAIN SBC (SBC01)

At the end you should have something like this

You have to do the same configuration for every Call Route with the SIP Registrar as destination SG.

Call Flow

In the following images we can see the Call Flow from Teams, for example, to a DECT device on the Spectralink IP-DECT Server.

  1. In normal conditions and in a standard configuration with Teams Direct Routing with 2 SBC, the incoming call from Teams could land on one of the two SBC (50/50)
  2. The Call is processed in the Call Routing Table on the SBC, if the Call is on the MAIN SBC (SBC01) the DECT contact is found in the SIP Registar and the call is passed to the DECT Server.
    If the call land on the secondary SBC, the DECT contact is not found and the Cause Call Reroute is triggered.
  3. In this case, the next Rule will be processed with Route Priority 2 and the call will be passed to MAIN SBC (SBC01)
  4. There the Call will be passed to the DECT Server

Instead in this image we can see a non-standard condition, with MAIN SBC down.
In this case the DECT SERVER will switch SIP Registration to the Secondary SBC, and the Call Flow will be correctly managed without a Cause Call Reroute trigger.

As always, I hope this article could help some of you.
Best Regards


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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

Create a free website or blog at WordPress.com.

Up ↑

%d bloggers like this: