[SR-Users] clarification on tcp keepalive

Daniel-Constantin Mierla miconda at gmail.com
Tue Jul 7 09:11:55 CEST 2015


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




More information about the sr-users mailing list