I got a call today and realized that I didn’t have audio in either direction. When I checked my sipstation connectivity under Connectivity >> SIPSTATION I found that my “Contact IP” is showing my LAN address as opposed to my WAN address. My “Network IP” is showing the correct WAN address. Both are highlighted in yellow and right below it says:
“Warning: The SIP Contact header is not set to your WAN IP. It is set to your internal private IP behind NAT. The gateway will attempt to decipher your proper address but your configuration is incorrect. You should review the NAT settings in the Asterisk SIP Settings module, or sip_nat.conf if not using that module.”
I checked my NAT settings in “Asterisk SIP Settings” and everything seems to be correct. Nothing has been changed. My external IP is correctly detected and my local network is properly defined as 192.168.0.0/24.
Everything was working fine a week ago when I did my last test after upgrading my firewall hardware. All required ports are open and freepbx was restarted after the change.
Question: How is the "Contact IP determined or set? And what do I change to make this match my external address?
I’m assuming this has something to do with my new router hardware but I’m not sure what I’m missing.
We do not set that. Its sent by your PBX to us so we just show what is sent. It sounds like to me your router is doing some ALG which is why you are having 1 way audio problems. Turn off all ALG and SIP Helpers on your router.
The issue has been resolved. The issue was with my IPcop router’s domain setting, which is set during installation. In the past I would always leave it set to the default of “localdomain.” The last time I rebuilt the router I set the domain to my dynamic DNS FQDN, xxxxx.dyndns.biz. This apparently broke the ability of any device to resolve the IP address of xxxxx.dyndns.biz from behind the router.
So I rebuilt the router again and left the domain as “localdomain” and everything works again. Not 100% sure why though.