mirror of http://gerrit.asterisk.org/asterisk
The existing auto dtmf mode reverts to inband if 4733 fails to be negotiated. This patch adds a new mode auto_info which will switch to INFO instead of inband if 4733 is not available. ASTERISK-27066 #close Change-Id: Id185b11e84afd9191a2f269e8443019047765e91changes/03/5903/3
parent
45df25a579
commit
fb7247c57c
@ -0,0 +1,57 @@
|
||||
"""Add auto_info to endpoint dtmf_mode
|
||||
|
||||
Revision ID: 164abbd708c
|
||||
Revises: 86bb1efa278d
|
||||
Create Date: 2017-06-19 13:55:15.354706
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '164abbd708c'
|
||||
down_revision = '86bb1efa278d'
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
OLD_ENUM = ['rfc4733', 'inband', 'info', 'auto']
|
||||
NEW_ENUM = ['rfc4733', 'inband', 'info', 'auto', 'auto_info']
|
||||
|
||||
old_type = sa.Enum(*OLD_ENUM, name='pjsip_dtmf_mode_values_v2')
|
||||
new_type = sa.Enum(*NEW_ENUM, name='pjsip_dtmf_mode_values_v3')
|
||||
|
||||
def upgrade():
|
||||
context = op.get_context()
|
||||
|
||||
# Upgrading to this revision WILL clear your directmedia values.
|
||||
if context.bind.dialect.name != 'postgresql':
|
||||
op.alter_column('ps_endpoints', 'dtmf_mode',
|
||||
type_=new_type,
|
||||
existing_type=old_type)
|
||||
else:
|
||||
enum = ENUM('rfc4733', 'inband', 'info', 'auto', 'auto_info',
|
||||
name='pjsip_dtmf_mode_values_v3')
|
||||
enum.create(op.get_bind(), checkfirst=False)
|
||||
|
||||
op.execute('ALTER TABLE ps_endpoints ALTER COLUMN dtmf_mode TYPE'
|
||||
' pjsip_dtmf_mode_values_v3 USING'
|
||||
' dtmf_mode::text::pjsip_dtmf_mode_values_v3')
|
||||
|
||||
ENUM(name="pjsip_dtmf_mode_values_v2").drop(op.get_bind(), checkfirst=False)
|
||||
|
||||
def downgrade():
|
||||
context = op.get_context()
|
||||
|
||||
if context.bind.dialect.name != 'postgresql':
|
||||
op.alter_column('ps_endpoints', 'dtmf_mode',
|
||||
type_=old_type,
|
||||
existing_type=new_type)
|
||||
else:
|
||||
enum = ENUM('rfc4733', 'inband', 'info', 'auto',
|
||||
name='pjsip_dtmf_mode_values_v2')
|
||||
enum.create(op.get_bind(), checkfirst=False)
|
||||
|
||||
op.execute('ALTER TABLE ps_endpoints ALTER COLUMN dtmf_mode TYPE'
|
||||
' pjsip_dtmf_mode_values USING'
|
||||
' dtmf_mode::text::pjsip_dtmf_mode_values_v2')
|
||||
|
||||
ENUM(name="pjsip_dtmf_mode_values_v3").drop(op.get_bind(), checkfirst=False)
|
Loading…
Reference in new issue