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@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@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?
-- juha