<div dir="ltr"><div class="gmail_quote"><div dir="ltr">Hi<div><br></div><div>I am using opensips 2.2.3 to handle websocket connections from web client (sip.js).</div><div>I just started testing recover after opensips restart and find that I could not handle t_relay() failure.</div><div><br></div><div>Assume I have a call between 2 webrtc clients and I restart opensips during this call. Media handled by freeswitch, so call continue without problem.</div><div><br></div><div>Then, one client send BYE. I use loose_route to find another party and send him message.</div><div>But here I got error that I could not handle.</div><div>t_on_failure trigger does not fire</div><div>t_relay return success.<br></div><div><br></div><div>Are there any special flags or triggers to handle this case?</div><div><br></div><div>Opensips log:</div><div><br></div><div><div>loose_route success</div><div>INFO:core:probe_max_sock_buff: using snd buffer of 416 kb</div><div>INFO:core:init_sock_keepalive: TCP keepalive enabled on socket 16</div><div>ERROR:core:tcp_connect_<wbr>blocking: poll error: flags 28 - 4 8 16 32</div><div>ERROR:core:tcp_connect_<wbr>blocking: failed to retrieve SO_ERROR [server=<a href="http://172.19.235.225:62594" target="_blank">172.19.235.225:62594</a>] (111) Connection refused</div><div>ERROR:proto_wss:ws_sync_<wbr>connect: tcp_blocking_connect failed</div><div>ERROR:proto_wss:ws_connect: connect failed</div><div>ERROR:proto_wss:proto_wss_<wbr>send: connect failed</div><div>ERROR:tm:msg_send: send() for proto 6 failed</div><div>ERROR:tm:t_forward_nonack: sending request failed</div></div><div><br></div><div>My configuration:</div><div><br></div><div><div>if (has_totag())</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">   </span>{</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">           </span>xlog("L_ERR", "Following ToTag: $tt $proto");</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">           </span># sequential requests within a dialog should</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                </span># take the path determined by record-routing</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>if (loose_route())</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">          </span>{</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                   </span>#if (is_method("INVITE"))</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                 </span>#{</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                  </span>#<span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">  </span>record_route();</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                     </span>#}</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                  </span>xlog("L_ERR", "loose_route success\n");</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                 </span>route(relay);</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">               </span>}</div></div><div>------------------------------<wbr>--</div><div><div>route[relay]</div><div>{</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">       </span>t_on_failure("loose_route");</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">      </span>if (!t_relay())</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>{</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">           </span>xlog("L_ERR", "t_relay error]");</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>send_reply("500","Internal Error");</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>}</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">   </span>exit;</div><div>}</div></div><div><br></div><div><div>failure_route[loose_route]</div><div>{</div><div><span class="m_-5810722503261170666gmail-Apple-tab-span" style="white-space:pre-wrap">      </span>xlog( "L_ERR", "loose_route failed" );</div></div><div>...</div><div>}</div><div><br></div></div>
</div><br></div>