[Freeswitch-users] Bridge Hangup Problem

Steven Ayre steveayre at gmail.com
Tue Mar 25 07:14:14 MSK 2014


Are you using NAT anywhere in your call path?

The BYE hangup packet is sent to the address received in the Contact header
of the INVITE, which can differ from where the INVITE packet is actually
received from. A lot of the times if a client is behind NAT and not
handling NAT traversal correctly you can find that the IP in the Contact is
its LAN IP. Since that's not reachable by the server over the Internet the
packet never arrives and so the client never sees the hangup.

If that's the issue enabling STUN on the client can put the correct address
in Contact (if it supports it). Some NAT routers can rewrite it for you
(SIP ALG) but that can sometimes cause as many problems as it solves (eg
rewriting clients that are already handling NAT correctly and thus breaking
it) and can never work with SIP/TLS (no way to modify data in an encrypted
connection without being a man-in-the-middle) so it's best to fix it at the
client. If the client doesn't support STUN you can also try the NDLB ("no
device left behind") option that uses where the INVITE was received from
instead of the Contact header.

See http://wiki.freeswitch.org/wiki/NAT and
http://wiki.freeswitch.org/wiki/NDLB#NDLB-connectile-dysfunction

I would guess your issue is likely to be between the SIP client and
FreeSWITCH (leg A), though it could also be between FS and Asterisk (leg
B). I suggest looking at the SIP trace to see which legs are
receiving/sending the BYE packet... "sofia global siptrace on" in fs_cli.

-Steve


On 24 March 2014 13:23, Andrea Batazzi <andrea.batazzi at gmail.com> wrote:

> Hi,
> I'm new to freeswitch, and might be missing some basic points.
>
> I am trying to bridge a call from a caller (sip client on the web) to an
> external profile endpoint, which happens to be an asterisk install.
>
> The call part works fine, only that if leg B ( asterisk ) hangs up ( say,
> for a queue timeout),  the sip client (leg A) never receives the hangup
> event, even if the log seems to assert that it does. I have tried with
> different sip clients.
>
> this is the basic configuration of the extension
>
> <extension name="wwd">
>   <condition field="destination_number" expression="^123"$>
>     <action application="set" data="hangup_after_bridge=true"/>
>     <action application="bridge" data="sofia/external/$1 at 192.168.0.16"/>
>     <action application="hangup" />
>   </condition>
> </extension>
>
> I have attached the "hangup" part of the log.
> Thank you
>  Andrea
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.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/20140325/b04346a0/attachment-0001.html 


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