So, our internet hiccuped this morning, and phones went bats**t.
Here’s the scenario:
Our phones have no “outside” connections. They are on their own network, their own switches, and other than the gateway no connection to our data/computer network. Makes it nice and easy and isolated.
For some reason, however, FreePBX requires that DNS be working.
No DNS, no working phone calls.
Now, we have internal DNS servers, and I’d be glad to point my PBX to those servers, but what, exactly, is FreePBX looking for? It makes absolutely no sense to me that a PBX whose phones connect by IP address, whose servers are defined in the local network configuration, loses its mind when it loses Internet.
We’re not even using SIP trunks… we have a PRI. The system should be able to stand alone without internet connection at all.
Can someone give me some insight about what I need to do to make my PBX less dependent on an internet connection it shouldn’t even need?
Uhm actually no. It needs to DNS for various other things like resolving Repo URLs, yum updates, etc, etc. etc. Linux systems use DNS quite a lot for things. Oh yeah, validating activation and licenses.
They aren’t using straight up IPs for these types of things. Not even RHEL or other Linux OS distro’s when you need to update/upgrade just use IPs. They expect working DNS.
I certainly understand the need for DNS for updates, YUM, etc.
But to make a phone call? Even station to station? That is really unacceptable, and borders on dangerous.
Do you know what the PBX is looking for? It’s certainly not doing a YUM update during a phone call… it had better not be doing an update at all without checking with me first, or me initiating it.
I just find it very scary that my phone system goes down if my internet goes out.
Um, actually yes - do a Wireshark capture of a FreePBX box - they talk to Sangoma’s boxes all the time - and yes they use DNS to resolve where they are going, but they are using DNS because they are trying to talk back to Sangoma - Greg (the Poster) is correct - a system using a PRI and phones on a private LAN should not have to be in contact with the Internet at all for things other than maintenance and updates - the phoning home for commercial module license enforcement is a trade-off you make for using commercial modules, but overall FreePBX REQUIRES a constant connection - and it does not react with grace if it loses it.
This could actually be a detriment to deploying it in a secure environment but it is what it is.
Mr. Snover, you are confusing the issue with your insistence that PBX module licensing is in any way related to OP’s report, it is not. While system admin does phone home, it will never impair PBX operation if it’s unable to access the licensing server.
There is a very well known limitation with chan_sip in Asterisk that causes serious issues when DNS is lost. You will find endless discussions and workarounds going back more than a decade. As @BlazeStudios said, a permanent fix is to migrate to pjsip for all endpoints.
127.0.0.1 is the first DNS address on my PBX.
A ps ax | grep dns shows that /usr/sbin/dnsmasq is running, although I don’t remember configuring it so it may not be configured properly?
Should my DHCP point to the IP address of the PBX for DNS resolution for phone station configuration? Currently DHCP is set to an external DNS server.
The phones are not the issue. They work fine, it’s the PBX that is the issue and Chan_SIP puking due to lack of DNS resolution. The phones would need DNS support if they were using FQDN’s to get to the PBX, they are not. They are not resolving DNS in any way.
The only thing having the issue is Chan_SIP and the PBX. So unless the PBX is on DHCP with a static lease and thus means the DHCP server is pushing DNS to it, then I’m not sure what DHCP has to do with any of this.
And it was answered. Chan_SIP didn’t like not being able to issue a DNS resolution. But without seeing any logs or activity from this time frame it is going to be hard to say what was causing the issue.