I want to share with you a simple solution for a well-know Skype for Business issue:
how to manage incoming calls for RGS in an isolated Branch Office?
Main Site: a Skype for Business Front-End with Response Group Service configured and a Voice Gateway.
Branch Site: a Skype for Business SBA/SBS, a Voice Gateway and a local Attendant
RGS Configuration: there is a RGS Workflow named “Branch Office IVR” with SIP URI sip:IVR.BranchOffice@contoso.com and a Tel number tel:+39051223344 (this is from DID range on the Branch Site Voice GW)
Agent: the Attendant IP Phone at Branch Office, registered on SBA/SBS Pool and with SIP URI sip:Attendant.BranchOffice@contoso.com
During normal activities the incoming call (1) for Branch Office IVR enter from Branch Office SBC, to SBA/SBS, to RGS on Main Site Front-End, than (2) RGS route the call to Queue and Agents, one of this is the Attendant IP Phone in the Branch Office reception.
What happens if there is an interruption of service, for example the Internet connection between Main and Branch Sites?
In this case, the incoming call (1) cannot reach RGS and then drop…. not so good!
In case where Branch Office Number is the ONLY DID number, the Office is completely unreachable from PSTN.
Response Group Service fallback solution #1
The solution to solve this very bad behaviour is quite simple: incoming calls (1) arrive to a local virtual user that is configured to route everything to the RGS (2), if the RGS do not respond in 5 seconds, than the user route the call to a local IP Phone (2b).
Because every step of this process is inside the SBA/SBS, this will work even in case of Branch Office isolation.
Setup (you have to do do that BEFORE interruption of services!)
- Create a new AD Technical Account with no password expiration.
In my example RGS.IVR.BranchOffice@contoso.com
- Enable this Account to SfB with Enterprise Voice feature and assign it to SBA/SBS Pool (very important)
Use SEFAUtil (Deploy the SEFAUtil tool in Skype for Business 2015)
SEFAUtil.exe /server: /setsimulringdestination: /enablesimulring /enablefwdnoanswer /callanswerwaittime:5 /setfwddestination:
In my example
SEFAUtil.exe /server:email@example.com RGS.IVR.BranchOffice@contoso.com /setsimulringdestination:sip:IVR.BranchOffice@contoso.com /enablesimulring /enablefwdnoanswer /callanswerwaittime:5 /setfwddestination:Attendant.BranchOffice@contoso.com
- Open the Response Group Configuration Tool (SfB Control Panel -> Response Group -> Workflow -> Create or edit a workflow), edit the Branch Office Hunt Group or IVR, then cut the Telephone number and save.
Note 1: RGS Workflow Telephone number is not mandatory, it’s optional, only SIP URI is mandatory.
Note 2: after this point incoming calls for this number will fail for few minutes untill you complete the precedure.
- Wait few minutes for RGS and SfB replication
- Open Technical Account (eg. RGS.IVR.BranchOffice@contoso.com) properties in SfB Control Panel and paste the number from point #4 in Line URI (remember to add tel: at the beginning), then save
- Wait few minutes than test the solution
- Enjoy the solution! 🙂
Response Group Service fallback solution #2
As suggested by Michele Betelli (thank you for sharing this idea!) there is another solution for this scenario.
It’s based on Sonus SBC 1000/2000 Call Routing Table and Cause Call Reroute, let’s se how to setup:
- On Branch Office Sonus SBC 1000/2000 go to Settings -> Transformation and create a new Transformation Table, like this one
Name: what you like, in my example I’ve called it “REROUTE TO LOCAL ATTENDANT” (I have a great imagination! 🙂
Input: every called number
Output: the number of the local Branch Office Attendant
- Check the Couse Code Reroute Table, if you have used Easy Config Wizard to setup your SBC you will find something like this one
- Open the PSTN Call Routing Table (adjust the name to your Call Routing Table naming convention) and set the Cause Code Reroutes value to UC Reroute (or whatever you’ve called it) to the entry(ies) from PSTN to SfB (like the one in this example)
- Add the new Transformation “REROUTE TO LOCAL ATTENDANT” to the PSTN Call Routing Table at the bottom, be careful to set Route Priority to 2
- Test it!
How it works?
Incoming call to Branch Office IVR is processed as usual during normal activities scenario, so you do not have to move the IVR Telephone number to the Technical Account.
In case of service interruption, the call to RGS receive a SIP 503 Service Unavailable, the Cause Code Reroute manage the next Call Routing Table Entry (REROUTE TO LOCAL ATTENDANT).
Without Cause Code Reroute the incoming call will fail.
Do you know different solutions? Share it please!
As usual, I hope this could help you.