I have a FreePBX local server (version 16.0.43) running behind NAT at my house. I have port 5060 open for SIP, and ports 10001-17000 open for RTP. I have a remote extension at an office about a mile away. It uses a Yealink phone, It’s also behind a NAT (Arris router/modem), no ports open, firewall active. I entered my public IP address for the server in the yealink phone. (I’m not using VPN to connect to server.)
This extension worked just fine. I had no issues at all. Yesterday I needed to get into the remote house’s Arris router/modem. I noticed that SIP ALG was enabled on the router firewall. Reading everywhere that SIP ALG is evil, I decided to disable it. I told the user to test the system (which she didn’t). Shortly after, I was informed the phone was “screwed up”. Upon calling the extension, I noticed that both parties could hear each other for about 5-8 seconds and then there was one way audio. (ext. user could not hear caller, but caller could hear them). All incoming calls would successfully go through, they just became one way after time. If she called out from that extension, it seemed to work fine. As soon as I reenabled SIP ALG, the problem disappeared.
I thought SIP ALG was bad for FreePBX. Why would this happen? I assume its an RTP packet issue with the remote NAT. Did I configure something incorrectly?