[SR-Users] catching lost websocket ua

Daniel-Constantin Mierla miconda at gmail.com
Tue Feb 23 09:24:35 CET 2016


Hello,

On 21/02/16 04:20, Juha Heinanen wrote:
> when a ua that has registered over tcp has lost its connection to sip
> proxy, t_relay() succeeds and branch failure route is executed:
>
> Feb 21 05:07:26 lohi /usr/bin/sip-proxy[20528]: INFO: ********** entering branch_route [CONTACT_BRANCH]
> Feb 21 05:07:26 lohi /usr/bin/sip-proxy[20528]: INFO: ********** activating t_on_branch_failure("contact)"
> Feb 21 05:07:26 lohi /usr/bin/sip-proxy[20528]: INFO: Routing INVITE <sip:jh-0x16737a0 at 192.98.102.10:44186;transport=tcp> to contact via <sip:192.98.102.10:51297;transport=tcp>
> Feb 21 05:07:26 lohi /usr/bin/sip-proxy[20528]: WARNING: tm [t_fwd.c:1543]: t_send_branch(): ERROR: t_send_branch: sending request on branch 0 failed
> Feb 21 05:07:26 lohi /usr/bin/sip-proxy[20528]: INFO: ********* t_relay success
> Feb 21 05:07:31 lohi /usr/bin/sip-proxy[20480]: INFO: ********** entering tm:branch-failure:contact
>
> but when a ua that has registered over websocket over tcp has lost is
> connection to sip proxy, t_relay() fails and branch failure route is not
> executed:
>
> Feb 21 05:08:26 lohi /usr/bin/sip-proxy[20523]: INFO: ********** entering branch_route [CONTACT_BRANCH]
> Feb 21 05:08:26 lohi /usr/bin/sip-proxy[20523]: INFO: ********** activating t_on_branch_failure("contact)"
> Feb 21 05:08:26 lohi /usr/bin/sip-proxy[20523]: INFO: Routing INVITE <sip:an41pa6p at ggjdptrk9jm0.invalid;transport=ws> to contact via <sip:192.98.102.10:39057;transport=ws>
> Feb 21 05:08:26 lohi /usr/bin/sip-proxy[20523]: WARNING: <core> [msg_translator.c:2756]: via_builder(): TCP/TLS connection (id: 0) for WebSocket could not be found
> Feb 21 05:08:26 lohi /usr/bin/sip-proxy[20523]: ERROR: <core> [msg_translator.c:1974]: build_req_buf_from_sip_req(): could not create Via header
> Feb 21 05:08:26 lohi /usr/bin/sip-proxy[20523]: ERROR: tm [t_fwd.c:462]: prepare_new_uac(): could not build request
> Feb 21 05:08:26 lohi /usr/bin/sip-proxy[20523]: ERROR: tm [t_fwd.c:1712]: t_forward_nonack(): ERROR: t_forward_nonack: failure to add branches
> Feb 21 05:08:26 lohi /usr/bin/sip-proxy[20523]: INFO: ********* t_relay failure
>
> in the latter case, is there some means to get access to the failing
> branch in order to be able to unregister it, delete its rtpengine
> session, etc?
>
> why can't kamailio behave the same way no matter if pure tcp connection
> or one using websocket protocol over tcp connection fails?
wobsocket management and communication is done in the websocket module,
which probably does different type of processing. Making it like the
pure tcp would be probably good.

The tcp connection id is anyhow associated with the
registration/location record, usrloc module can cleanup them if the
connection is no longer active. Also, there is now an event route
executed when the tcp connection is closed, so it should happen for the
websocket connections as well.

Regards,
Daniel

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Berlin, March 7-9, 2016 - http://www.asipto.com




More information about the sr-users mailing list