I don't think this is a DMQ issue specifically, but more a question of what should
happen in *any* replicated situation (including shared DB).
Perhaps the solution is, indeed, for nathelper to compare the received socket on the
contact against the local socket(s) and either send or not send the keepalive accordingly.
I'm not sure if this is already the case since I haven't checked the code, but I
assume not given the observed behaviour.
Alternatively, given that functionality already exists in nathelper for filtering on
server_id in DB mode, we should also add the server_id to the contact in memory and
include it in the replicated copy.
The question remains, however, in the event of a node going down, which node is going to
take over the keepalives and how will it know to do so? Again, this applies to shared DB
as much as it does in-memory/DMQ.
Either way, I'm happy to add any necessary mods to dmq/dmq_usrloc modules.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1299#issuecomment-341713760