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/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@427112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2014-11-03 14:45:01 +00:00
parent 285be15aaf
commit ac091d4184
9 changed files with 103 additions and 10 deletions

View File

@@ -0,0 +1,30 @@
"""Add moh_passthrough option to pjsip
Revision ID: 339e1dfa644d
Revises: 1443687dda65
Create Date: 2014-10-21 14:55:34.197448
"""
# revision identifiers, used by Alembic.
revision = '339e1dfa644d'
down_revision = '1443687dda65'
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')