[Freeswitch-users] Docker/Freeswitch/FusionPBX/snom320 no media on outgoing calls

Mitch Capper mitch.capper at gmail.com
Sun Aug 23 00:58:16 MSD 2015


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:
<X-PRE-PROCESS cmd="set" data="bind_server_ip=192.168.0.1"/>
 <X-PRE-PROCESS cmd="set" data="external_server_ip=100.100.100.100"/>

external_server_ip being the public IP for the server.    For external
profiles I have:
<param name="rtp-ip" value="$${bind_server_ip}"/>
    <param name="sip-ip" value="$${bind_server_ip}"/>
    <param name="ext-rtp-ip" value="$${external_server_ip}"/>
    <param name="ext-sip-ip" value="$${external_server_ip}"/>


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.

~Mitch


On Tue, Aug 18, 2015 at 12:30 AM, Jörn Ott <joern.ott at ext.pixelhouse.de>
wrote:

> Hello all,
>
> 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.
>
> 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:
>
> In vars.xml:
> <X-PRE-PROCESS cmd="set" data="external_rtp_ip=PUBLIC_IP"/>
> <X-PRE-PROCESS cmd="set" data="external_sip_ip=PUBLIC_IP"/>
>
> The public IP is natted to the physical hosts IP on the firewall.
>
> In
> Hello all,
>
> 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.
>
> 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:
>
> In vars.xml:
> <X-PRE-PROCESS cmd="set" data="external_rtp_ip=PUBLIC_IP"/>
> <X-PRE-PROCESS cmd="set" data="external_sip_ip=PUBLIC_IP"/>
>
> The public IP is natted to the physical hosts IP on the firewall.
>
> In sip_profiles/external.xml, I have the following:
>                 <param name="debug" value="0"/>
>                 <param name="sip-trace" value="no"/>
>                 <param name="sip-capture" value="no"/>
>                 <param name="rfc2833-pt" value="101"/>
>                 <param name="sip-port" value="$${external_sip_port}"/>
>                 <param name="dialplan" value="XML"/>
>                 <param name="context" value="public"/>
>                 <param name="dtmf-duration" value="2000"/>
>                 <param name="inbound-codec-prefs"
> value="$${global_codec_prefs}"/>
>                 <param name="outbound-codec-prefs"
> value="$${outbound_codec_prefs}"/>
>                 <param name="hold-music" value="$${hold_music}"/>
>                 <param name="zrtp-passthru" value="true"/>
>                 <param name="rtp-timer-name" value="soft"/>
>                 <param name="local-network-acl" value="localnet.auto"/>
>                 <param name="manage-presence" value="false"/>
>                 <param name="inbound-codec-negotiation" value="generous"/>
>                 <param name="nonce-ttl" value="60"/>
>                 <param name="auth-calls" value="false"/>
>                 <param name="rtp-ip" value="$${local_ip_v4}"/>
>                 <param name="sip-ip" value="$${local_ip_v4}"/>
>                 <param name="rtp-timeout-sec" value="300"/>
>                 <param name="rtp-hold-timeout-sec" value="1800"/>
>                 <param name="tls" value="$${external_ssl_enable}"/>
>                 <param name="tls-only" value="false"/>
>                 <param name="tls-bind-params" value="transport=tls"/>
>                 <param name="tls-sip-port" value="$${external_tls_port}"/>
>                 <param name="tls-cert-dir" value="$${external_ssl_dir}"/>
>                 <param name="tls-passphrase" value=""/>
>                 <param name="tls-verify-date" value="true"/>
>                 <param name="tls-verify-policy" value="none"/>
>                 <param name="tls-verify-depth" value="2"/>
>                 <param name="tls-verify-in-subjects" value=""/>
>                 <param name="tls-version" value="$${sip_tls_version}"/>
>                 <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
>                 <param name="ext-sip-ip" value="$${external_sip_ip}"/>
>                 <param name="dtmf-type" value="rfc2833"/>
>                 <param name="bypass-media" value="false"/>
>                 <param name="bypass_media_after_bridge" value="false"/>
>                 <param name="bypass_media" value="false"/>
>                 <param name="bypass-media-after-bridge" value="false"/>
>                 <param name="sip-force-contact"
> value="NDLB-connectile-dysfunction"/>
>                 <param name="sip-sticky-contact" value="true"/>
>                 <param name="sip_sticky_contact" value="true"/>
>                 <param name="sip_ignore_reinvites" value="true"/>
>
> I have added bypass-media and bypass-media-after-bridge with underscore
> and with dash as I found contradicting information on the web.
>
> In sip_profiles/internal.xml, I have
>                 <param name="debug" value="0"/>
>                 <param name="sip-trace" value="no"/>
>                 <param name="sip-capture" value="no"/>
>                 <param name="watchdog-enabled" value="no"/>
>                 <param name="watchdog-step-timeout" value="30000"/>
>                 <param name="watchdog-event-timeout" value="30000"/>
>                 <param name="log-auth-failures" value="true"/>
>                 <param name="forward-unsolicited-mwi-notify"
> value="false"/>
>                 <param name="rfc2833-pt" value="101"/>
>                 <param name="sip-port" value="$${internal_sip_port}"/>
>                 <param name="dialplan" value="XML"/>
>                 <param name="dtmf-duration" value="2000"/>
>                 <param name="inbound-codec-prefs"
> value="$${global_codec_prefs}"/>
>                 <param name="outbound-codec-prefs"
> value="$${global_codec_prefs}"/>
>                 <param name="rtp-timer-name" value="soft"/>
>                 <param name="hold-music" value="$${hold_music}"/>
>                 <param name="apply-nat-acl" value="nat.auto"/>
>                 <param name="apply-inbound-acl" value="domains"/>
>                 <param name="local-network-acl" value="localnet.auto"/>
>                 <param name="record-path" value="$${recordings_dir}"/>
>                 <param name="record-template"
> value="${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}/${uuid}.wav"/>
>                 <param name="manage-presence" value="true"/>
>                 <param name="presence-probe-on-register" value="true"/>
>                 <param name="manage-shared-appearance" value="true"/>
>                 <param name="presence-hosts"
> value="$${domain},$${local_ip_v4}"/>
>                 <param name="presence-privacy"
> value="$${presence_privacy}"/>
>                 <param name="inbound-codec-negotiation" value="generous"/>
>                 <param name="tls" value="$${internal_ssl_enable}"/>
>                 <param name="tls-only" value="false"/>
>                 <param name="tls-bind-params" value="transport=tls"/>
>                 <param name="tls-sip-port" value="$${internal_tls_port}"/>
>                 <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
>                 <param name="tls-passphrase" value=""/>
>                 <param name="context" value="default"/>
>                 <param name="sip-ip" value="$${local_ip_v4}"/>
>                 <param name="rtp-ip" value="$${local_ip_v4}"/>
>                 <param name="tls-verify-date" value="true"/>
>                 <param name="tls-verify-policy" value="none"/>
>                 <param name="tls-verify-depth" value="2"/>
>                 <param name="tls-verify-in-subjects" value=""/>
>                 <param name="tls-version" value="$${sip_tls_version}"/>
>                 <param name="nonce-ttl" value="60"/>
>                 <param name="auth-calls" value="$${internal_auth_calls}"/>
>                 <param name="inbound-reg-force-matching-username"
> value="true"/>
>                 <param name="auth-all-packets" value="false"/>
>                 <param name="rtp-timeout-sec" value="300"/>
>                 <param name="rtp-hold-timeout-sec" value="1800"/>
>                 <param name="challenge-realm" value="auto_to"/>
>                 <param name="bypass_media" value="false"/>
>                 <param name="bypass-media" value="false"/>
>                 <param name="bypass_media_after_bridge" value="false"/>
>                 <param name="bypass-media-after-bridge" value="false"/>
>                 <param name="sip_sticky_contact" value="true"/>
>                 <param name="sip-force-contact"
> value="NDLB-connectile-dysfunction"/>
>                 <param name="sip_ignore_reinvites" value="true"/>
>                 <param name="ext-rtp-ip" value="PHYSICAL_IP"/>
>                 <param name="ext-sip-ip" value="PHYSICAL_IP"/>
>
> PHYSICAL_IP is the IP of the physical host on which the docker container
> runs.
>
> The gateway definition looks like this:
> <gateway name="781c8f7f-5d96-4e9e-8939-423b883cb675">
>       <param name="password" value="xxxxx"/>
>       <param name="proxy" value="PROVIDER_HOSTNAME"/>
>       <param name="expire-seconds" value="800"/>
>       <param name="register" value="false"/>
>       <param name="retry-seconds" value="30"/>
>       <param name="context" value="public"/>
>     </gateway>
>
>
> Kind regards
> Joern
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20150822/c7f11dff/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list