Intermittent Inbound Failure, Outbound Fine

We are having issues with our inbound calls not coming through. When calling in there is just silence. Outbound still seems to function 100%. This started suddenly about two weeks ago with no changes made to any configuration, no network or otherwise. We have SIP trunks with signalwire and can see the call trying to establish on their side but we do see an INVITE in the sip logs. The problem seems to happen more often when there is an active call going.

We have tried moving the Freepbx to different hardware, as well as restoring an older backup from two weeks before the issue started happening. We have also had comcast replace their fiber switch, we have tried using a different firewall in front of the Freepbx. We have also upgraded Freepbx and modules to the latest versions.

Did you mean “did not see …”?
If so, and your PBX is behind a NAT and you don’t have the signaling port forwarded, it’s possible that the NAT association was lost. Or, it could be dropped if SW sent the INVITE from an address other than the one to which you last registered.

If you did see the INVITE:
In pjsip logger, sngrep, something else?
What does the Asterisk log show for how it was mishandled?

What transport are you using (UDP, TCP, TLS)? Also, see

Yes sorry, we do not see it.

We have opened up sip.signalwire.com (which resolves to several IPs) to our freepbx through our firewall. Also all signaling ports are forwarded through the firewall. Again everything was working fine for a year and then only until two weeks ago.

We are using UDP for trunk registration for signalwire. Our phones register with TCP.

Capture traffic on the WAN interface of your firewall and report whether the failing INVITE appears there.

If not, I’d open a ticket with SW (or possibly your ISP), supplying those details. If yes, you should be able to see where it is getting blocked.

Okay so it seems like one of Signalwire’s IPs for sip.signalwire.com (159.65.244.171) is not allowing inbound calls to come through. But the only other IP I’ve seen our trunks register to (178.128.235.81) works fine. Is there a way to force our trunks to only register to that IP with a setting in Freepbx?

Sure, just set Outbound Proxy to
sip:178.128.235.81\;lr\;hide
but that’s not a good idea – if that server fails or becomes inaccessible, you won’t be able to make or receive calls.

Please explain in more detail. I’m not sure that it applies to your account, but my trunk settings do not have ‘sip.signalwire.com’ anywhere – it only uses an account specific domain name, e.g., abc-dead1234beef.sip.signalwire.com .

If you are saying that when you register to 159.65.244.171, you get a 200 OK response but incoming calls do not reach the WAN interface of your router/firewall, then there is a problem at Signalwire or perhaps at your ISP. Document it carefully and open a ticket with them. OTOH, if the INVITE does reach your firewall but doesn’t get passed to the PBX, or the PBX mishandles it, that’s your problem and you need to figure out what is going wrong.

Setting a manual host entry/override on our firewall to resolve our client specific domain for signalwire seems to force it to register to the 178.128.235.81 IP. It’s not ideal, this is a temporary workaround, we currently have an open ticket with signalwire regarding this issue.

But I did not know about that Outbound Proxy syntax, that is very helpful to know and I will do that in the future if I have issues like this.

I had setup the Freepbx to be public facing and removed the firewall entirely at one point but never got an invite from that 159.65.244.171 IP. But I will try seeing if that IP sends an invite to the firewall as the Freepbx could still just have an issue even if it’s public facing

We also had our ISP come and replace our fiber switch, which isn’t necessarily definitive but it should rule out the fiber switch itself.