[OpenSIPS-Devel] [OpenSIPS/opensips] f0f6a2: usrloc: Learn the active node AoR rlabel (as backu...
Liviu Chircu
noreply at github.com
Fri Aug 13 19:39:20 EST 2021
Branch: refs/heads/3.1
Home: https://github.com/OpenSIPS/opensips
Commit: f0f6a22f329f602930e4579840dd1a20a7acf2f7
https://github.com/OpenSIPS/opensips/commit/f0f6a22f329f602930e4579840dd1a20a7acf2f7
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: 977dd04f2c2b6d52cade148f1610a054bf4b0b50
https://github.com/OpenSIPS/opensips/commit/977dd04f2c2b6d52cade148f1610a054bf4b0b50
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: 907023eb1165cf86977e4019dfd8b56c39d2523d
https://github.com/OpenSIPS/opensips/commit/907023eb1165cf86977e4019dfd8b56c39d2523d
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/3b8bdb794da3...907023eb1165
More information about the Devel
mailing list