Remote extension behind NAT question

Status
Not open for further replies.

jrosetto

Member
Apr 29, 2020
71
6
8
38
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.
 

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,414
376
83
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}
 

jrosetto

Member
Apr 29, 2020
71
6
8
38
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.
 

jrosetto

Member
Apr 29, 2020
71
6
8
38
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.
 

jrosetto

Member
Apr 29, 2020
71
6
8
38
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.