mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 03:20:57 +00:00
res_pjsip_registrar: Remove unavailable contacts if exceeds max_contacts
The behavior of max_contacts and remove_existing are connected. If remove_existing is enabled, the soonest expiring contacts are removed. This may occur when there is an unavailable contact. Similarly, when remove_existing is not enabled, registrations from good endpoints are rejected in favor of retaining unavailable contacts. This commit adds a new AOR option remove_unavailable, and the effect of this setting will depend on remove_existing. If remove_existing is set to no, we will still remove unavailable contacts when they exceed max_contacts, if there are any. If remove_existing is set to yes, we will prioritize the removal of unavailable contacts before those that are expiring soonest. ASTERISK-29525 Change-Id: Ia2711b08f2b4d1177411b1be23e970d7fdff5784
This commit is contained in:
committed by
Friendly Automation
parent
ea36473c45
commit
4368764032
@@ -0,0 +1,30 @@
|
||||
"""pjsip create remove_unavailable
|
||||
|
||||
Revision ID: f56d79a9f337
|
||||
Revises: c20d6e3992f4
|
||||
Create Date: 2021-07-28 02:09:11.082061
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = 'f56d79a9f337'
|
||||
down_revision = 'c20d6e3992f4'
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects.postgresql import ENUM
|
||||
|
||||
AST_BOOL_NAME = 'ast_bool_values'
|
||||
AST_BOOL_VALUES = [ '0', '1',
|
||||
'off', 'on',
|
||||
'false', 'true',
|
||||
'no', 'yes' ]
|
||||
|
||||
def upgrade():
|
||||
ast_bool_values = ENUM(*AST_BOOL_VALUES, name=AST_BOOL_NAME, create_type=False)
|
||||
op.add_column('ps_aors', sa.Column('remove_unavailable', ast_bool_values))
|
||||
|
||||
def downgrade():
|
||||
op.drop_column('ps_aors', 'remove_unavailable')
|
||||
pass
|
||||
|
Reference in New Issue
Block a user