]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_registrar.c: Update remove_existing AOR contact handling.
authorRichard Mudgett <rmudgett@digium.com>
Wed, 20 Sep 2017 23:36:15 +0000 (18:36 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 9 Oct 2017 17:52:47 +0000 (12:52 -0500)
commit6014a8743d40fc6625b22d81d4ae3fd0c4e75e19
tree1c5a763555fa2fb5731b3f576a0e25e4187303bf
parent5a7ca93119ba8fa05c624e922a53d7cba890dd4c
res_pjsip_registrar.c: Update remove_existing AOR contact handling.

When "rewrite_contact" is enabled, the "max_contacts" count option can
block re-registrations because the source port from the endpoint can be
random.  When the re-registration is blocked, the endpoint may give up
re-registering and require manual intervention.

* The "remove_existing" option now allows a registration to succeed by
displacing any existing contacts that now exceed the "max_contacts" count.
Any removed contacts are the next to expire.  The behaviour change is
beneficial when "rewrite_contact" is enabled and "max_contacts" is greater
than one.  The removed contact is likely the old contact created by
"rewrite_contact" that the device is refreshing.

ASTERISK-27192

Change-Id: I64c107a10b70db1697d17136051ae6bf22b5314b
CHANGES
configs/samples/pjsip.conf.sample
include/asterisk/vector.h
res/res_pjsip.c
res/res_pjsip_registrar.c