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