chan_pjsip: Add support for passing hold and unhold requests through.

This change adds an option, moh_passthrough, that when enabled will pass
hold and unhold requests through using a SIP re-invite. When placing on
hold a re-invite with sendonly will be sent and when taking off hold a
re-invite with sendrecv will be sent. This allows remote servers to handle
the musiconhold instead of the local Asterisk instance being responsible.

Review: https://reviewboard.asterisk.org/r/4103/

Change-Id: Ib6294e906e577e1a4245cb1f058d3976ff484c52
This commit is contained in:
Joshua Colp
2014-11-03 14:45:01 +00:00
committed by Torrey Searle
parent ae70c2a428
commit d775bc5add
9 changed files with 105 additions and 12 deletions

View File

@@ -0,0 +1,30 @@
"""Add moh_passthrough option to pjsip
Revision ID: 339e1dfa644d
Revises: 3a094a18e75b
Create Date: 2014-10-21 14:55:34.197448
"""
# revision identifiers, used by Alembic.
revision = '339e1dfa644d'
down_revision = '3a094a18e75b'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects.postgresql import ENUM
YESNO_NAME = 'yesno_values'
YESNO_VALUES = ['yes', 'no']
def upgrade():
############################# Enums ##############################
# yesno_values have already been created, so use postgres enum object
# type to get around "already created" issue - works okay with mysql
yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False)
op.add_column('ps_endpoints', sa.Column('moh_passthrough', yesno_values))
def downgrade():
op.drop_column('ps_endpoints', 'moh_passthrough')