Hello,
On 03/07/15 11:31, Kelvin Chua wrote:
using kamailio 4.3 on ubuntu server 14.04
i noticed tcp socket will be killed by kamailio after around 11
minutes with or without tcp_keepalive=no. tcpdump shows that by
default (tcp_keepalive=yes) there is indeed keepalive packets going
back and forth. if set to no, there would be nothing in between.
if i have clients who have registration timeout of 1700, they would
send re-registration around half of that, or around 14 minutes after
registration. then the socket would be long dead and they would be
unreachable for 3 minutes.
based on procfs, ubuntu have settings for 9 probes with 75 seconds
interval so that means around 11 minutes of sending keepalives. so i
tried changing these values, on procfs. and tried playing around with
these kamailio cfg settings as well:
tcp_keepcnt
tcp_keepidle
tcp_keepintvl
whatever i do, the interval between keepalives are always 2 minutes
and after 4-5 probes, kamailio will send a FIN to the client. i
checked the source code tcp_main.c and it looks alright. could this be
an ubuntu issue? anybody seen this before?
I created a workaround by setting expire 900 for all registrations but
this is not ideal.
I haven't noticed this issue on ubuntu. Have you tried on other type of
OS (e.g., bare debian)?
Can you try setting it per connection using tcpops module?
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio -
http://www.asipto.com