diff options
author | Richard Mudgett <rmudgett@digium.com> | 2017-09-20 18:36:15 -0500 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2017-10-09 12:52:47 -0500 |
commit | 6014a8743d40fc6625b22d81d4ae3fd0c4e75e19 (patch) | |
tree | 1c5a763555fa2fb5731b3f576a0e25e4187303bf /include | |
parent | 5a7ca93119ba8fa05c624e922a53d7cba890dd4c (diff) |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/vector.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asterisk/vector.h b/include/asterisk/vector.h index 1e6fe038c..68ce13065 100644 --- a/include/asterisk/vector.h +++ b/include/asterisk/vector.h @@ -548,6 +548,14 @@ AST_VECTOR(ast_vector_int, int); #define AST_VECTOR_SIZE(vec) (vec)->current /*! + * \brief Get the maximum number of elements the vector can currently hold. + * + * \param vec Vector to query. + * \return Maximum number of elements the vector can currently hold. + */ +#define AST_VECTOR_MAX_SIZE(vec) (vec)->max + +/*! * \brief Reset vector. * * \param vec Vector to reset. |