[Freeswitch-users] NAT / UDP hole punching issue
Tihomir Culjaga
tculjaga at gmail.com
Tue Mar 6 17:22:32 UTC 2018
So, does anyone know why FS doesnt initiate rtp stream towards the client.
So if its not a bug, i guess its the guy in between the keyboard and chair ;)
What m’I missing?
Sent from my iPhone
> On 28 Feb 2018, at 11:11, Tihomir Culjaga <tculjaga at gmail.com> wrote:
>
> Nope, this is a real life scenario and just the fact that it works when i port forward the RTP range on the FS side proves everything network related is working just fine.
>
> My question here goes to FS team ....why FS is not sending any RTP packets to a remote client even when the client advertises the public IP:PORT in SDP..
> Both client and FS uses STUN ( in network capture i see them communicate with their stun servers respectively ). The client sends RTP toward FS while FS does not.
>
> how do i debug rtp forwarding on FS itself ... is there any debug i can turn on ?
>
>
>
>
>
>> On 28 February 2018 at 10:34, Francesco Facco de Lagarda <francesco at delagarda.com> wrote:
>> Sorry to hear Tihomir.
>>
>>
>>
>> Is there ANYWAY you can test everything locally on same network (i.e. without stun, nat, etc..) maybe the issue isn’t with stun!
>>
>>
>>
>>
>>
>> From: FreeSWITCH-users <freeswitch-users-bounces at lists.freeswitch.org> On Behalf Of Tihomir Culjaga
>> Sent: mercoledì 28 febbraio 2018 09:57
>>
>>
>> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
>> Subject: Re: [Freeswitch-users] NAT / UDP hole punching issue
>>
>>
>> RTP ports are defined. When i do a port forward for my RTP range i get my RTP audio working i guess due to rtp-auto-adjust feature on FS... but it should work without port forwarding.
>>
>>
>>
>> here simply FS is not starting to send RTP traffic to the client even if it notified its public IP:PORT in SDP on 200 OK.
>>
>>
>>
>> i see FS contacting a STUN server, getting the public IP:PORT and than ... doesn't send any RTP traffic towards the client... this is what its bugging me.
>>
>>
>>
>> T.
>>
>>
>>
>> On 28 February 2018 at 09:18, Francesco Facco de Lagarda <francesco at delagarda.com> wrote:
>>
>> Check your RTP ports .. in the fs config and the port forwarding on firewalls.
>>
>> Also, (two cent’s worth), I had a lot of problems with rtp (video and audio) using VErto.. in the end I read that if you don’t specify a stun server, by default it uses google’s.. I don’t know if its applicable in this case, but you never know!
>>
>>
>>
>> Good luck!
>>
>> F
>>
>>
>>
>> From: FreeSWITCH-users <freeswitch-users-bounces at lists.freeswitch.org> On Behalf Of Tihomir Culjaga
>> Sent: mercoledì 28 febbraio 2018 09:01
>> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
>> Subject: Re: [Freeswitch-users] NAT / UDP hole punching issue
>>
>>
>>
>> does anyone have a clue ? :=)
>>
>>
>>
>> On 27 February 2018 at 11:50, Tihomir Culjaga <tculjaga at gmail.com> wrote:
>>
>> hi,
>>
>>
>>
>>
>>
>> I have "no audio" issue with TLS and i hope someone could help as Im getting crazy ... literally :(
>>
>>
>>
>> my setup is like this:
>>
>>
>>
>> Phone <> NAT <> INTERNET <> NAT <FreeSWITCH>
>>
>>
>>
>> FreeSWITCH version: 1.6.12~64bit ( 64bit)
>>
>>
>>
>> I have a separate profile configured for TLS:
>>
>>
>>
>> <param name="rtp-ip" value="192.168.100.60"/>
>>
>> <param name="sip-ip" value="192.168.100.60"/>
>>
>> <param name="apply-nat-acl" value="rfc1918"/>
>>
>>
>>
>> <param name="ext-sip-ip" value="stun:stun.freeswitch.org"/>
>>
>> <param name="ext-rtp-ip" value="stun:stun.freeswitch.org"/>
>>
>>
>>
>> <!--<param name="aggressive-nat-detection" value="true"/>-->
>>
>>
>>
>> <param name="tls-only" value="true"/>
>>
>> <param name="tls-sip-port" value="15061"/>
>>
>>
>>
>>
>>
>>
>> =================================================================================================
>>
>> Name tls-public
>>
>> Domain Name N/A
>>
>> Auto-NAT false
>>
>> DBName sofia_reg_tls-public
>>
>> Pres Hosts 192.168.100.60,192.168.100.60
>>
>> Dialplan XML
>>
>> Context public
>>
>> Challenge Realm auto_from
>>
>> RTP-IP 192.168.100.60
>>
>> Ext-RTP-IP stun:stun.freeswitch.org
>>
>> SIP-IP 192.168.100.60
>>
>> Ext-SIP-IP 85.114.41.180
>>
>> TLS-URL sip:mod_sofia at 85.114.41.180:15061
>>
>> TLS-BIND-URL sips:mod_sofia at 85.114.41.180:15061;maddr=192.168.100.60;transport=tls
>>
>> WS-BIND-URL sip:mod_sofia at 192.168.100.60:5066;transport=ws
>>
>> WSS-BIND-URL sips:mod_sofia at 192.168.100.60:7443;transport=wss
>>
>> HOLD-MUSIC local_stream://moh
>>
>> OUTBOUND-PROXY N/A
>>
>> CODECS IN PCMA
>>
>> CODECS OUT PCMA
>>
>> TEL-EVENT 101
>>
>> DTMF-MODE rfc2833
>>
>> CNG 13
>>
>> SESSION-TO 0
>>
>> MAX-DIALOG 0
>>
>> NOMEDIA false
>>
>> LATE-NEG true
>>
>> PROXY-MEDIA false
>>
>> ZRTP-PASSTHRU false
>>
>> AGGRESSIVENAT false
>>
>> CALLS-IN 0
>>
>> FAILED-CALLS-IN 0
>>
>> CALLS-OUT 2
>>
>> FAILED-CALLS-OUT 2
>>
>> REGISTRATIONS 0
>>
>>
>>
>>
>>
>>
>> i manage to register the phone with no problems but when i call the phone i get no audio;
>>
>>
>>
>> bgapi expand originate ${sofia_contact(tls-profile/agent2/nexios at 192.168.100.60)} &echo()
>>
>>
>>
>>
>>
>>
>>
>> FS sends the invite as:
>>
>>
>>
>>
>>
>> SDP in INVITE message from FS
>>
>>
>>
>> v=0
>>
>> o=FreeSWITCH 1519708899 1519708900 IN IP4 85.114.41.180
>>
>> s=FreeSWITCH
>>
>> c=IN IP4 85.114.41.180
>>
>> t=0 0
>>
>> m=audio 17480 RTP/AVP 8 101
>>
>> a=rtpmap:8 PCMA/8000
>>
>> a=rtpmap:101 telephone-event/8000
>>
>> a=fmtp:101 0-16
>>
>> a=ptime:20
>>
>>
>>
>>
>>
>> SIP Client responds with:
>>
>>
>>
>> SDP in 200 OK from the client
>>
>>
>>
>>
>>
>> v=0
>>
>> o=- 3728718779 3728718780 IN IP4 213.147.96.240
>>
>> s=pjmedia
>>
>> b=AS:84
>>
>> t=0 0
>>
>> a=X-nat:0
>>
>> m=audio 4002 RTP/AVP 8 101
>>
>> c=IN IP4 213.147.96.240
>>
>> b=TIAS:64000
>>
>> a=rtcp:4003 IN IP4 213.147.96.240
>>
>> a=sendrecv
>>
>> a=rtpmap:8 PCMA/8000
>>
>> a=rtpmap:101 telephone-event/8000
>>
>> a=fmtp:101 0-16
>>
>>
>>
>>
>>
>>
>>
>> So the UDP stream is: client( 4002 ) <> ( 17480 )FS
>>
>>
>>
>> when i sniff the traffic (on both sides client/FS) using wireshark, i see RTP packets ( src:4002, dst:17480 ) leaving the client towards FS, but I don't see RTP packets ( src:17480, dst:4002 ) from FS side leaving towards the client.
>>
>>
>>
>>
>>
>> so my question, of course, is why FS is not sending RTP packets to the IP:PORT notified in 200 OK SDP from the client ? Did i miss some needed configuration ?
>>
>>
>>
>>
>>
>> in FS logs i see 192.168.100.60 port 17480 -> 213.147.96.240 port 4002 but nothing is actually being sent out from FS
>>
>>
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] sofia.c:6965 Channel sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 entering state [ready][200]
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:4311 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:4366 Audio Codec Compare [PCMA:8:8000:20:64000:1] ++++ is saved as a match
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:4227 Set telephone-event payload to 101 at 8000
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:3021 Set Codec sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 PCMA/8000 20 ms 160 samples 64000 bits 1 channels
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_codec.c:111 sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 Original read codec set to PCMA:8
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:4572 Set telephone-event payload to 101 at 8000
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:4631 sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 Set 2833 dtmf send payload to 101 recv payload to 101
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:6588 AUDIO RTP [sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551] 192.168.100.60 port 17480 -> 213.147.96.240 port 4002 codec: 8 ms: 20
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_rtp.c:3875 Starting timer [soft] 160 bytes per 20ms
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:6806 Activating RTCP PORT 4003
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_rtp.c:4261 RTCP send rate is: 5000 and packet rate is: 20000 Remote Port: 4003
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_rtp.c:2534 Setting RTCP remote addr to 213.147.96.240:4003 2
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:6887 sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 Set 2833 dtmf send payload to 101
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:6894 sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 Set 2833 dtmf receive payload to 101
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_core_media.c:6917 sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 Set rtp dtmf delay to 40
>>
>> 2018-02-27 11:13:02.733376 [NOTICE] sofia.c:8023 Channel [sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551] has been answered
>>
>> 2018-02-27 11:13:02.733376 [DEBUG] switch_channel.c:3770 (sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551) Callstate Change RINGING -> ACTIVE
>>
>> 2018-02-27 11:13:02.753388 [DEBUG] switch_ivr_originate.c:3686 Originate Resulted in Success: [sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551]
>>
>> 2018-02-27 11:13:02.753388 [INFO] switch_channel.c:3127 sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 Flipping CID from "" <0000000000> to "Outbound Call" <nexios>
>>
>> 2018-02-27 11:13:02.753388 [DEBUG] mod_commands.c:4788 (sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551) State Change CS_CONSUME_MEDIA -> CS_EXECUTE
>>
>> 2018-02-27 11:13:02.753388 [DEBUG] switch_core_state_machine.c:584 (sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551) Running State Change CS_EXECUTE
>>
>> 2018-02-27 11:13:02.753388 [DEBUG] switch_core_state_machine.c:650 (sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551) State EXECUTE
>>
>> 2018-02-27 11:13:02.753388 [DEBUG] mod_sofia.c:198 sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 SOFIA EXECUTE
>>
>> 2018-02-27 11:13:02.753388 [DEBUG] switch_core_state_machine.c:328 sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 Standard EXECUTE
>>
>> EXECUTE sofia/tls-public/sip:agent2/nexios at 213.147.96.240:10551 echo()
>>
>>
>>
>>
>>
>>
>>
>> Regards,
>>
>> Tihomir.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _________________________________________________________________________
>> 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
>>
>>
>>
>>
>> _________________________________________________________________________
>> 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/20180306/320acb9e/attachment-0001.html>
More information about the FreeSWITCH-users
mailing list