<div xmlns="http://www.w3.org/1999/xhtml">Hi all.</div><div xmlns="http://www.w3.org/1999/xhtml"><div>Today i encountered some strange behavior in TCP handling. Case:</div><div>A - caller, proto=tcp, behind NAT</div><div>B - callee, proto=udp, not behind NAT</div><div>Nathelper is active, so A is pinged by OPTIONS from opensips.</div><div>A registering and then calling to B, B answers, A sends ACK for 200 and in some moment after that - disappears from network (for example - unplug network cable).</div><div>After that B send BYE request.</div><div> </div><div>Parameters of proto_tcp:</div><div><div>modparam("proto_tcp", "tcp_port", 5060)</div><div>modparam("proto_tcp", "tcp_send_timeout", 5000)</div><div>modparam("proto_tcp", "tcp_async", 1)</div><div>modparam("proto_tcp", "tcp_crlf_pingpong", 0)</div><div> </div></div><div> </div><div>Expected behavior:</div><div>1. if TCP session is still active: opensips will try to send BYE to A via TCP and close TCP-connection after 5000ms (tcp_send_timeout interval), send 477 Send Failed to himself and 408 to B, as result of BYE transaction.</div><div>2. if TCP session is no active (after some TCP-FIN): opensips will try to re-establish TCP session, and if it will be not successfull - send 477 Send Failed to himself and 408 to B, as result of BYE transaction.</div><div> </div><div>Real behavior:</div><div>TCP session is active (there was no TCP-FIN), next OPTIONS-ping from opensips is not answered by A (because he disappeared from network) on TCP-level (no TCP-ACK for request with options), opensips starts to send TCP-retransminnions of last OPTIONS request (and continue to send this retransmissions in a next few minutes), not trying to send BYE request at all, not trying to close TCP session. After fr_timeout number of  seconds opensips sends 408 to B as result of BYE transaction and not sends 477 to himself.</div><div> </div><div>There is screenshot of my example:</div><div><a rel="noopener noreferrer" href="https://imgur.com/HNxwxPo">https://imgur.com/HNxwxPo</a></div><div> </div><div>So - it looks like opensips totally ignore tcp_send_timeout value and it leads to some misbehavior in handling TCP requests. Am i right or i missed something?</div></div><div xmlns="http://www.w3.org/1999/xhtml"> </div><div xmlns="http://www.w3.org/1999/xhtml"> </div>