FS: Bind external IP by interface

Let's use freeswitch's interface: capability rather than specify a static IP
to bind to, which breaks then on systems attached to a DHCP router.
This commit is contained in:
Keith Whyte 2022-11-19 00:08:18 +01:00
parent 06100c7d2d
commit 020284bf96
4 changed files with 6 additions and 4 deletions

View file

@ -58,8 +58,8 @@
<!-- <!--
DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS! DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
--> -->
<param name="rtp-ip" value="$${external_ip}"/> <param name="rtp-ip" value="$${interface_ip}"/>
<param name="sip-ip" value="$${local_ip_v4}"/> <param name="sip-ip" value="$${interface_ip}"/>
<param name="ext-rtp-ip" value="stun:meet.rhizomatica.org:4445"/> <param name="ext-rtp-ip" value="stun:meet.rhizomatica.org:4445"/>
<param name="ext-sip-ip" value="$${local_ip_v4}"/> <param name="ext-sip-ip" value="$${local_ip_v4}"/>
<param name="rtp-timeout-sec" value="90"/> <param name="rtp-timeout-sec" value="90"/>

View file

@ -25,8 +25,8 @@
<param name="inbound-codec-prefs" value="$${global_codec_prefs}"/> <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
<param name="outbound-codec-prefs" value="$${global_codec_prefs}"/> <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>
<param name="rtp-timer-name" value="soft"/> <param name="rtp-timer-name" value="soft"/>
<param name="rtp-ip" value="$${external_ip}"/> <param name="rtp-ip" value="$${interface_ip}"/>
<param name="sip-ip" value="$${external_ip}"/> <param name="sip-ip" value="$${interface_ip}"/>
<param name="aggressive-nat-detection" value="false"/> <param name="aggressive-nat-detection" value="false"/>
<param name="apply-inbound-acl" value="domains"/> <param name="apply-inbound-acl" value="domains"/>
<param name="apply-register-acl" value="domains"/> <param name="apply-register-acl" value="domains"/>

View file

@ -109,6 +109,7 @@ class rhizo_base::freeswitch::common {
$vpn_ip_address = $rhizo_base::vpn_ip_address $vpn_ip_address = $rhizo_base::vpn_ip_address
$wan_ip_address = $rhizo_base::wan_ip_address $wan_ip_address = $rhizo_base::wan_ip_address
$fs_bound_if = $rhizo_base::stats_if
$voip_username = $rhizo_base::voip_username $voip_username = $rhizo_base::voip_username
$voip_fromuser = $rhizo_base::voip_fromuser $voip_fromuser = $rhizo_base::voip_fromuser

View file

@ -37,6 +37,7 @@
--> -->
<X-PRE-PROCESS cmd="set" data="local_ip_v4=<%= @vpn_ip_address %>"/> <X-PRE-PROCESS cmd="set" data="local_ip_v4=<%= @vpn_ip_address %>"/>
<X-PRE-PROCESS cmd="set" data="interface_ip=interface:<%= @fs_bound_if %>"/>
<X-PRE-PROCESS cmd="set" data="external_ip=<%= @wan_ip_address %>"/> <X-PRE-PROCESS cmd="set" data="external_ip=<%= @wan_ip_address %>"/>
<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/rccn"/> <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/rccn"/>