SOLVED

Direct Routing failover behaviour and lack of recovery from MS Teams side

%3CLINGO-SUB%20id%3D%22lingo-sub-2254873%22%20slang%3D%22en-US%22%3EDirect%20Routing%20failover%20behaviour%20and%20lack%20of%20recovery%20from%20MS%20Teams%20side%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2254873%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWe%20have%20Direct%20Routing%20working%20fine%20towards%20two%20separate%20SBC's%20(each%20with%20own%20wildcard%20cert)%20and%20had%20calls%20routing%20from%20MS%20Teams%20to%20both%20of%20them%20randomly%20for%20the%20first%20test%20customer%20tenant.%20All%20good.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Esbc1.domain.nz%3C%2FP%3E%3CP%3Esbc2.domain.nz%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWe%20then%20wanted%20to%20understand%20the%20failover%20performance%20and%20recovery%20handling%20if%20we%20were%20to%20lose%20a%20regional%20SBC%20and%20so%20we%20performed%20the%20following%20test.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E-%20Perform%20calls%20from%20MS%20Teams%20to%20PSTN%20and%20calls%20routing%20towards%20both%20SBC1%20and%20SBC2%20randomly%20as%20both%20SBC's%20are%20within%20customer%20tenant%20voice%20route%20as%20defined%20below.%3CBR%20%2F%3E%3CBR%20%2F%3ENew-CsOnlineVoiceRoute%20-identity%20%22unrestricted.voiceroute%22%20-NumberPattern%20%22.*%22%20-OnlinePstnGatewayList%20cust-tenant1.sbc1.domain.nz%2C%20cust-tenant1.sbc2.domain.nz%20-Priority%201%20%26nbsp%3B%26nbsp%3B-OnlinePstnUsages%20%22%3CSPAN%3ENZ.PU%3C%2FSPAN%3E%22%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E-%20We%20then%20shutdown%20the%20SBC%20public%20interface%20for%26nbsp%3B%3CSTRONG%3Esbc1%3C%2FSTRONG%3E.domain.nz%20and%20calls%20were%20routed%20from%20MS%20Teams%20to%26nbsp%3Bsbc2.domain.nz%20interface%20only%2C%20as%20expected%3C%2FP%3E%3CP%3E-%20We%20then%20shutdown%20the%20SBC%20public%20interface%20for%26nbsp%3B%3CSTRONG%3Esbc2%3C%2FSTRONG%3E.domain.nz%20and%20calls%20continued%20to%20try%20and%20route%20towards%26nbsp%3Bsbc2.domain.nz%2C%20even%20though%20OPTIONS%20had%20been%20failing%20for%20a%20while%20towards%20this%20interface%20from%20MS%20Teams.%3C%2FP%3E%3CP%3E-%20We%20then%20activated%20the%26nbsp%3BSBC%20public%20interface%20for%26nbsp%3B%3CSTRONG%3Esbc1%3C%2FSTRONG%3E.domain.nz.%20OPTIONs%20were%20sent%20and%20ACK%20from%20sbc1%20to%20MS%20Teams%20OK.%20However%20MS%20Teams%20never%20started%20to%20send%20OPTION's%20to%20this%20%3CSTRONG%3Esbc1%3C%2FSTRONG%3E.%3C%2FP%3E%3CP%3E-%20We%20waited%20for%2030%20mins%20and%20there%20was%20no%20change.%26nbsp%3B%3C%2FP%3E%3CP%3E-%20We%20then%20activated%20the%20SBC%26nbsp%3Bpublic%20interface%20for%26nbsp%3B%3CSTRONG%3Esbc2%3C%2FSTRONG%3E.domain.nz.%20OPTION's%20were%20quickly%20established%20in%20both%20directions%20and%20calls%20started%20working%20from%20MS%20Teams%20towards%20this%20%3CSTRONG%3Esbc2%3C%2FSTRONG%3E%20quite%20quickly.%3C%2FP%3E%3CP%3E-%20It%20has%20now%20been%204%20days%20and%20I%20am%20still%20unable%20to%20get%20MS%20Teams%20to%20send%20OPTION's%20messages%20to%20%3CSTRONG%3Esbc1.%26nbsp%3B%3C%2FSTRONG%3E%20The%20MS%20teams%20admin%20portal%20shows%20the%20%22SIP%20Options%20Status%22%26nbsp%3B%20for%20sbc1%20as%20%22Warning%22%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CDIV%20class%3D%22ms-fontSize-m%20on-page-notifier__warning-on-page___2Ut90%22%3E%3CDIV%20class%3D%22styles__flexRow___1Q3I7%22%3E%3CDIV%20class%3D%22styles__flexCell___3SK3_%22%3E%3CEM%3E%22There%20is%20a%20problem%20with%20the%20SIP%20OPTIONS.%3C%2FEM%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%20class%3D%22direct-routing-issues-panel__howToFixString___3svi2%22%3E%3CDIV%3E%3CEM%3EThe%20Session%20Border%20Controller%20exists%20in%20our%20database%20(your%20administrator%20created%20it%20using%20the%20command%20New-CSOnlinePSTNGateway).%20But%20we%20have%20difficulties%20determining%20SIP%20Options%20status.%20Please%20check%20in%2015%20minutes.%22%3C%2FEM%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EI%20have%20tried%20the%20following%20to%20recover%20this%20situation.%3C%2FDIV%3E%3CDIV%3E1.%20Deleted%20the%20sbc1%20from%20msteams%20admin%20portal%20for%2024%20hours%20and%20recreated.%20No%20difference.%3C%2FDIV%3E%3CDIV%3E2.%20Change%20the%20SIP%20Port%20used%20for%20sbc1.%26nbsp%3BNo%20difference.%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EMy%20observations%20are%20as%20follows%20%3A-%3C%2FDIV%3E%3CDIV%3E1.%20MS%20Teams%20appears%20to%20only%20try%20and%20recover%20SIP%20OPTIONS%20for%20the%20%22last%22%20SBC%20that%20was%20working.%3C%2FDIV%3E%3CDIV%3E2.%20Other%20SBC's%20that%20failed%20prior%20to%20last%20working%20SBC%20are%20not%20recovered%20from%20MS%20Teams%20side.%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E3.%20Don't%20perform%20this%20kind%20of%20controlled%20failure%20when%20everything%20is%20working%20fine%20..%20you%20will%20regret%20it%20%3A)%3C%2Fimg%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EIf%20anyone%20has%20any%20advice%20on%20how%20we%20can%20get%20sbc1%20working%20normally%20again%20(i.e.%20get%20MS%20Teams%20to%20sned%20OPTIONS%20towards%20it)%20..%20your%20help%20would%20be%20appreciated.%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EThanks%3C%2FDIV%3E%3CDIV%3EDavid%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2254873%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3Efailover%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMicrosoft%20Teams%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Erecover%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Eresiliency%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2259789%22%20slang%3D%22en-US%22%3ERe%3A%20Direct%20Routing%20failover%20behaviour%20and%20lack%20of%20recovery%20from%20MS%20Teams%20side%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2259789%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1017621%22%20target%3D%22_blank%22%3E%40David_NOW_NZ%3C%2FA%3E%3CBR%20%2F%3EI'm%20also%20operating%20two%20geographical%20dispersed%20SBCs%20and%20can%20turn%20off%20one%20of%20two%20for%20maintenance%20without%20any%20issues%20after%20maintenance%20is%20done%20it%20get's%20back%20to%20work.%3CBR%20%2F%3E%3CBR%20%2F%3EI'd%20try%20to%20disable%20and%20re-enable%20some%20basic%20sbc%20settings.%3C%2FP%3E%3CP%3EDid%20you%20also%20try%20to%20disable%20and%20enable%20it%20again%20in%20the%20Teams%20Admin%20Center%20after%20you%20re-created%20sbc1%3F%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Erik365Online_0-1617826217303.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F270843i3BB2ACC55FD5C337%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Erik365Online_0-1617826217303.png%22%20alt%3D%22Erik365Online_0-1617826217303.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EDid%20you%20also%20check%20the%20SIP%20options%20settings%20in%20the%20sbc1%20settings%20in%20the%20Teams%20Admin%20Center%3F%20Maybe%20try%20to%20disable%20and%20re-enable%20it%3F%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Erik365Online_1-1617826332551.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F270844i5EC7D67C331A5C9F%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Erik365Online_1-1617826332551.png%22%20alt%3D%22Erik365Online_1-1617826332551.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EI'd%20also%20re-check%20the%20firewall%20rules%20if%20there%20is%20one%20in%20front%20of%20the%20public%20interface%20of%20sbc1%2C%20just%20to%20be%20sure%20that%20all%20the%20(new)%20Teams%20Phone%20System%20Signaling%20IPs%20can%20reach%20the%20public%20interface%20ip%20of%20sbc1.%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fdirect-routing-plan%23sip-signaling-fqdns%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EPlan%20Direct%20Routing%20-%20Microsoft%20Teams%20%7C%20Microsoft%20Docs%3C%2FA%3E%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2260054%22%20slang%3D%22en-US%22%3ERe%3A%20Direct%20Routing%20failover%20behaviour%20and%20lack%20of%20recovery%20from%20MS%20Teams%20side%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2260054%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F32867%22%20target%3D%22_blank%22%3E%40Erik365Online%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%20for%20your%20suggestions.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIt%20seems%20to%20have%20sprung%20back%20to%20life%20today%20after%20I%20deleted%20the%20SBC%20and%20recreated%20it%20(yesterday%20evening)%20using%20powershell%20commands%20below.%20Not%20sure%20how%20long%20it%20took%20to%20come%20back%20to%20life%20after%20this%20change%20but%20I%20will%20look%20back%20through%20SBC%20verbose%20logs%20to%20try%20and%20determine%20that.%26nbsp%3B%20It%20didnt%20come%20back%20straight%20away.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3ERemove-CsOnlinePSTNGateway%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ENew-CsOnlinePSTNGateway%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EPrior%20to%20this%2C%20I%20had%20tried%20disabling%20the%20sbc%20in%20admin%20portal%20for%2012%20hours%20and%20then%20re-enabling%20it%2C%20but%20this%20did%20not%20help.%20Therefore%20it%20looks%20like%20if%20you%20(or%20anyone)%20get%20yourself%20in%20this%20situation%2C%20the%20delete%20and%20recreation%20of%20SBC%20using%20powershell%20appears%20to%20be%20the%20way%20to%20fix%20it.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ECheers%3C%2FP%3E%3CP%3EDavid%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
New Contributor

Hi,

 

We have Direct Routing working fine towards two separate SBC's (each with own wildcard cert) and had calls routing from MS Teams to both of them randomly for the first test customer tenant. All good.

 

sbc1.domain.nz

sbc2.domain.nz

 

We then wanted to understand the failover performance and recovery handling if we were to lose a regional SBC and so we performed the following test.

 

- Perform calls from MS Teams to PSTN and calls routing towards both SBC1 and SBC2 randomly as both SBC's are within customer tenant voice route as defined below.

New-CsOnlineVoiceRoute -identity "unrestricted.voiceroute" -NumberPattern ".*" -OnlinePstnGatewayList cust-tenant1.sbc1.domain.nz, cust-tenant1.sbc2.domain.nz -Priority 1   -OnlinePstnUsages "NZ.PU"

 

- We then shutdown the SBC public interface for sbc1.domain.nz and calls were routed from MS Teams to sbc2.domain.nz interface only, as expected

- We then shutdown the SBC public interface for sbc2.domain.nz and calls continued to try and route towards sbc2.domain.nz, even though OPTIONS had been failing for a while towards this interface from MS Teams.

- We then activated the SBC public interface for sbc1.domain.nz. OPTIONs were sent and ACK from sbc1 to MS Teams OK. However MS Teams never started to send OPTION's to this sbc1.

- We waited for 30 mins and there was no change. 

- We then activated the SBC public interface for sbc2.domain.nz. OPTION's were quickly established in both directions and calls started working from MS Teams towards this sbc2 quite quickly.

- It has now been 4 days and I am still unable to get MS Teams to send OPTION's messages to sbc1.  The MS teams admin portal shows the "SIP Options Status"  for sbc1 as "Warning"

 

"There is a problem with the SIP OPTIONS.
The Session Border Controller exists in our database (your administrator created it using the command New-CSOnlinePSTNGateway). But we have difficulties determining SIP Options status. Please check in 15 minutes."
 
I have tried the following to recover this situation.
1. Deleted the sbc1 from msteams admin portal for 24 hours and recreated. No difference.
2. Change the SIP Port used for sbc1. No difference.
 
My observations are as follows :-
1. MS Teams appears to only try and recover SIP OPTIONS for the "last" SBC that was working.
2. Other SBC's that failed prior to last working SBC are not recovered from MS Teams side. 
3. Don't perform this kind of controlled failure when everything is working fine .. you will regret it :)
 
If anyone has any advice on how we can get sbc1 working normally again (i.e. get MS Teams to sned OPTIONS towards it) .. your help would be appreciated.
 
Thanks
David
3 Replies

Hi @David_NOW_NZ
I'm also operating two geographical dispersed SBCs and can turn off one of two for maintenance without any issues after maintenance is done it get's back to work.

I'd try to disable and re-enable some basic sbc settings.

Did you also try to disable and enable it again in the Teams Admin Center after you re-created sbc1?

Erik365Online_0-1617826217303.png

 

Did you also check the SIP options settings in the sbc1 settings in the Teams Admin Center? Maybe try to disable and re-enable it?

Erik365Online_1-1617826332551.png

I'd also re-check the firewall rules if there is one in front of the public interface of sbc1, just to be sure that all the (new) Teams Phone System Signaling IPs can reach the public interface ip of sbc1. Plan Direct Routing - Microsoft Teams | Microsoft Docs 



best response confirmed by ThereseSolimeno (Microsoft)
Solution

Hi @Erik365Online 

 

Thanks for your suggestions.

 

It seems to have sprung back to life today after I deleted the SBC and recreated it (yesterday evening) using powershell commands below. Not sure how long it took to come back to life after this change but I will look back through SBC verbose logs to try and determine that.  It didnt come back straight away.

 

Remove-CsOnlinePSTNGateway

New-CsOnlinePSTNGateway

 

Prior to this, I had tried disabling the sbc in admin portal for 12 hours and then re-enabling it, but this did not help. Therefore it looks like if you (or anyone) get yourself in this situation, the delete and recreation of SBC using powershell appears to be the way to fix it.

 

Cheers

David

 

@David_NOW_NZ 

You are welcome.

Good to hear that you could fix it by re-creating it via PowerShell.