DNS Availability - Phones

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?

Yes - think of your FreePBX like ET - It wants to phone home CONSTANTLY!

Mostly for commercial licensing enforcement, but also for things like telemetry that is reported back to Sangoma.

Also, if you are using SIP trunks, they want constant reassurance that they are still in contact with the servers - and SIP Qualify uses DNS too.

The subject says phones, but you are ranting about the PBX.

What exactly was the problem?

Sorry… I mis-titled the post. It’s about the PBX, and it’s dependence on DNS.

I really can’t have our entire PBX becoming unusable when our internet hiccups… what if someone had to dial 911?

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.

Chan_SIP tries to resolve DNS. It if can’t it craps itself. This is part of the reasons Chan_SIP is going buh-bye and replaced with Chan_PJSIP.

OK… so what is it resolving? I’ll build DNS tables if I need to, so I can keep it working internally if external internet goes down.

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.

1 Like

You mentioned work-arounds… do you have a link to one?

You were already on track with the workarounds. Use an internal DNS system or use /etc/hosts and go from there. Those are two of the workarounds.

dnsmasq running?
resolv.conf lists 127.0.0.1 in first entry?
https://issues.freepbx.org/browse/FREEPBX-5810

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.

1 Like

Hmmm… well, in looking over everything, dnsmasq has been running, and 127.0.0.1 is the first in my etc/resolv.conf

So, the question still remains… why did my phone system lose its mind when my internet was interrupted today?

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.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.