We are running FreePBX distro version 5.211.65-11 on a virtual machine segregated from the rest of our network by a vlan. Our network is small to medium sized with about 50 Polycom Soundpoint IP 335 phones.
Locally the phones work great however getting phones to work outside of our local network without a vlan is proving to be a challenge. We use PFSense as our firewall and have a 1:1 NAT setup for an external IP. We also have a separate DSL Line used exclusively for our phone system. Under extension settings for the phone in question we’ve set NAT to YES (as apposed to NO for phones inside our local network). The problem is not that the phones don’t work, the problem is that they work intermittently under this setup. The phone will boot up, register, send and receive calls without a problem for a few hours then suddenly loose connection with the server for a few hours… then for no apparent reason register again and start working.
I’m new to FreePBX and VoIP in general. Any troubleshooting tips would be appreciated even if they seem really basic or obvious. I’ve captured a CLI output for a failed call to one of these phones but don’t know where to start making sense of it.
my guess is that your firewall is closing the UDP ports. typically a phone registers and then the phone system does a “qualify” every minute. if the phone does not respond it is marked as “offline” until the phone registers again. the standard config is to have the phones register once an hour. so check the udp timer settings on your firewall and make sure that they are set to a relatively high number - I tend to use 600 seconds but you can probably get away with a bit less if necessary.
Have you set the Asterisk SIP NAT settings so that FreePBX is aware of the external IP address and the local network addresses? This way SIP will have the correct IP address and translate between the external IP address and local IP addresses.