Failover recommendations

Status
Not open for further replies.

Marc Mohring

Silver Partner
Advanced Certified
Joined
May 11, 2017
Messages
31
Reaction score
1
Hi all,

Looking for some recommendations/suggestions to implement 3CX failover for a customer.
We've got an Enterprise server up and running. This is configured as the active server, and we can do the Backup and Restore to the passive server..

What I'm looking for is some recommendations on network setup for failover from someone who has actually implemented it.

We host all our 3CX servers for our customers in our data centre. We can do that for this customer, or put it in one of their sites.
There are 5 sites in total, avg 20-25 extensions per site. They operate a 24/7 call centre, and PBX availability is critical to their operation.

All our customers normally connect to the data centre using an MPLS connection, so all traffic to/from the PBX is internally addressed.
And, that's where the 3CX recommended failover becomes a problem: our phones don't register over the internet so the change in DNS when there is a failover does not get picked up by the phones.

I've tried changing it on our own PBX. I can get the phones to register on the FQDN over the internet, but I get audio issues when I do that.
No audio at all. I think this is a firewall issue, where the firewall doesn't like traffic going out and then straight back in.

So, my thinking is to put the new PBX in our data centre.
Have all sites connect to the PBX using SBCs, and get the SBC to do the failover by adding the Passive server address in the SBC config.
VPN may be an option as well.

Has anyone actually implemented this?
What's the reliability like? Would you recommend using multiple SBCs per site so we don't lose all phones on a site if the SBC dies.
Does it work, or would you recommend a different setup?
 
When you are configuring your phones, you can do it via FQDN or IP.

In your local DNS provider set that FQDN to point to the primary server internal IP address.

Simply point the phones to the FQDN. They will resolve it to the same IP they are currently using. This is well documented here: https://www.3cx.com/docs/failover/#h.nil28sizwgys
Look at: Step 1: Configuring the Active Server (#1) step 2

In a failover situation, update that FQDN to the correct IP. They will register against the failover server. This too can be automated at the same link, under heading: Custom Failover Usage

The larger part is automating this on your firewall side as well so your SIP ports, etc can point to the failover server.
 
And, that's where the 3CX recommended failover becomes a problem: our phones don't register over the internet so the change in DNS when there is a failover does not get picked up by the phones.

This part scares me. You do know that internet is not a requirement for DNS right? If you've ever setup a Windows AD network you have functional DNS without internet requirement. So step one would be do re-provision the phones using a FQDN if you want to do fail-over the 3CX way.
 
This part scares me. You do know that internet is not a requirement for DNS right? If you've ever setup a Windows AD network you have functional DNS without internet requirement. So step one would be do re-provision the phones using a FQDN if you want to do fail-over the 3CX way.
Yes, I'm aware of that.
Our phones are provisioned to register to the FQDN and we then use an internal DNS entry that points them to the internal IP address of the 3CX server.
But, if I remove the internal DNS entry and let the phones register to the external IP address, I don't get any audio on a call. Calls ring, but when you pick up there is no audio either way.
I may well be missing a step. That's why I'm here asking the question.
 
When you are configuring your phones, you can do it via FQDN or IP.

In your local DNS provider set that FQDN to point to the primary server internal IP address.

Simply point the phones to the FQDN. They will resolve it to the same IP they are currently using. This is well documented here: https://www.3cx.com/docs/failover/#h.nil28sizwgys
Look at: Step 1: Configuring the Active Server (#1) step 2

In a failover situation, update that FQDN to the correct IP. They will register against the failover server. This too can be automated at the same link, under heading: Custom Failover Usage

The larger part is automating this on your firewall side as well so your SIP ports, etc can point to the failover server.
Yea, I was hoping to avoid the scripting. Especially since the server will most likely be built on Debian.
But, we could go Windows if that would solve our issue.
 
Yea, I was hoping to avoid the scripting. Especially since the server will most likely be built on Debian.
But, we could go Windows if that would solve our issue.
Looking at the scripting option a bit deeper. This may do what I need it to do.
Question: If I run a script before I start the passive server, will the passive server still update the IP address for my 3CX FQDN.
So, I update my internal DNS entries with a script from the passive server. Then the passive server starts and updates my 3CX FQDN DNS record?
 
It seems you still are confused about the DNS part. 3CX handles updating the public DNS. What you do on your internal DNS is entirely up to you, hence the script. Are you running 3CX on bare metal?
 
It seems you still are confused about the DNS part. 3CX handles updating the public DNS. What you do on your internal DNS is entirely up to you, hence the script. Are you running 3CX on bare metal?
Not confused about DNS at all.
I take care of the internal DNS, 3CX takes care of the external DNS.
Job done.
 
Yea, I was hoping to avoid the scripting. Especially since the server will most likely be built on Debian.
But, we could go Windows if that would solve our issue.
At the end of the day, the DNS server that the phone uses when it queries needs to return the IP of the failover (the 2nd) PBX for failover to happen. How you make that happen is up to you. It could be manual or automated. It could be the internal or external address. Sample scripts are provided for windows, yes, but many (including me) do automated DNS updates on the debian version by... writing a debian script to update dns.

Of course you can handle failover outside of 3cx. Yealink phones can do dual registrations - custom templates likely be a solution. You could just update the IP on the second machine and restart services. And so on.

If using a 3CX FQDN - enterprise edition - ttl on the external resolution is 2 mins. Pro edition - 6 hours.
If using your own FQDN - you set your own TTL.
 
Status
Not open for further replies.

Forum statistics

Threads
111,933
Messages
589,812
Members
164,808
Latest member
jsbjsb