<div class="gmail_quote">On Thu, May 28, 2009 at 12:59 PM, Iņaki Baz Castillo <span dir="ltr"><<a href="mailto:ibc@aliax.net">ibc@aliax.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2009/5/28 Pascal Maugeri <<a href="mailto:pascal.maugeri@gmail.com">pascal.maugeri@gmail.com</a>>:<br>
<div class="im">> FYI, I've changed the configuration to:<br>
><br>
> tcp_children=8<br>
> tcp_send_timeout=3<br>
> tcp_connect_timeout=5<br>
><br>
> and it looks we get less often the problem described here ( tcp_connect/send<br>
> time out error).<br>
<br>
</div>This is a good workaround, but the problem is that it replies on the<br>
clients behaviour and it shouldn't occur (a server cannot get<br>
"blocked" due to clients problems). I hope TCP handling will be<br>
improved in SIP-Router.<br>
<div class="im"></div></blockquote><div><br>Indeed the very same problem occured after a while :-( <br>It looks my new configuration only "delayed" it.<br><br>The symptoms are:<br><br>- errors in log file:<br>
<br>May 27 14:20:11 server2-operations /usr/local/sbin/kamailio[26227]: WARNING:core:send2child: no free tcp receiver, connection passed to the leastbusy one (1)<br>May 27 14:20:13 server2-operations /usr/local/sbin/kamailio[26221]: ERROR:core:tcp_blocking_connect: timeout 10 s elapsed from 10 s<br>
May 27 14:20:13 server2-operations /usr/local/sbin/kamailio[26221]: ERROR:core:tcpconn_connect: tcp_blocking_connect failed<br>May 27 14:20:13 server2-operations /usr/local/sbin/kamailio[26221]: ERROR:core:tcp_send: connect failed<br>
May 27 14:20:13 server2-operations /usr/local/sbin/kamailio[26221]: ERROR:sl:msg_send: tcp_send failed<br><br>- in <a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?top">top</a> kamailio process have high values in the %CPU column such as 50% or 99% !?<br>
<br>- when all kamailio processes have reached this top values, it is impossible to connect a new client untill we reset kamailio :-/<br><br>I will try the parameter <br><pre class="programlisting">modparam("registrar", "tcp_persistent_flag", 7)<br>
</pre>from the registrar module.<br><br>-pascal<br><br><br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im"><br>
<br>
> I confirm that the problem was triggered by the fact that our client is<br>
> using TCP only and that the tcp connections were unavailable after some<br>
> presence test (many NOTIFY messages sent to TCP).<br>
><br>
> I'm curious to know how many children do you use in a typical configuration<br>
> ? 4, 8, more? Of course it depends on the traffic expected but let me know<br>
> that this is parameter you always increase in a production environment.<br>
<br>
</div>Theorically you can add so many TCP listeners as you desire (depending<br>
on your CPU's and memory). But if your environment makes high usage of<br>
TCP then increase it as much as possible.<br>
<div><div></div><div class="h5"><br>
<br>
<br>
--<br>
Iņaki Baz Castillo<br>
<<a href="mailto:ibc@aliax.net">ibc@aliax.net</a>><br>
</div></div></blockquote></div><br>