Freepbx behind symmetric nat

My server is behind symmetric nat. How can i let my server work? Adding a TURN server with public ip?

Edit: I can’t control the NAT setting. My router based on openwrt. After pppoe, the ip address of wan starting from 10.x.x.x or 100.x.x.x , so the router itself is owning a private ip. My freepbx server connected to the lan of the router (freepbx server address: is there any method to let the freepbx server working on internet?

Edit2: Reply to Stewart1. Sorry my account is banned. I will try to use openvpn to give a shot. it’s seem like a great idea. I really want to set a freepbx server on vps. but the reason why i use freepbx in local is because i want to set a huawei dongle as a custom trunk to use my phone number. I will go aboard for a long time about two years, and i still want to use my chinese phone number in abroad. If i set a freepbx server on google cloud. How can i connect the trunk to google cloud? Is there any solutions? Thanks for your helping!

Edit3: Reply to @Stewart1 Hey Stewart! I tried to install openvpn on my pi and forward the udp port to the vps. It’s running well! and i don’t even need to consider the safety issue. because the freepbx server is behind nat! Well, I set this server only for myself, so even maybe this solution is not convenience,but by far this is the only way I can access my server behind the nat. Thanks!

Please tell us the rest of the story. If you have some administrative control over said NAT and can forward the required ports, it doesn’t matter what kind of NAT you have.

If all your extensions are internal (on the same LAN as the PBX) and all your trunks are analog, PRI and/or GSM gateways, your server doesn’t need to be connected to the internet so it also doesn’t matter what kind of NAT you have.

1 Like

I took a look at your original post and the no audio.pcapng file. Though the PBX <-> MacBook SIP is there, I unfortunately couldn’t see the SIP from/to the originating extension (on China Mobile?), I’m guessing that frpc is running on the Pi and the internally looped traffic is not captured by Wireshark.

My suspicion is that Asterisk views the external extension as local so doesn’t substitute the public IP address in the SDP.

Could you run FreePBX in your Google Cloud server instead of on the Pi? If not, please explain your constraints. I documented a ‘cookbook’ solution for that; see .

Or, set up an OpenVPN server on the Pi and forward its UDP port via FRP. The mobile should then be able to get a VPN connection to the Pi and appear as a local extension.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.