[OpenSIPS-Devel] [OpenSIPS/opensips] 9ff14e: usrloc: Learn the active node AoR rlabel (as backu...
Liviu Chircu
noreply at github.com
Fri Aug 13 19:36:59 EST 2021
Branch: refs/heads/3.2
Home: https://github.com/OpenSIPS/opensips
Commit: 9ff14e3b419d55dde2662fec170d6e50075df56c
https://github.com/OpenSIPS/opensips/commit/9ff14e3b419d55dde2662fec170d6e50075df56c
Author: Liviu Chircu <liviu at opensips.org>
Date: 2021-08-13 (Fri, 13 Aug 2021)
Changed paths:
M modules/usrloc/ul_cluster.c
Log Message:
-----------
usrloc: Learn the active node AoR rlabel (as backup node)
When using timer-based contact cleanup in Active/Passive user location
scenarios, the two timers may run in such a way that the backup node
still has a given AoR, while the AoR does _not_ exist on the active
node...
Now, if a phone registers, the backup node complains that the
replicated AoR's auto-generated rlabel differs from its own one, since
the old AoR has yet to be cleaned up. And as long as the AoR has no
contacts, we can safely re-learn (overwrite) the AoR's rlabel on the
backup node and fix this race condition.
Credits to Giovanni Maruzzelli for reporting this issue and providing
accurate debug logs!
Fixes #2524
(cherry picked from commit 24ec0d23d6f9193548bf0f4296acdba039a4483b)
Commit: 04259f6372da8dc604f71d6a8427b3134e928c81
https://github.com/OpenSIPS/opensips/commit/04259f6372da8dc604f71d6a8427b3134e928c81
Author: Liviu Chircu <liviu at opensips.org>
Date: 2021-08-13 (Fri, 13 Aug 2021)
Changed paths:
M modules/mid_registrar/save.c
M modules/usrloc/ucontact.h
M modules/usrloc/urecord.c
Log Message:
-----------
mid-registrar: Improve replication behavior on INSERT
Ensure all mid-registrar data tied to a contact gets included in
the very first "INSERT" packet. This prevents some unnecessary error
logs on the backup box when doing a quick REGISTER/De-REGISTER in
Active/Passive scenarios:
ERROR:mid_registrar:unregister_record: 'from' key not found, skipping De-REGISTER
ERROR:mid_registrar:mid_reg_aor_event: failed to unregister contact
Credits to Giovanni Maruzzelli for an accurate report and detailed
logs on this issue!
Fixes #2525
(cherry picked from commit c11f92698c6f345d8921d645177f71aa36c9791d)
Commit: e8494eb973c34b50cc42c677c05cdaca7d3cb40f
https://github.com/OpenSIPS/opensips/commit/e8494eb973c34b50cc42c677c05cdaca7d3cb40f
Author: Liviu Chircu <liviu at opensips.org>
Date: 2021-08-13 (Fri, 13 Aug 2021)
Changed paths:
M modules/mid_registrar/ulcb.c
M modules/usrloc/dlist.c
M modules/usrloc/ucontact.c
M modules/usrloc/ucontact.h
M modules/usrloc/ul_cluster.h
M modules/usrloc/usrloc.c
M modules/usrloc/usrloc.h
Log Message:
-----------
mid-registrar: Avoid generating De-REGISTER from Passive node
* enhance the usrloc API with a contact ownership checking function
* mid-registrar now only generates De-REGISTER for owned contacts
Credits to Giovanni Maruzzelli for detailed reporting and instructions
on how to reproduce this issue!
Fixes #2559
(cherry picked from commit 4128f67d271b4851a194ebf69da0349c4403e2a9)
Compare: https://github.com/OpenSIPS/opensips/compare/1cf4abb68cf8...e8494eb973c3
More information about the Devel
mailing list