[SR-Users] clarification on tcp keepalive

Kelvin Chua kelchy at gmail.com
Fri Jul 3 11:31:28 CEST 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150703/71be511c/attachment.html>


More information about the sr-users mailing list