Hello,
as I understood, the issue was that when pua_reginfo received a notify
and inserted a record in location table, usrloc executed a callback in
pua_reginfo to send notify, which can result in endless cross
notifications between nodes.
If yes, I pushed a patch in master branch, can you test and see if it
works? If all ok, it will be considered for backport in stable branches.
On the other hand, I am not sure it works when the topology is like a
linear (circular) list, thus it might need to be wrapped as config
option -- this just came in my mind, not analysis for it, maybe this is
not feasible at all anyhow.
Cheers,
Daniel
On 03/11/14 12:50, lejarreta.e(a)sarenet.es wrote:
Good morning.
We've got a problem with location memory and database replication
between "n" kamailios as REGISTRAR servers.
1.- WHAT WE WANNA DO:
- To have "n" Kamailios with their DB and memory "user location"
replicated.
- Each Kamailio owns its own DB.(It could be also with a common DB).
- Each kamailio has a PUA_REGINFO, PRESENCE, and REGISTRAR roles.
- USRLOC Module with db_mode = 2 (Write-Back scheme).
2.- WHAT WE DON'T WANNA DO:
- USRLOC Module with db_mode != 2 (Write-Back scheme).
3.- BACKGROUND:
- RFC3265
- RFC3680
- RFC3903
- I attach a small architecture graph.
4.- PROBLEMS:
4.1 Deadlock:
Each REGISTER involves a NOTIFY to the other side.
Each NOTIFY involves another NOTIFY to the other side.
There should be a mechanism to avoid PUBLISH reginfo_handle_notify()
function calls but to PUBLISH save() calls on pua_reginfo module.
Any idea would be appreciated (also to workaround our problem).
4.2 PUA_REGINFO module notify.c
Just FYI.
We think It doesn't comply to RFC3680. It should observe
"unkown-param" object to aid "Contact" header params such as
"Path",
"Received", "User_agent" and so on.
We've changed code but for a fast startup we've also avoided
"unkown-param" and now we're able to see replicated "Path",
"Received
... params on each DB.
Thanks and best regards.
Eduardo Lejarreta.
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Nov 24-27, Berlin -
http://www.asipto.com