res_pjsip_endpoint_identifier_ip: Add an option to match requests by header

This patch adds a new features to the endpoint identifier module,
'match_header'. When set, inbound requests are matched by a provided SIP
header: value pair. This option works in conjunction with the existing
'match' configuration option, such that if any 'match*' attribute
matches an inbound request, the request is associated with the specified
endpoint.

Since this module now identifies by more than just IP address,
appropriate renaming of the module and/or variables can be done in a
non-release branch.

ASTERISK-26863 #close

Change-Id: Icfc14835c962f92e35e67bbdb235cf0589de5453
(cherry picked from commit 30f52d79d7)
This commit is contained in:
Matt Jordan
2017-03-14 07:50:07 -05:00
committed by Joshua Colp
parent 71cc3fd969
commit 1475604eff
3 changed files with 128 additions and 9 deletions

View File

@@ -0,0 +1,21 @@
"""Add match_header attribute to identify
Revision ID: 465e70e8c337
Revises: 28ab27a7826d
Create Date: 2017-03-14 08:13:53.986681
"""
# revision identifiers, used by Alembic.
revision = '465e70e8c337'
down_revision = '28ab27a7826d'
from alembic import op
import sqlalchemy as sa
def upgrade():
op.add_column('ps_endpoint_id_ips', sa.Column('match_header', sa.String(255)))
def downgrade():
op.drop_column('ps_endpoint_id_ips', 'match_header')