res_stir_shaken: Add stir_shaken option and general improvements.

Added a new configuration option for PJSIP endpoints - stir_shaken. If
set to yes, then STIR/SHAKEN support will be added to inbound and
outbound INVITEs. The default is no. Alembic has been updated to include
this option.

Previously the dialplan function was not trimming the whitespace from
the parameters it recieved. Now it does.

Also added a conditional that, when TEST_FRAMEWORK is enabled, the
timestamp in the identity header will be overlooked. This is just for
testing, since the testsuite will rely on a SIPp scenario with a preset
identity header to trigger the MISMATCH result.

Change-Id: I43d67f1489b8c1c5729ed3ca8d71e35ddf438df1
This commit is contained in:
Ben Ford
2020-06-24 11:49:11 -05:00
committed by George Joseph
parent e88beedd08
commit 5fbed5af24
9 changed files with 127 additions and 14 deletions

View File

@@ -0,0 +1,31 @@
"""add stir shaken
Revision ID: 61797b9fced6
Revises: fbb7766f17bc
Create Date: 2020-06-29 11:52:59.946929
"""
# revision identifiers, used by Alembic.
revision = '61797b9fced6'
down_revision = 'b80485ff4dd0'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects.postgresql import ENUM
YESNO_NAME = 'yesno_values'
YESNO_VALUES = ['yes', 'no']
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_endpoints', sa.Column('stir_shaken', ast_bool_values))
def downgrade():
op.drop_column('ps_endpoints', 'stir_shaken')