I have freepbx connected to two trunks: Sipgate (for testing) and Vodafone (main line, cable router). On my pfsense router I have created NAT portforwardings for ports 5060 (udp), 5061 (tcp) and 10000 to 20000 (udp) as well as corresponding firewall rules.
With both trunks I can make outgoing calls and both participants can hear each other. With Sipgate I can make inbound calls and both participants can hear each other as well. When calling the Vodafone number however, the called SIP client can hear the audio from the mobile phone, but not vice versa.
No audio is transmitted from the SIP softphone back to the external mobile phone. Also the call is dropped automatically after 20 seconds.
There are no blocked packets to be seen in the PFSense firewall logs. Although I have quite some IT experience, I am an absolute VOIP noob. Please help me and give me some hints how to debug and fix this.
As only one trunk is affected I suspect a configuration problem in FreePBX rather than a routing or firewall problem.
From the behavior described, maybe the NAT settings in Asterisk are not defined
Go to Settings > Asterisk SIP Settings
In “NAT Settings”, click in “Detect Network Settings”, after it detects your network configuration, click in submit and apply, after that you can test again
How does this Vodafone line reach the PABX?
Does the Vodafone line reach the PABX physically (like using a dedicated network card for it) or does it come via the internet?
If it comes via a physical medium (dedicated network card) it could be something related to Linux network routes and configurations