Hi
I've two servers sharing the same postgres database, using kamailio's
"server_id" value. One has server_id=184 and the other has
server_id=186.
I've set these parameters.
modparam("usrloc", "server_id_filter", 1)
modparam("usrloc", "db_mode", 1)
modparam("usrloc", "db_ops_ruid", 1) # I've tested this with both 0 and 1.
When a user REGISTERs, I see data being written to two tables, as
normal, from server 184.
update location set expires='2025-06-11 16:31:58' ... server_id=184
...' where ruid='uloc-b8-684999a9-31e-1'
delete from location_attrs where ruid='uloc-b8-684999a9-31e-1'
insert into location_attrs (username,ruid,...) values
(...'uloc-b8-684999a9-31e-1' ...
The problem comes when I start server 186.
select contact,... etc. ..., username from location where server_id=186
select username,ruid,aname,atype,avalue from location_attrs
delete from location_attrs where ruid='uloc-b8-684999a9-31e-1'
What I see is that server 186 always deletes the data from the
location_attrs table that belongs to server 184, which I don't think
it should do.
According to the usrloc documentation, server_id_filter must be set
(as I've done) or "Otherwise one instance of proxy cleans records made
by another proxy and that breaks its cache."
Therefore this looks like a usrloc bug to me. Am I doing something wrong?
I'm testing with a commit that was made yesterday (kamailio 6.1.0-dev1).
James