Help Needed Fast

My office PBX is down related to widespread Verizon outage. Will pay for support but only have cell service and 4G.

I have a wierd thing going on.

I have FreePBX Distro running on a dedicated machine on my LAN at There are four incoming Verizon POTS lines on a Sangoma card and 8 Grandstream GXP-2000’s plugged into the same Cisco switch as the FreePBX machine and the pfSense router.

I have a pfSense router with a statip IP on the WAN side (through Verizon DSL) and a static IP on the LAN side ( LAN pass-through (,) default rule lets any traffic go anywhere inside the LAN.

I lost internet (cut Verizon line down the street) and all of my phones unregistered.

I disconnected the WAN on the pfSense router and still none of the Grandstreams on the LAN would register. I could ping all of the GXP’s through the switch just fine from the FreePBX CLI, but the phones would not register or work at all.

Then I shut down the pfSense machine entirely… Same thing. No phones registered, but could ping both ways.

The LAN IP address of the FreePBX machine is set as both the DNS and Asterisk server on all of the GXP’s.

Nothing worked to get the IP phones running. Rebooted the FreePBX machine and the pfSense machine 20 zillion times… Nothing doing. Incoming calls from the POTS lines hit the FreePBX box and went directly to voicemail, but none of the phones on the LAN worked.

Then the internet came back on… And WHAM!.. All of the phones started working again.


You had Asterisk configured to do DNS lookups without caching enabled.

Just a point, a topic of “need help fast” will most often get no reply at all. If you want to pay for support, that’s great and we appreciate the support. The support tech’s aren’t in the forums they are helping customers. You can click on our support link and purchase a support option.

If you want help in the forum, clearly state your problem.

Lastly, why would the GXP’s need DNS? Is anything specified as a hostname that needs to be resolved.

Thanks, but I don’t know what “DNS lookups without caching enabled” means, or the proper way to fix my configuration.

When the phones and interenet went down at my office, I tried to pay for support through my android phone but the site kept dumping me back at the login screen.

I then called your office to pay for support, but I was told that there were no sales people available to take my money.

I then spoke for about 10-15 minutes to a nice guy in the support department who had me look at the resolv.conf through the CLI and then told me he couldn’t help me until the internet came back (which was the problem I called about…)

I will GLADLY pay for support… And in fact I just bought an hour of support now that I have internet back on…

However,… When the problem I have is that the POTS lines won’t connect to a LAN when the internet is down, and when clients can’t get to my desk phone when they call in… It is frustrating to be basically told to “call us back when the problem fixes itself, and then maybe we can help”.

That being said, I’m not griping about the money, and I appreciate the help… I am a lawyer and I charge people for my time, even if I can’t fix their problems… So I’d like to get you guys paid for your time helping me…

Just let me know what I need to do pay you for the time I took.

I don’t know why the GXP’s had the FreePBX server IP as the DNS server. The Schmooze tech support guy told me to configure it that way. I didn’t make any difference though… The phones still wouldn’t register until the internet came back on.

This is a perennial complaint and well known limitation of Asterisk. If you google for “Asterisk SIP registration DNS” you will find many reports of losing SIP registration upon loss of DNS. There are a few band aid style fixes such as enabling DNS caching on your PBX. Some report success by registering your trunks to an IP address instead of the fqdn.

I currently am using POTS lines for incoming calls and SIP VOIP (Braodvoice) for outgoing calls. I could easily get rid of the Broadvoice line and use the POTS lines for outgoing calls as well, if that will mean that my phones will keep working when there’s a problem with internet service.

Of if enabling a DNS cache would work, and if it is not too complicated or insecure, I would do that too. How does one accomplish this?

In 8 years… This is the first time I have lost DSL from Verizon, so as a practical matter, I don’t know how worried I should be about it… But if there is way to take care of it, I’ll certainly do it. Four hours without phones is not cool.


Couple of things, thanks for the support of the project, however I don’t work for Schmooze. My company is a Schmooze Partner, we pay for support like everyone else.

Now that your Internet is up you can buy an hour of support and the tech can configure the caching DNS server. You can get between 8-24 hours of holdover this way.

As was pointed out, this is a known issue with Asterisk. It also effects POTS lines.

Would that get around this DNS/SIP failure thing?

I have an old serial external modem and an existing dialup account (that I haven’t used in years).

If I hook it up and use it when the DSL goes south, would that keep my SIP phones working?

The caching is the usual solution. When we install without Internet connectivity that is what we do. I have been meaning to sniff the DNS service and see exactly what URL Asterisk is trying to phone home to so I could add it to the hosts file and the loopback address.

DNS caching is not a bad idea to always do imho.

Install caching-nameserver if not already installed:
yum -y install bind
yum -y install bind-utils
yum -y install caching-nameserver

Open /etc/named.caching-nameserver.conf and copy/paste the contents into /etc/named.conf if the file doesn’t already exist. Add the following line to the end of the section called options in the named.conf file.

forwarders {;; };

Where the two entries are your primary and secondary DNS servers. You could use your ISP’s DNS servers or a 3rd party DNS provider such as or Google.

Set it to automatically start on boot.
chkconfig --level 345 named on

nano /etc/resolv.conf

Add the following to the first line of /etc/resolv.conf so that DNS queries check the PBX cache for matches before going upstream.


Now start the service for this session.
service named start