Hi,
I have an application as follows:
Multiple Kamailio Nodes
Shared Postgres database
Auth information will be stored in DB and accessed with Authdb.
Here is the behavior I seek:
I would like all the Kamailo nodes to cooperate in updating the database, each updating
data as appropriate:
When a registration comes in to any Node, and it authenticated, create or update a
database record in location table.
When a registration expires on that Node, delete database record in location table.
When INVITE comes in on any Node, ignore local cache and always lookup() record from
database.
#1 and #2 are used so that a third SIP system can query the database and look up the Node
a NAT’d subscriber is ‘connected’ to.
#3 is to let NON-NAT’d subscribers be contacted from any Node.
Now I have something close to this now – using following settings:
modparam("usrloc", "db_mode", 1) # immediately write
registrations to the database.
modparam("usrloc", "db_timer_clean", 0) # do not expire DB records
separately
modparam("usrloc", "db_check_update", 1)
This takes care of #1 and #2 above. However, #3 seems to still be relying purely on local
cache and does not hit the database.
Is there a way to do #3? I can set db_mode to 3 but that would seem to have other effects
besides merely making lookup() read from database.
Thanks in advance,
Jawaid