mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
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
This commit is contained in:
@@ -547,6 +547,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.
|
||||
*
|
||||
|
Reference in New Issue
Block a user