summaryrefslogtreecommitdiff
path: root/include/asterisk/vector.h
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2017-09-20 18:36:15 -0500
committerRichard Mudgett <rmudgett@digium.com>2017-10-09 12:52:30 -0500
commitfb19799b622bf41897f91b06ec8be81f858eac92 (patch)
treee7f0dc87310bd1be4f4768133405658cd96d4ade /include/asterisk/vector.h
parent13c1c72401b73465322540e73bf4022c3e5b927f (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/asterisk/vector.h')
-rw-r--r--include/asterisk/vector.h8
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.