Force Teams-to-Teams calls to use Direct Routing SBC

Copper Contributor



We're setting up SIP trunks for Teams, using Direct Routing.

When a Teams user calls another Teams user, the call is handled "inside Teams" - it does not break out to our SBC.


Is it possible to change that behaviour, so all calls breaks out to our SBC, even between two Teams users?

12 Replies





I would take a look at this, I'm not sure if it will meet your requirements, normally we only bypass Teams when legal regulations need it (e.g. in India, some other countries)


Hi @Steven Collier 


The problem is that we combine Teams with another platform using Direct Routing (hosting model). Teams in "on the top", so to speak. So we have a feature rich PBX underneath, with desk phones, cell phones, advanced voice recording, statistics etc. And the users can then decide if inbound calls should be sent to their desk phone, cell phone, Teams, etc. (or a combination of those, and overflow, VM, etc., etc.).


But when Teams-to-Teams calls are not routed via the PSTN voice route/Direct Routing, we cannot control the call. Meaning our call rules are not used - so if Alice receives an inbound call, that normally goes to her cell phone, Teams and desk phone, that doesn't happen if it's another Teams user that calls her, because we don't get the call.


From the artickle you linked to (thanks, btw :-)), the location-based routing is configured on the PSTN gateway (SBC). But in the Direct Routing (hosting model) setup we only have a voice route and no SBC.


So my thoughts was if there was an option in Teams, to force all calls to break out - for us to return them to the destination user, if it's another Teams user.






Can you clarify what you mean by your "Direct Routing (hosted model)" doesn't have an SBC? Even if you were to do direct hosted with a carrier, there should still be an SBC involved.  What's the output of Get-CsOnlinePstnGateway?

Hi @jangliss 


No, the "new" (not so new anymore) way does not require a PSTN gateway on the tenants. Running your command returns nothing.



"In the customer tenant, the carrier need only to add the derived trunk FQDN to the voice routing policies of the users. There is no need to run New-CSOnlinePSTNGateway for a trunk."


So there is only a voice route on the tenant, no SBC/PSTN gateway.

Did you ever get this resolved? I would also like to force calls to the SBCs. We also have an on-prem PBX and when a Teams user tries to dial one of those people, it rings on the recipients Teams client instead of ringing their phone or the soft client that comes with the other PBX. 


When we were Skype on-prem, we got around this by setting their Skype settings to audio/video disabled. Is there a Teams equivalent? 

@jiffy2265 No, I never found a solution and I don't think it's possible, I'm out of options :(

We also need this.


We need the calls to the full E.164 number to route out to the SBC and not be handled within Teams.  This is for the same reason as the OP, we have Teams "on-top" of our existing PBX and when someone in Teams dials the full E.164 number of another Teams user, it only rings in Teams.  We need it to go out to the SBC and then to our PSTN so it can be presented on both Teams AND our existing PBX.


@Alexis_Spencer @KasperLeth 


I was noodling on this earlier today, and the only way I could think of doing it for ALL PSTN calls would be to change the Teams users to not have the real number.  In that, I mean do something like this:


- Assign Teams users something that can easily be manipulated to their real number, such as +1555555#### where #### is the real last 4 digits, and all 5s is made up.

- SBC routes calls to existing PBX or whatever handles the "multi-route" functionality

- Set "inbound" rules from MS Teams to SBC to change made up number to real number.

- Set "inbound" rules from MS Teams to SBC to change Caller ID from made up number to real number.

- Set "inbound" rules from SBC/PBX to Teams to change real number to made up number.


This would mean if a Teams user calls another Teams user PSTN number, there is no Teams based match, and the call will hit the SBC, where it is rewritten and passed onto the third party device. This won't fix Teams to Teams calls, and might not be worth the effort depending on the volume of your user-base.


It's absolutely not pretty, but might be workable. Has anybody checked UserVoice to see if there are any similar requests that can be voted on? If not, I'd suggest adding one, put links back here, and open a Support Ticket and ask if they have options as well.

@jangliss I don't think our users would appreciate to see other/fake numbers, but that would actually work and I guess it would solve the issue for some providers. Not a pretty solution as you also mention, but technically it gives the functionality and the complete control of the call. +1 for creativity :smiling_face_with_smiling_eyes:


Most people find and click on a contact rather than dialing a phone number directly.
Even if the user enters another fake number and has it, we will have the same problem if we click on it to call.

@cbpark1985 it’s been awhile but I was wondering if the issue was resolved and how were your able to rectify it?