<div dir="ltr"><div>I am using docker with freeswitch without issue, and im double natted (so container is on a machine that is natted). in my vars.xml i define two variables:<br><X-PRE-PROCESS cmd="set" data="bind_server_ip=192.168.0.1"/><br> <X-PRE-PROCESS cmd="set" data="external_server_ip=100.100.100.100"/><br><br></div><div>external_server_ip being the public IP for the server. For external profiles I have:<br><param name="rtp-ip" value="$${bind_server_ip}"/><br> <param name="sip-ip" value="$${bind_server_ip}"/><br> <param name="ext-rtp-ip" value="$${external_server_ip}"/><br> <param name="ext-sip-ip" value="$${external_server_ip}"/><br><br><br></div><div>This works for me. I use TLS for internal reg, but assuming your audio is truly dropping between FS and your sip provider than that should work.<br><br></div><div>~Mitch<br></div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 18, 2015 at 12:30 AM, Jörn Ott <span dir="ltr"><<a href="mailto:joern.ott@ext.pixelhouse.de" target="_blank">joern.ott@ext.pixelhouse.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:#000000"><div>Hello all,<br></div><div><br></div><div>Our company currently uses an asterisk (without GUI) running on Ubuntu 14.04 in a docker environment. As we had a couple of feature requests, I decided to set up Freeswitch/FusionPBX in parallel and later switch over to it. Almost everything works fine despite Docker giving us NAT between the physical network and the container, using different ports as both containers run on the same physical machine and the firewall NATting the physical network to the outside world. I can make calls to asterisk, receive calls from asterisk and receive calls from the outside which go first to asterisk and then are forwarded to freeswitch. The only thing, I can't get to work is outgoing calls from our snom phones to the external SIP provider via freeswitch. Signalling works, but I don't have any media. I tried direct connections between freeswitch and the SIP provider as well as going through asterisk without any success.<br></div><div><br></div><div>On asterisk, we have canreinvite=no in the sip connections to the phones and the provider. I tried the following settings on the internal and external SIP trunk to handle the RTP stream through the PBX. I have set the following options:<br></div><div><br></div><div>In vars.xml:<br></div><div><X-PRE-PROCESS cmd="set" data="external_rtp_ip=PUBLIC_IP"/><br><X-PRE-PROCESS cmd="set" data="external_sip_ip=PUBLIC_IP"/><br></div><div><br></div><div>The public IP is natted to the physical hosts IP on the firewall.<br></div><div><br></div><div>In <br></div><div><div>Hello all,</div><div><br></div><div>Our company currently uses an asterisk (without GUI) running on Ubuntu 14.04 in a docker environment. As we had a couple of feature requests, I decided to set up Freeswitch/FusionPBX in parallel and later switch over to it. Almost everything works fine despite Docker giving us NAT between the physical network and the container, using different ports as both containers run on the same physical machine and the firewall NATting the physical network to the outside world. I can make calls to asterisk, receive calls from asterisk and receive calls from the outside which go first to asterisk and then are forwarded to freeswitch. The only thing, I can't get to work is outgoing calls from our snom phones to the external SIP provider via freeswitch. Signalling works, but I don't have any media. I tried direct connections between freeswitch and the SIP provider as well as going through asterisk without any success.</div><div><br></div><div>I am now running out of ideas on what else I can try to get outgoing calls to work.On asterisk, we have canreinvite=no in the sip connections to the phones and the provider. I tried the following settings on the internal and external SIP trunk to handle the RTP stream through the PBX. I have set the following options:</div><div><br></div><div>In vars.xml:</div><div><X-PRE-PROCESS cmd="set" data="external_rtp_ip=PUBLIC_IP"/><br><X-PRE-PROCESS cmd="set" data="external_sip_ip=PUBLIC_IP"/><br></div><div><br></div><div>The public IP is natted to the physical hosts IP on the firewall.</div><div><br></div><div>In sip_profiles/external.xml, I have the following:<br></div><div> <param name="debug" value="0"/><br> <param name="sip-trace" value="no"/><br> <param name="sip-capture" value="no"/><br> <param name="rfc2833-pt" value="101"/><br> <param name="sip-port" value="$${external_sip_port}"/><br> <param name="dialplan" value="XML"/><br> <param name="context" value="public"/><br> <param name="dtmf-duration" value="2000"/><br> <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/><br> <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/><br> <param name="hold-music" value="$${hold_music}"/><br> <param name="zrtp-passthru" value="true"/><br> <param name="rtp-timer-name" value="soft"/><br> <param name="local-network-acl" value="localnet.auto"/><br> <param name="manage-presence" value="false"/><br> <param name="inbound-codec-negotiation" value="generous"/><br> <param name="nonce-ttl" value="60"/><br> <param name="auth-calls" value="false"/><br> <param name="rtp-ip" value="$${local_ip_v4}"/><br> <param name="sip-ip" value="$${local_ip_v4}"/><br> <param name="rtp-timeout-sec" value="300"/><br> <param name="rtp-hold-timeout-sec" value="1800"/><br> <param name="tls" value="$${external_ssl_enable}"/><br> <param name="tls-only" value="false"/><br> <param name="tls-bind-params" value="transport=tls"/><br> <param name="tls-sip-port" value="$${external_tls_port}"/><br> <param name="tls-cert-dir" value="$${external_ssl_dir}"/><br> <param name="tls-passphrase" value=""/><br> <param name="tls-verify-date" value="true"/><br> <param name="tls-verify-policy" value="none"/><br> <param name="tls-verify-depth" value="2"/><br> <param name="tls-verify-in-subjects" value=""/><br> <param name="tls-version" value="$${sip_tls_version}"/><br> <param name="ext-rtp-ip" value="$${external_rtp_ip}"/><br></div><div> <param name="ext-sip-ip" value="$${external_sip_ip}"/><br> <param name="dtmf-type" value="rfc2833"/><br> <param name="bypass-media" value="false"/><br> <param name="bypass_media_after_bridge" value="false"/><br> <param name="bypass_media" value="false"/><br> <param name="bypass-media-after-bridge" value="false"/><br> <param name="sip-force-contact" value="NDLB-connectile-dysfunction"/><br> <param name="sip-sticky-contact" value="true"/><br> <param name="sip_sticky_contact" value="true"/><br> <param name="sip_ignore_reinvites" value="true"/><br></div><div><br></div><div>I have added bypass-media and bypass-media-after-bridge with underscore and with dash as I found contradicting information on the web.<br></div><div><br></div><div>In sip_profiles/internal.xml, I have<br></div><div> <param name="debug" value="0"/><br> <param name="sip-trace" value="no"/><br> <param name="sip-capture" value="no"/><br> <param name="watchdog-enabled" value="no"/><br> <param name="watchdog-step-timeout" value="30000"/><br> <param name="watchdog-event-timeout" value="30000"/><br> <param name="log-auth-failures" value="true"/><br> <param name="forward-unsolicited-mwi-notify" value="false"/><br> <param name="rfc2833-pt" value="101"/><br> <param name="sip-port" value="$${internal_sip_port}"/><br> <param name="dialplan" value="XML"/><br> <param name="dtmf-duration" value="2000"/><br> <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/><br> <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/><br> <param name="rtp-timer-name" value="soft"/><br> <param name="hold-music" value="$${hold_music}"/><br> <param name="apply-nat-acl" value="nat.auto"/><br> <param name="apply-inbound-acl" value="domains"/><br> <param name="local-network-acl" value="localnet.auto"/><br> <param name="record-path" value="$${recordings_dir}"/><br> <param name="record-template" value="${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}/${uuid}.wav"/><br> <param name="manage-presence" value="true"/><br> <param name="presence-probe-on-register" value="true"/><br> <param name="manage-shared-appearance" value="true"/><br> <param name="presence-hosts" value="$${domain},$${local_ip_v4}"/><br> <param name="presence-privacy" value="$${presence_privacy}"/><br> <param name="inbound-codec-negotiation" value="generous"/><br> <param name="tls" value="$${internal_ssl_enable}"/><br> <param name="tls-only" value="false"/><br> <param name="tls-bind-params" value="transport=tls"/><br> <param name="tls-sip-port" value="$${internal_tls_port}"/><br> <param name="tls-cert-dir" value="$${internal_ssl_dir}"/><br> <param name="tls-passphrase" value=""/><br> <param name="context" value="default"/><br> <param name="sip-ip" value="$${local_ip_v4}"/><br> <param name="rtp-ip" value="$${local_ip_v4}"/><br> <param name="tls-verify-date" value="true"/><br> <param name="tls-verify-policy" value="none"/><br> <param name="tls-verify-depth" value="2"/><br> <param name="tls-verify-in-subjects" value=""/><br> <param name="tls-version" value="$${sip_tls_version}"/><br> <param name="nonce-ttl" value="60"/><br> <param name="auth-calls" value="$${internal_auth_calls}"/><br> <param name="inbound-reg-force-matching-username" value="true"/><br></div><div> <param name="auth-all-packets" value="false"/><br> <param name="rtp-timeout-sec" value="300"/><br> <param name="rtp-hold-timeout-sec" value="1800"/><br> <param name="challenge-realm" value="auto_to"/><br> <param name="bypass_media" value="false"/><br> <param name="bypass-media" value="false"/><br> <param name="bypass_media_after_bridge" value="false"/><br> <param name="bypass-media-after-bridge" value="false"/><br> <param name="sip_sticky_contact" value="true"/><br> <param name="sip-force-contact" value="NDLB-connectile-dysfunction"/><br> <param name="sip_ignore_reinvites" value="true"/><br> <param name="ext-rtp-ip" value="PHYSICAL_IP"/><br> <param name="ext-sip-ip" value="PHYSICAL_IP"/><br></div><div><br></div><div>PHYSICAL_IP is the IP of the physical host on which the docker container runs.<br></div><div><br></div><div>The gateway definition looks like this:<br></div><div><gateway name="781c8f7f-5d96-4e9e-8939-423b883cb675"><br> <param name="password" value="xxxxx"/><br> <param name="proxy" value="PROVIDER_HOSTNAME"/><br> <param name="expire-seconds" value="800"/><br> <param name="register" value="false"/><br> <param name="retry-seconds" value="30"/><br> <param name="context" value="public"/><br> </gateway><br></div><div><br></div><div><br></div><div>Kind regards<br></div><div>Joern<br></div><div><br></div></div></div></div><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br></div>