Remote extension behind NAT question

Status
Not open for further replies.

jrosetto

Member
Apr 29, 2020
71
6
8
39
I have a remote extension behind NAT and I can get it to make calls but there is no audio.

If I enable rport on the remote extension I am able to get audio working.

Is there any way to make this happen on the FusionPBX side rather than the extension?
Would be nice to only have to modify a setting in one place rather than every endpoint we have.

We have FusionPBX in a cloud host so this is going to be an issue for every extension.

Any help or suggestions are greatly appreciated.

Thanks.
 
If you provision the phones from your Fusion server, an depending on the phone make/model, you should be able to set it in the provision template. For example in default settings yealink_rport can be enabled.
Code:
#########################################################################
##                     NAT Settings                                    ##
#########################################################################

#Enable or disable the NAT traversal; 0-Disabled (default), 1-STUN;
account.1.nat.nat_traversal = {if isset($stun_server)}1{else}0{/if}

#Configure the STUN server address.
account.1.nat.stun_server = {$stun_server}

#Configure the STUN server port, the default value is 3478.
account.1.nat.stun_port = {if isset($stun_port)}{$stun_port}{else}3478{/if}

#Enable or disable the NAT keep-alive; 0-Disabled, 1-Default (default), 2-Option, 3-Notify;
account.1.nat.udp_update_enable = 3

#Specify the keep-alive interval (in seconds), the default value is 30.
account.1.nat.udp_update_time = 30

#Enable or disable the NAT Rport; 0-Disabled (default), 1-Enabled;
account.1.nat.rport = {$yealink_rport}
 
I get that is an option and maybe the only option. I was looking for more of a global option so I don't have to remember every time we decide to use a new phone make or model to set this variable. May not be possible but wanted to check anyway.
 
I moved from an asterisk implimentation over to FusionPBX because it seemed to have a larger feature set. In asterisk I didn't have to do anything except specify my public IP address on the server side.

Is there a way to get FusionPBX to act in the same manner that asterisk does?

I hosted both on Azure so networking wise they are exactly the same.
 
Found this and solved all my problems. This is for FreeSWITCH but all I had to do was use it on my SIP Internal rather than External to make everything work without STUN or RPort modifications on the endpoints.

https://freeswitch.org/confluence/display/FREESWITCH/General+NAT+example+scenarios

Posting this in case anyone else runs into the same issues. I wasted days trying different scenarios. In the end I did a clean install and used the following example. Also I did a 1to1 NAT for every port because I noticed that there was a lot of port switching with the NAT issue on both sides.
 
Status
Not open for further replies.