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.
Kelvin Chua