Solved 3CX to dual Sonus/Ribbon SBCs (advice needed)

Status
Not open for further replies.

philsummers

Customer
Joined
Jun 17, 2022
Messages
4
Reaction score
2
I'm a new to 3cx, but not to phone systems and voip and am looking for a bit of advice re connectivity.

3cx is on-prem, latest version, Enterprise license, running on vmware esxi.

We basically have 2 x Sonus UX2000 SBC's on our two main datacentre sites, with a Gamma Loadshare sip trunk to each of the SBCs. Calls can come in to either of the SBCs via the trunks and can leave either SBC via the trunks. The SBCs handle routing calls between our numerous telephony systems (2 x Nortel CS1000, 3 different asterisk/freepbx vm's, skype for business on-prem). In general, we have tended to add both Sonus boxes to a phone system as a trunk group / failover group.

We're trialling 3cx specifically for handling some of our contact centre queues and also for interfacing through to Teams (as we need to retire our on-prem Skype for business). We're also removing the Nortel CS1Ks and will be using 3CX to handle a small number of physical handsets spread across our estate.

What would be the best way to configure the connection to the 2 x Sonus boxes on the 3cx box - the DDIs (around 2000 numbers) are not unique to each SBC and I've found that adding the SBCs as individual trunks causes 3cx to create the DDIs twice and I suspect will not failover to the other SBC should one connection go down or reach capacity (not tested). I'm basically looking for best-practice for high availability to two SBCs where the DDIs / extensions are the same (if this is even possible with 3cx).

Thanks

Phil
 
Hi Phil,
For outbound calling this no issue, as for inbound I am not aware of a way to do this in 3CX. I have run into issues when populating the same number under multiple trunks.
I have a similar setup, we have the SBC’s setup in a cluster with a floating IP address. We also use dnssrv records, but that is more for registrations and outbound.
 
Hi Phil,
For outbound calling this no issue, as for inbound I am not aware of a way to do this in 3CX. I have run into issues when populating the same number under multiple trunks.
I have a similar setup, we have the SBC’s setup in a cluster with a floating IP address. We also use dnssrv records, but that is more for registrations and outbound.
Hi Chris

Yeah, I've got outbound working fine, and incoming works, I just haven't fully tested failover yet, but it all feels a bit nasty. A floating IP won't work unfortunately as the two sites are separated by a layer 3 link. I could use VXLan to span the link but I'm more of the keep it simple mindset when it comes to phone systems.

I suppose I could put an asterisk instance inbetween 3cx and the SBCs to handle the mutliple SBCs but then I'm just moving the single point of failure rather than eliminating it. Would the 3cx SBC help at all (I haven't really looked at this yet)?

Phil
 
Hi @philsummers

The only way I can think off of doing this is adding each SBC as a separate trunk in 3CX and adding all DIDs in each trunk. You will also need to create each inbound rule twice to accommodate for each trunk.
The trick is for the PBX to be able to determine the trunk the call is coming to. To do so you will need to determine the correct settings for call source identification.

So lets assume that each SBC has a different IP address and that IP address is present in the Contact header for inbound calls.
So the 2 SBCs will use different IPs in the contact header. You can then navigate to the Inbound parameters of each trunk and set Call source identification like this:
1655475370654.png

This will tell the PBX to match the call using the IP in the contact header and also look at the DID.

You need to check both options in your scenario to be sure that the call will be matched with the correct trunk and you will need to do this for both trunks.

There are other SIP headers you can use to help the PBX distinguish between the 2 trunks so you can play around with it.
Hope this helps
 
@YiannisH_3CX: Thanks for that, I'll give it a go, have a play around and see how I get on.
 
  • Like
Reactions: YiannisH_3CX
By way of an update, in case anyone is interested / has the same issue. I worked around this by spinning up an instance of kamailio to handle the sip trunks and load-balancing to/from the Sonus SBCs and present a single trunk to 3CX.
 
  • Like
Reactions: YiannisH_3CX
Status
Not open for further replies.

Members Online Now

Forum statistics

Threads
111,831
Messages
589,277
Members
164,660
Latest member
RJenkinsROCK