Today I was doing some prep work for one of my customers who are going to be implementing Direct Routing in the coming weeks. It is the first opportunity that I have had to really put Direct Routing through its paces.
I am fortunate that my lab has a SIP trunk provided by Pure-IP (www.pure-ip.com) so I am able to test real world scenarios as if I am deploying this for my customer.
In my lab I have a Sonus / Ribbon SBC 1000 running Edge version 7.0.2 firmware. This is the base firmware you need in order to configure Direct Routing to a supported level by Ribbon.
Configuring the Pure-IP trunk was simple enough and the guys and girls over there are really an awesome bunch, provisioning me my service within only a few hours. They also provide certified Skype for Business and Microsoft Teams SIP trunking as well as Microsoft Teams Direct Routing as a Service. So you can be sure to receive a compatible service from them. Go and check them out.
Initial testing of the solution was positive I could place inbound and outbound calls without any issues. I even configured extension dialing between Teams and a legacy PBX using the SBC and all worked fine.
However, call transfer from a Teams user to any destination would not work.
When tracing the SBC logs I could see the REFER being sent from Microsoft Teams, but the SBC could not understand what to do with it. In my case it was trying to send the REFER to Pure-IP to handle instead of routing it back to Microsoft Teams.
I spent way too much time in message manipulation rules to try and figure out what needed to be modified and then when I thought all hope was lost I tried something with the thought of “I wonder what this does?”
Turns out that setting the Interop Mode to Office 365 on the SIP Signalling Group to Microsoft Teams makes Transfer work fine
In other testing scenarios i found that I can transfer to the following destinations
- I can transfer a PSTN to Teams call to another Teams user who is also configured for Direct Routing
- I can transfer a PSTN to Teams call to another Teams user who is just configured for Calling Plans and NO Direct Routing
- I can transfer a PSTN to Teams call to another PSTN number
- I can transfer a Teams to Teams call to a PSTN number with a caveat of if the PSTN endpoint rejects the call, the transferee will not be notified and the call will remain on hold until manually disconnected by the transferer.
- If I transfer a PSTN call to another user who is using Skype for Business, then the call is automatically forwarded to their voicemail. It will not ring the endpoint
I’ve bolded the last point because I find this a little perplexing. Firstly I understand that Microsoft do not want to roll Direct Routing to Skype for Business Online because that is not the strategic direction for the cloud. But that is no excuse for interop between cloud systems they own in my opinion.
Many organizations who use SfB Online today will not just big bang migrate to Teams over a night and therefore there are going to be situations where migrated users are going to need to transfer a caller to a user that is potentially still on Skype for Business Online.
By not providing this interop is actually going to make migrations away from Skype for Business Online to Microsoft Teams a lot more complex from a voice perspective than I think its been given credit for.
I hope Microsoft realise this and are able to do something about this. But for now islands will be islands I suppose.