Module: kamailio Branch: master Commit: c3f9e82e35f805d923237fbeb8e1173dc9a5ae23 URL: https://github.com/kamailio/kamailio/commit/c3f9e82e35f805d923237fbeb8e1173d...
Author: Camille Oudot camille.oudot@orange.com Committer: Camille Oudot camille.oudot@orange.com Date: 2015-03-05T10:38:36+01:00
usrloc: new param to close TCP connections
the new `close_expired_tcp`, if set, forces Kamailio to close the TCP connections of expired contacts
---
Modified: modules/usrloc/doc/usrloc_admin.xml Modified: modules/usrloc/ul_mod.c Modified: modules/usrloc/ul_mod.h Modified: modules/usrloc/urecord.c
---
Diff: https://github.com/kamailio/kamailio/commit/c3f9e82e35f805d923237fbeb8e1173d... Patch: https://github.com/kamailio/kamailio/commit/c3f9e82e35f805d923237fbeb8e1173d...
Camille Oudot writes:
usrloc: new param to close TCP connections
the new `close_expired_tcp`, if set, forces Kamailio to close the TCP connections of expired contacts
how about it kamailio is rebooted and when it comes back up, location table has tcp contacts, but the corresponding connections, of course, do not exist anymore?
-- juha
Le Sat, 7 Mar 2015 07:25:26 +0200, Juha Heinanen jh@tutpro.com a écrit :
Camille Oudot writes:
usrloc: new param to close TCP connections
the new `close_expired_tcp`, if set, forces Kamailio to close the TCP connections of expired contacts
how about it kamailio is rebooted and when it comes back up, location table has tcp contacts, but the corresponding connections, of course, do not exist anymore?
Hi Juha,
when usrloc loads the contacts from database, the record's tcpconn_id field is set to -1 (=invalid). Therefore we don't try to close this connection even if close_expired_tcp is set to 1.
But anyway when using SIP over TCP, if the server restarts, the TCP connections are closed. So I would not even bother fetching the usrloc records from the DB at startup, since they are not valid anymore (most UAs will try to re-REGISTER if the connection is lost).
Camille Oudot writes:
when usrloc loads the contacts from database, the record's tcpconn_id field is set to -1 (=invalid). Therefore we don't try to close this connection even if close_expired_tcp is set to 1.
But anyway when using SIP over TCP, if the server restarts, the TCP connections are closed. So I would not even bother fetching the usrloc records from the DB at startup, since they are not valid anymore (most UAs will try to re-REGISTER if the connection is lost).
sorry, i meant when db_mode=3 is used.
-- juha
Le Tue, 10 Mar 2015 21:26:31 +0200, Juha Heinanen jh@tutpro.com a écrit :
Camille Oudot writes:
when usrloc loads the contacts from database, the record's tcpconn_id field is set to -1 (=invalid). Therefore we don't try to close this connection even if close_expired_tcp is set to 1.
But anyway when using SIP over TCP, if the server restarts, the TCP connections are closed. So I would not even bother fetching the usrloc records from the DB at startup, since they are not valid anymore (most UAs will try to re-REGISTER if the connection is lost).
sorry, i meant when db_mode=3 is used.
I don't see any DB column for storing the internal TCP connection id, so I guess the close_expired_tcp will not work for db_mode=3.