[Freeswitch-users] [Q] nat is not detected, when running freeswitch in docker from local machine.
Jurijs Ivolga
jurijs.ivolga at gmail.com
Wed Jul 29 18:02:21 UTC 2020
Hi Ruslan,
First of all you need to map UDP ports to ones that are configured in
Freeswitch config file switch.conf.xml. By default it is 16384-32768 for
media.
In your case you are trying to map -p63535-64535:63535-64535/udp, which
probably is inconsistent with ports inside switch.conf.xml and that is why
audio does not go through.
Additionally I would not recommend to use big range as it by default,
because as far as I know, when docker maps port-range it inserts ip
iptables not one rule for range, but separate rule per each port and for me
it was hanging up docker, so use it with caution.
https://github.com/moby/moby/issues/11185 -- seems still not fixed, it is
a couple of years already.
Probably using Freeswitch with docker default bridge is not a good idea and
easy to do, better to use a host network or your own bridge.
Jurijs
On Wed, Jul 29, 2020 at 8:48 PM David Villasmil <
david.villasmil.work at gmail.com> wrote:
> Run the container with —network=host
>
>
> On Wed, 29 Jul 2020 at 16:35, Ruslan Shevchenko <ruslan at shevchenko.kiev.ua>
> wrote:
>
>>
>> Hi, colleagues.
>>
>> I discovered a strange problem when running Freeswitch from docker on the
>> local machine,
>>
>> I have my machine API: 192.168.88.236
>> and docker with internal ip. 172.17.0.2. (local_ip_v4)
>>
>> With the next changes relative to vanilla install:
>> valr.xml :
>> external_rtp_ip=stun:stun.freeswitch.org - changed to
>> external_rtp_ip=192.168.88.236
>> external_sip_ip=stun:stun.freeswitch.org - same
>>
>> autoload_configs/switch.conf.xml --- a narrow set of RTP ports.
>>
>> sip_profiles:
>> internal.xml -- change ext-rtp-ip and ext-sip-ip to 192.168.88.236
>> external.xml -- same
>>
>> Then I trying to run docker from macos which publish ports:
>> docker run -d -p 5060:5060/udp -p 5060:5060/tcp -p5061:5061/tcp -p
>> 5080:5080/udp -p 5080:5080/tcp -p 5066:5066/tcp -p 7443:7443/tcp -p
>> 63535-63635:63535-63635/tcp -p63535-64535:63535-64535/udp -p5555:5555
>> -p5050:5050 -p8000:8000 --hostname zaka-voice
>> zaka-freeswitch-recognition:0.0.1
>>
>> And then when I try to call Freeswitch from linphone from the local net,
>> I can hear an answer, but looks like IVR on the Freeswitch side not
>> receive RTP stream.
>>
>> I can't understand why.
>>
>> One hypothesizes -- that FreeSWITCH not determinate existence of
>> external_ip as NAT mode (?) and ask the phone to send RTP to 172.17.0.2.
>>
>> How to verify this? Maybe exists some ideas, how to debug such
>> situation behind a sip trace?
>>
>> Thanks.
>>
>> P.S. Additional info, if anybody found this interesting:
>>
>> I.e. I see SIP invite from FreeSWITCH
>>
>> SIP/2.0 100 Trying
>> Via: SIP/2.0/TCP 192.168.88.238:50091
>> ;branch=z9hG4bK.rNrD-0O~i;rport=51208;received=172.17.0.1
>> From: <sip:1002 at 192.168.88.236>;tag=4bI6NNSIi
>> To: "33332220" <sip:33332220 at 192.168.88.236>
>> Call-ID: 7At9kxIfv2
>> CSeq: 21 INVITE
>> User-Agent: FreeSWITCH-mod_sofia/1.10.4-dev-2421-8a5850ff26~64bit
>> Content-Length: 0
>>
>> then Ok and Acc from linphone (which freeswitch see as on 172.17.0.2)
>>
>> recv 354 bytes from tcp/[172.17.0.1]:51208 at 09:20:26.099724:
>> ------------------------------------------------------------------------
>> SIP/2.0 200 Ok
>> Via: SIP/2.0/TCP 192.168.88.236;branch=z9hG4bK8502eXUvmSKyN
>> From: <sip:1002 at 172.17.0.2>;tag=mrr024e5DH57Q
>> To: <sip:1002 at 172.17.0.2>;tag=ftaVWOB
>> Call-ID: 940c69ac-4c1f-1239-4cb1-0242ac110002
>> CSeq: 23453420 NOTIFY
>> User-Agent: LinphoneiOS/4.3.1 (iPad Ruslan) LinphoneSDK/4.4.0
>> Supported: replaces, outbound, gruu
>> Content-Length: 0
>>
>> recv 640 bytes from tcp/[172.17.0.1]:51208 at 09:20:26.514163:
>> ------------------------------------------------------------------------
>> ACK sip:33332220 at 192.168.88.236:5060;transport=tcp SIP/2.0
>> Via: SIP/2.0/TCP 192.168.88.238:50091;rport;branch=z9hG4bK.iYrbMWTLP
>> From: <sip:1002 at 192.168.88.236>;tag=4bI6NNSIi
>> To: "33332220" <sip:33332220 at 192.168.88.236>;tag=N1HS4ZZ8atUtK
>> CSeq: 21 ACK
>> Call-ID: 7At9kxIfv2
>> Max-Forwards: 70
>> Proxy-Authorization: Digest realm="192.168.88.236",
>> nonce="44104e4a-30cb-4277-8c31-61e437b6cbd1", algorithm=MD5,
>> username="1002", uri="sip:33332220 at 192.168.88.236",
>> response="756a3d3e3a76996988afa09a5544f1d1", cnonce="CWKOLtHm9Z8eVYIm",
>> nc=00000001, qop=auth
>> User-Agent: LinphoneiOS/4.3.1 (iPad Ruslan) LinphoneSDK/4.4.0
>> Content-Length: 0
>>
>> Then freeswitch not see any activity and says BYE:
>> BYE sip:1002 at 172.17.0.1:51208;transport=tcp SIP/2.0
>> Via: SIP/2.0/TCP 192.168.88.236;branch=z9hG4bK9etUgrc0H29gH
>> Max-Forwards: 70
>> From: "33332220" <sip:33332220 at 192.168.88.236>;tag=N1HS4ZZ8atUtK
>> To: <sip:1002 at 192.168.88.236>;tag=4bI6NNSIi
>> Call-ID: 7At9kxIfv2
>> CSeq: 23453425 BYE
>> User-Agent: FreeSWITCH-mod_sofia/1.10.4-dev-2421-8a5850ff26~64bit
>> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE,
>> REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
>> Supported: timer, path, replaces
>> Reason: Q.850;cause=16;text="NORMAL_CLEARING"
>> Content-Length: 0
>>
>> ---
>> status of Sofia profile:
>>
>> ---
>>
>> freeswitch at zaka-voice> sofia status profile internal
>>
>> =================================================================================================
>> Name internal
>> Domain Name N/A
>> Auto-NAT false
>> DBName sofia_reg_internal
>> Pres Hosts 172.17.0.2,172.17.0.2
>> Dialplan XML
>> Context public
>> Challenge Realm auto_from
>> RTP-IP 172.17.0.2
>> Ext-RTP-IP 192.168.88.236
>> SIP-IP 172.17.0.2
>> Ext-SIP-IP 192.168.88.236
>> URL sip:mod_sofia at 192.168.88.236:5060
>> BIND-URL sip:mod_sofia at 192.168.88.236:5060
>> ;maddr=172.17.0.2;transport=udp,tcp
>> WS-BIND-URL sip:mod_sofia at 172.17.0.2:5066;transport=ws
>> WSS-BIND-URL sips:mod_sofia at 172.17.0.2:7443;transport=wss
>> HOLD-MUSIC local_stream://moh
>> OUTBOUND-PROXY N/A
>> CODECS IN OPUS,G722,PCMU,PCMA,H264,VP8
>> CODECS OUT OPUS,G722,PCMU,PCMA,H264,VP8
>> TEL-EVENT 101
>> DTMF-MODE rfc2833
>> CNG 13
>> SESSION-TO 0
>> MAX-DIALOG 0
>> NOMEDIA false
>> LATE-NEG true
>> PROXY-MEDIA false
>> ZRTP-PASSTHRU true
>> AGGRESSIVENAT false
>> CALLS-IN 0
>> FAILED-CALLS-IN 0
>> CALLS-OUT 0
>> FAILED-CALLS-OUT 0
>> REGISTRATIONS 0
>>
>>
>>
>> --
>> Ruslan Shevchenko
>> Software Engineer.
>> http://ua.linkedin.com/in/ruslanshevchenko
>> _________________________________________________________________________
>>
>> The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
>> Enhance your FreeSWITCH install with disruptive priced SMS and PSTN
>> services.
>> Build your next product on our scalable cloud platform.
>>
>> Join our online community to chat in real time
>> https://signalwire.community
>>
>> Professional FreeSWITCH Services
>> sales at freeswitch.com
>> https://freeswitch.com
>>
>> Official FreeSWITCH Sites
>> https://freeswitch.com/oss
>> https://freeswitch.org/confluence
>> https://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
>> https://freeswitch.com
>
> --
> Regards,
>
> David Villasmil
> email: david.villasmil.work at gmail.com
> phone: +34669448337
> _________________________________________________________________________
>
> The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
> Enhance your FreeSWITCH install with disruptive priced SMS and PSTN
> services.
> Build your next product on our scalable cloud platform.
>
> Join our online community to chat in real time
> https://signalwire.community
>
> Professional FreeSWITCH Services
> sales at freeswitch.com
> https://freeswitch.com
>
> Official FreeSWITCH Sites
> https://freeswitch.com/oss
> https://freeswitch.org/confluence
> https://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
> https://freeswitch.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20200729/1e9ca9f3/attachment.html>
More information about the FreeSWITCH-users
mailing list