Yesterday I had a weird thing happen. It is running now, but I am wondering what could have happened. So:
I have an Asterisk system with FreePBX The system sits behind an Xfinity cable modem and a firewall. I have fixed IP addresses. the Xfinity Router is x.x.x.96, the firewall has x.x.x.91. Everything worked fine until suddenly I would only get “lines busy”, and ther were no incoming calls. System status told me that everything was OK, the trunk was registerd, all phones on line. I called the SIP provider, and thy told me that the trunk regitration was denied because the IP address had switched from the .91 number to the .96 number. We tried a few things that did not help, in the end I decided to reboot the Asterisk box, and lo and behold, the registration IP switched back to .91 and the trunk registered.
Has anyone seen that? Why would something like that happen? And why would a reboot fix that?
I have also had an Xfinity modem in front of a sonicwall and wasn’t able to get sip trunking to work well at all, due to the fact that the modem/router from Comcast is doing some unnecessary NAT when sending the traffic to the WAN Interface of the firewall.
The firewall is doing NAT as well, so my SIP traffic got screwed up, inbound RTP would never arrive.
I tried the modem in bridge modem, but lost internet connection once a day, so didn’t work either.
I ended up replacing the Xfinity device with a 3rd party modem from their list of supported 3rd party vendors. (I had to switch to dynamic IP addresses though, cause Comcast static wasn’t supported on other modems).
Thank you for the response. I did have a similar problem a while back when I had a system with Xifinity at a different location. It would drop the connection also at irregular intervals, probably about every 2 days or so. In the end I simply went with another ISP (Centurylink), and I never had any problems after that. Centurylink is too slow, though… I now have a permanent IP address, and the system has dropped connection a few times in the year since I have that operating here, not so bad. But of course it would be better if that never happened …
One problem I see is that in my old system (with a much older PBX distro), it would show the trunk as disconnected, so I know something was wrong that I could ususally fix with a reboot. In my current system (FreePBX12), the trunk shows up as registered (in the system status panel), even though it clearly was not registered. Maybe a software fluke?
I would be so great if the system could create an email to me once it has tried a number of times to register the trunk, or even automatically reboot if nothing has happened after, say, 10 tries to register. Do you know of a facility to do this?
For now, I am just watching the system and do a testcall every morning to see if we are still online. But that is a band-aid solution at best …
Doubt that that’s a software bug.
When that happens do a packet capture on your firewall to see if SIP traffic is passed through as it should.
Do you have ports forwarded on your firewall?
Have qualify=yes in the trunk settings, then you can browse for unreachable or lagged trunks in your Asterisk logs.
You can write your own little Cron script to periodically check trunk registrations or trunk peers for unreachable and send an email to you if they’re offline.
In any case, FPBX 13 is a real improvement to 12, so you can upgrade that too, and use Asterisk 13 as well.
Also, any software bugs affecting calls would more likely be an issue with an older asterisk version rather then FPBX.
Very good info. Thanks. Do you you know where I could find something that could tell me how to make that cron script? I am not an IT guy, but I know enough that I could ryoally screw up a machine -)
On the SIP traffic: I think it went through for the following reasons: While I could not make or receive any calls, I had the CLI open, and the system kept on attempting to connect and reporting that the SIP registration had been denied. And my SIP provider was able to see all those requests, but also told me that the IP address was wrong (as I mentioned above). In other words, my server tried to register the trunk with an IP address that the provider didn’t recognize and denied. All the while, the status panel showed the trunk as “registered”.
Anyway, In a quiet moment I will try to upgrade to FPBX13. I was planning to clone the drive anyway for emergencies, so I might use that then to attempt an upgrade once the clone is done