[SR-Users] [sr-dev] Confusion about various TCP expiry and lifetime parameters

Daniel-Constantin Mierla miconda at gmail.com
Wed Aug 26 09:28:10 CEST 2015


Hello,

On 25/08/15 20:21, M S wrote:
> Hi,
>
> We have a bit of confusion regarding tcp_connecton_timeout core
> parameter.

are you talking about tcp_connect_timeout or tcp_connection_lifetime?

Are you using tcpops module?

> The documentation says,
>
> --
> Lifetime in seconds for TCP sessions. TCP sessions which are inactive
> for longer than *tcp_connection_lifetime* will be closed by Kamailio.
> --
>
> However we observe a strange behaviour.
>
> 1. The connection is NOT closed by Kamailio unless we additionally set
> "close_expired_tcp" parameter in usrloc module,

How do you monitor if the connection is still open or not? Have you used
kamcmd to list opened connection?

>
> 2. Secondly, if we set this parameter to a smaller value say 70
> seconds while sip register expiry is 600 seconds (and
> close_expired_tcp parameter enabled in usrloc module), the connection
> still remains active (tested after keeping it idle for 120 seconds
> then sending a sip request on this connection, we expected the request
> to fail but it does not fails).

How did you sent the sip request on this connection? Can you detail why
you expected to fail? Depending on config options, the server can also
open a new connection.

>
> 3. if we set this parameter to greater then sip register value, e.g.
> 610 seconds and set close_expired_tcp parameter in usrloc, then we
> observe disconnect after about 8-10 minutes. Whereas we expect it to
> continue since user is re-registering every 600 seconds.

A disconnect can happen from various reason. Have you watched the
network packets to see what side closed the connection? You should run
kamailio with debug=3 to get more verbose log messages, that should give
more hints about what happens there.

>
> Can you guys explain why this is happening? What keeps a tcp
> connection active or makes it inactive?
>
> We are using websockets (which use TCP at lower layer) and we observe
> there is no websocket frame sent or received over the tcp connection,
> yet it remain active after tcp_connection_lifetime in case 2 above and
> becomes inactive in case 3.

Note that there is also a keepalive mechanism at tcp layer.

Your report is just listing some conclusions, we need more details on
how you tested (some questions asked above) to be able to analyze
properly here and be able to assist.

Cheers,
Daniel
>
> We are using Kamailio v4.3.1 SVN Rev. 4717b5 on Debian Wheezy 32bit OS.
>
> Please suggest.
>
> Thank you.
>
>
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150826/898cac0d/attachment.html>


More information about the sr-users mailing list