[asterisk-commits] jrose: branch 12 r400532 - in /branches/12: configs/ contrib/ast-db-manage/co...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Oct 4 12:10:32 CDT 2013
Author: jrose
Date: Fri Oct 4 12:10:27 2013
New Revision: 400532
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=400532
Log:
chan_pjsip: Add alembic scripts for generating db tables for PJSIP
Also updates sample configurations for sorcery and extconfig to
demonstrate how to use databases created by that alembic script.
(closes issue ASTERISK-22133)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2892/
Added:
branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py (with props)
Modified:
branches/12/configs/extconfig.conf.sample
branches/12/configs/sorcery.conf.sample
branches/12/contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py
Modified: branches/12/configs/extconfig.conf.sample
URL: http://svnview.digium.com/svn/asterisk/branches/12/configs/extconfig.conf.sample?view=diff&rev=400532&r1=400531&r2=400532
==============================================================================
--- branches/12/configs/extconfig.conf.sample (original)
+++ branches/12/configs/extconfig.conf.sample Fri Oct 4 12:10:27 2013
@@ -65,6 +65,7 @@
; engine. Here are several of the possible options:
; odbc ... res_config_odbc
; sqlite ... res_config_sqlite
+; sqlite3 ... res_config_sqlite3
; pgsql ... res_config_pgsql
; curl ... res_config_curl
; ldap ... res_config_ldap
@@ -78,6 +79,11 @@
;iaxpeers => odbc,asterisk
;sippeers => odbc,asterisk
;sipregs => odbc,asterisk ; (avoid sipregs if possible, e.g. by using a view)
+;ps_endpoints => odbc,asterisk
+;ps_auths => odbc,asterisk
+;ps_aors => odbc,asterisk
+;ps_domain_aliases => odbc,asterisk
+;ps_endpoint_id_ips => odbc,asterisk
;voicemail => odbc,asterisk
;extensions => odbc,asterisk
;meetme => mysql,general
Modified: branches/12/configs/sorcery.conf.sample
URL: http://svnview.digium.com/svn/asterisk/branches/12/configs/sorcery.conf.sample?view=diff&rev=400532&r1=400531&r2=400532
==============================================================================
--- branches/12/configs/sorcery.conf.sample (original)
+++ branches/12/configs/sorcery.conf.sample Fri Oct 4 12:10:27 2013
@@ -48,3 +48,13 @@
test/cache=test
test=memory
+;
+; The following object mappings set PJSIP objects to use realtime database mappings from extconfig
+; with the table names used when automatically generating configuration from the alembic script.
+;
+;[res_pjsip]
+;endpoint=realtime,ps_endpoints
+;auth=realtime,ps_auths
+;aor=realtime,ps_aors
+;domain_alias=realtime,ps_domain_aliases
+;identify=realtime,ps_endpoint_id_ips
Added: branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
URL: http://svnview.digium.com/svn/asterisk/branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py?view=auto&rev=400532
==============================================================================
--- branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py (added)
+++ branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py Fri Oct 4 12:10:27 2013
@@ -1,0 +1,188 @@
+"""Add tables for pjsip
+
+Revision ID: 43956d550a44
+Revises: 4da0c5f79a9c
+Create Date: 2013-09-30 13:23:59.676690
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '43956d550a44'
+down_revision = '4da0c5f79a9c'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+YESNO_VALUES = ['yes', 'no']
+PJSIP_CID_PRIVACY_VALUES = ['allowed_not_screened', 'allowed_passed_screened',
+ 'allowed_failed_screened', 'allowed',
+ 'prohib_not_screened', 'prohib_passed_screened',
+ 'prohib_failed_screened', 'prohib', 'unavailable']
+PJSIP_100REL_VALUES = ['no', 'required', 'yes']
+PJSIP_CONNECTED_LINE_METHOD_VALUES = ['invite', 'reinvite', 'update']
+PJSIP_DIRECT_MEDIA_GLARE_MITIGATION_VALUES = ['none', 'outgoing', 'incoming']
+PJSIP_DTMF_MODE_VALUES = ['rfc4733', 'inband', 'info']
+PJSIP_IDENTIFY_BY_VALUES = ['username']
+PJSIP_TIMERS_VALUES = ['forced', 'no', 'required', 'yes']
+PJSIP_MEDIA_ENCRYPTION_VALUES = ['no', 'sdes', 'dtls']
+PJSIP_T38UDPTL_EC_VALUES = ['none', 'fec', 'redundancy']
+PJSIP_DTLS_SETUP_VALUES = ['active', 'passive', 'actpass']
+PJSIP_AUTH_TYPE_VALUES = ['md5', 'userpass']
+PJSIP_TRANSPORT_METHOD_VALUES = ['default', 'unspecified', 'tlsv1', 'sslv2',
+ 'sslv3', 'sslv23']
+PJSIP_TRANSPORT_PROTOCOL_VALUES = ['udp', 'tcp', 'tls', 'ws', 'wss']
+
+
+def upgrade():
+ op.create_table(
+ 'ps_endpoints',
+ sa.Column('id', sa.String(40), nullable=False, unique=True),
+ sa.Column('transport', sa.String(40)),
+ sa.Column('aors', sa.String(200)),
+ sa.Column('auth', sa.String(40)),
+ sa.Column('context', sa.String(40)),
+ sa.Column('disallow', sa.String(200)),
+ sa.Column('allow', sa.String(200)),
+ sa.Column('direct_media', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('connected_line_method',
+ sa.Enum(*PJSIP_CONNECTED_LINE_METHOD_VALUES, name='pjsip_connected_line_method_values')),
+ sa.Column('direct_media_method',
+ sa.Enum(*PJSIP_CONNECTED_LINE_METHOD_VALUES, name='pjsip_connected_line_method_values')),
+ sa.Column('direct_media_glare_mitigation',
+ sa.Enum(*PJSIP_DIRECT_MEDIA_GLARE_MITIGATION_VALUES, name='pjsip_direct_media_glare_mitigation_values')),
+ sa.Column('disable_direct_media_on_nat', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('dtmfmode', sa.Enum(*PJSIP_DTMF_MODE_VALUES, name='pjsip_dtmf_mode_values')),
+ sa.Column('external_media_address', sa.String(40)),
+ sa.Column('force_rport', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('ice_support', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('identify_by', sa.Enum(*PJSIP_IDENTIFY_BY_VALUES, name='pjsip_identify_by_values')),
+ sa.Column('mailboxes', sa.String(40)),
+ sa.Column('mohsuggest', sa.String(40)),
+ sa.Column('outbound_auth', sa.String(40)),
+ sa.Column('outbound_proxy', sa.String(40)),
+ sa.Column('rewrite_contact', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('rtp_ipv6', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('rtp_symmetric', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('send_diversion', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('send_pai', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('send_rpid', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('timers_min_se', sa.Integer),
+ sa.Column('timers', sa.Enum(*PJSIP_TIMERS_VALUES, name='pjsip_timer_values')),
+ sa.Column('timers_sess_expires', sa.Integer),
+ sa.Column('callerid', sa.String(40)),
+ sa.Column('callerid_privacy', sa.Enum(*PJSIP_CID_PRIVACY_VALUES, name='pjsip_cid_privacy_values')),
+ sa.Column('callerid_tag', sa.String(40)),
+ sa.Column('100rel', sa.Enum(*PJSIP_100REL_VALUES, name='pjsip_100rel_values')),
+ sa.Column('aggregate_mwi', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('trust_id_inbound', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('trust_id_outbound', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('use_ptime', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('use_avpf', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('media_encryption', sa.Enum(*PJSIP_MEDIA_ENCRYPTION_VALUES, name='pjsip_media_encryption_values')),
+ sa.Column('inband_progress', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('callgroup', sa.String(40)),
+ sa.Column('pickupgroup', sa.String(40)),
+ sa.Column('namedcallgroup', sa.String(40)),
+ sa.Column('namedpickupgroup', sa.String(40)),
+ sa.Column('devicestate_busy_at', sa.Integer),
+ sa.Column('faxdetect', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('t38udptl', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('t38udptl_ec', sa.Enum(*PJSIP_T38UDPTL_EC_VALUES, name='pjsip_t38udptl_ec_values')),
+ sa.Column('t38udptl_maxdatagram', sa.Integer),
+ sa.Column('t38udptl_nat', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('t38udptl_ipv6', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('tonezone', sa.String(40)),
+ sa.Column('language', sa.String(40)),
+ sa.Column('one_touch_recording', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('recordonfeature', sa.String(40)),
+ sa.Column('recordofffeature', sa.String(40)),
+ sa.Column('rtpengine', sa.String(40)),
+ sa.Column('allowtransfer', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('allowsubscribe', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('sdpowner', sa.String(40)),
+ sa.Column('sdpsession', sa.String(40)),
+ sa.Column('tos_audio', sa.Integer),
+ sa.Column('tos_video', sa.Integer),
+ sa.Column('cos_audio', sa.Integer),
+ sa.Column('cos_video', sa.Integer),
+ sa.Column('subminexpiry', sa.Integer),
+ sa.Column('fromdomain', sa.String(40)),
+ sa.Column('fromuser', sa.String(40)),
+ sa.Column('mwifromuser', sa.String(40)),
+ sa.Column('dtlsverify', sa.String(40)),
+ sa.Column('dtlsrekey', sa.String(40)),
+ sa.Column('dtlscertfile', sa.String(200)),
+ sa.Column('dtlsprivatekey', sa.String(200)),
+ sa.Column('dtlscipher', sa.String(200)),
+ sa.Column('dtlscafile', sa.String(200)),
+ sa.Column('dtlscapath', sa.String(200)),
+ sa.Column('dtlssetup', sa.Enum(*PJSIP_DTLS_SETUP_VALUES, name='pjsip_dtls_setup_values')),
+ sa.Column('srtp_tag_32', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ )
+
+ op.create_index('ps_endpoints_id', 'ps_endpoints', ['id'])
+
+ op.create_table(
+ 'ps_auths',
+ sa.Column('id', sa.String(40), nullable=False, unique=True),
+ sa.Column('auth_type', sa.Enum(*PJSIP_AUTH_TYPE_VALUES, name='pjsip_auth_type_values')),
+ sa.Column('nonce_lifetime', sa.Integer),
+ sa.Column('md5_cred', sa.String(40)),
+ sa.Column('password', sa.String(80)),
+ sa.Column('realm', sa.String(40)),
+ sa.Column('username', sa.String(40)),
+ )
+
+ op.create_index('ps_auths_id', 'ps_auths', ['id'])
+
+ op.create_table(
+ 'ps_aors',
+ sa.Column('id', sa.String(40), nullable=False, unique=True),
+ sa.Column('contact', sa.String(40)),
+ sa.Column('default_expiration', sa.Integer),
+ sa.Column('mailboxes', sa.String(80)),
+ sa.Column('max_contacts', sa.Integer),
+ sa.Column('minimum_expiration', sa.Integer),
+ sa.Column('remove_existing', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ sa.Column('qualify_frequency', sa.Integer),
+ sa.Column('authenticate_qualify', sa.Enum(*YESNO_VALUES, name='yesno_values')),
+ )
+
+ op.create_index('ps_aors_id', 'ps_aors', ['id'])
+
+ op.create_table(
+ 'ps_contacts',
+ sa.Column('id', sa.String(40), nullable=False, unique=True),
+ sa.Column('uri', sa.String(40)),
+ sa.Column('expiration_time', sa.String(40)),
+ sa.Column('qualify_frequency', sa.Integer),
+ )
+
+ op.create_index('ps_contacts_id', 'ps_contacts', ['id'])
+
+ op.create_table(
+ 'ps_domain_aliases',
+ sa.Column('id', sa.String(40), nullable=False, unique=True),
+ sa.Column('domain', sa.String(80)),
+ )
+
+ op.create_index('ps_domain_aliases_id', 'ps_domain_aliases', ['id'])
+
+ op.create_table(
+ 'ps_endpoint_id_ips',
+ sa.Column('id', sa.String(40), nullable=False, unique=True),
+ sa.Column('endpoint', sa.String(40)),
+ sa.Column('match', sa.String(80)),
+ )
+
+ op.create_index('ps_endpoint_id_ips_id',
+ 'ps_endpoint_id_ips', ['id'])
+
+
+def downgrade():
+ op.drop_table('ps_endpoints')
+ op.drop_table('ps_auths')
+ op.drop_table('ps_aors')
+ op.drop_table('ps_domain_aliases')
+ op.drop_table('ps_endpoint_id_ips')
Propchange: branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
------------------------------------------------------------------------------
svn:executable = *
Propchange: branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: branches/12/contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: branches/12/contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py
URL: http://svnview.digium.com/svn/asterisk/branches/12/contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py?view=diff&rev=400532&r1=400531&r2=400532
==============================================================================
--- branches/12/contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py (original)
+++ branches/12/contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py Fri Oct 4 12:10:27 2013
@@ -75,9 +75,12 @@
sa.Column('secret', sa.String(40)),
sa.Column('md5secret', sa.String(40)),
sa.Column('remotesecret', sa.String(40)),
- sa.Column('transport', sa.Enum(*SIP_TRANSPORT_VALUES, name='sip_transport_values')),
- sa.Column('dtmfmode', sa.Enum(*SIP_DTMFMODE_VALUES, name='sip_dtmfmode_values')),
- sa.Column('directmedia', sa.Enum(*SIP_DIRECTMEDIA_VALUES, name='sip_directmedia_values')),
+ sa.Column('transport', sa.Enum(*SIP_TRANSPORT_VALUES,
+ name='sip_transport_values')),
+ sa.Column('dtmfmode', sa.Enum(*SIP_DTMFMODE_VALUES,
+ name='sip_dtmfmode_values')),
+ sa.Column('directmedia', sa.Enum(*SIP_DIRECTMEDIA_VALUES,
+ name='sip_directmedia_values')),
sa.Column('nat', sa.String(29)),
sa.Column('callgroup', sa.String(40)),
sa.Column('pickupgroup', sa.String(40)),
@@ -85,26 +88,37 @@
sa.Column('disallow', sa.String(200)),
sa.Column('allow', sa.String(200)),
sa.Column('insecure', sa.String(40)),
- sa.Column('trustrpid', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('progressinband', sa.Enum(*SIP_PROGRESSINBAND_VALUES, name='sip_progressinband_values')),
- sa.Column('promiscredir', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('useclientcode', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('trustrpid', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('progressinband', sa.Enum(*SIP_PROGRESSINBAND_VALUES,
+ name='sip_progressinband_values')),
+ sa.Column('promiscredir', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('useclientcode', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('accountcode', sa.String(40)),
sa.Column('setvar', sa.String(200)),
sa.Column('callerid', sa.String(40)),
sa.Column('amaflags', sa.String(40)),
- sa.Column('callcounter', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('callcounter', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('busylevel', sa.Integer),
- sa.Column('allowoverlap', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('allowsubscribe', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('videosupport', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('allowoverlap', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('allowsubscribe', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('videosupport', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('maxcallbitrate', sa.Integer),
- sa.Column('rfc2833compensate', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('rfc2833compensate', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('mailbox', sa.String(40)),
- sa.Column('session-timers', sa.Enum(*SIP_SESSION_TIMERS_VALUES, name='sip_session_timers_values')),
+ sa.Column('session-timers', sa.Enum(*SIP_SESSION_TIMERS_VALUES,
+ name='sip_session_timers_values')),
sa.Column('session-expires', sa.Integer),
sa.Column('session-minse', sa.Integer),
- sa.Column('session-refresher', sa.Enum(*SIP_SESSION_REFRESHER_VALUES, name='sip_session_refresher_values')),
+ sa.Column('session-refresher', sa.Enum(*SIP_SESSION_REFRESHER_VALUES,
+ name='sip_session_refresher_values')),
sa.Column('t38pt_usertpsource', sa.String(40)),
sa.Column('regexten', sa.String(40)),
sa.Column('fromdomain', sa.String(40)),
@@ -113,13 +127,15 @@
sa.Column('defaultip', sa.String(45)),
sa.Column('rtptimeout', sa.Integer),
sa.Column('rtpholdtimeout', sa.Integer),
- sa.Column('sendrpid', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('sendrpid', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('outboundproxy', sa.String(40)),
sa.Column('callbackextension', sa.String(40)),
sa.Column('timert1', sa.Integer),
sa.Column('timerb', sa.Integer),
sa.Column('qualifyfreq', sa.Integer),
- sa.Column('constantssrc', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('constantssrc', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('contactpermit', sa.String(95)),
sa.Column('contactdeny', sa.String(95)),
sa.Column('usereqphone', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
@@ -130,19 +146,25 @@
sa.Column('fullname', sa.String(40)),
sa.Column('trunkname', sa.String(40)),
sa.Column('cid_number', sa.String(40)),
- sa.Column('callingpres', sa.Enum(*SIP_CALLINGPRES_VALUES, name='sip_callingpres_values')),
+ sa.Column('callingpres', sa.Enum(*SIP_CALLINGPRES_VALUES,
+ name='sip_callingpres_values')),
sa.Column('mohinterpret', sa.String(40)),
sa.Column('mohsuggest', sa.String(40)),
sa.Column('parkinglot', sa.String(40)),
- sa.Column('hasvoicemail', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('subscribemwi', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('hasvoicemail', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('subscribemwi', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('vmexten', sa.String(40)),
sa.Column('autoframing', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
sa.Column('rtpkeepalive', sa.Integer),
sa.Column('call-limit', sa.Integer),
- sa.Column('g726nonstandard', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('ignoresdpversion', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('allowtransfer', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('g726nonstandard', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('ignoresdpversion', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('allowtransfer', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('dynamic', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
sa.Column('path', sa.String(256)),
sa.Column('supportpath', sa.Enum(*YESNO_VALUES, name='yes_no_values'))
@@ -185,16 +207,22 @@
sa.Column('trunk', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
sa.Column('auth', sa.String(20)),
sa.Column('maxauthreq', sa.Integer),
- sa.Column('requirecalltoken', sa.Enum(*IAX_REQUIRECALLTOKEN_VALUES, name='iax_requirecalltoken_values')),
- sa.Column('encryption', sa.Enum(*IAX_ENCRYPTION_VALUES, name='iax_encryption_values')),
- sa.Column('transfer', sa.Enum(*IAX_TRANSFER_VALUES, name='iax_transfer_values')),
- sa.Column('jitterbuffer', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('forcejitterbuffer', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('requirecalltoken', sa.Enum(*IAX_REQUIRECALLTOKEN_VALUES,
+ name='iax_requirecalltoken_values')),
+ sa.Column('encryption', sa.Enum(*IAX_ENCRYPTION_VALUES,
+ name='iax_encryption_values')),
+ sa.Column('transfer', sa.Enum(*IAX_TRANSFER_VALUES,
+ name='iax_transfer_values')),
+ sa.Column('jitterbuffer', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('forcejitterbuffer', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('disallow', sa.String(200)),
sa.Column('allow', sa.String(200)),
sa.Column('codecpriority', sa.String(40)),
sa.Column('qualify', sa.String(10)),
- sa.Column('qualifysmoothing', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('qualifysmoothing',
+ sa.Enum(*YESNO_VALUES, name='yes_no_values')),
sa.Column('qualifyfreqok', sa.String(10)),
sa.Column('qualifyfreqnotok', sa.String(10)),
sa.Column('timezone', sa.String(20)),
@@ -225,16 +253,25 @@
sa.Column('serveremail', sa.String(80)),
sa.Column('language', sa.String(20)),
sa.Column('tz', sa.String(30)),
- sa.Column('deletevoicemail', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('saycid', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('sendvoicemail', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('review', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('tempgreetwarn', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('operator', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('envelope', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('deletevoicemail', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('saycid', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('sendvoicemail', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('review', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('tempgreetwarn', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('operator', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('envelope', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('sayduration', sa.Integer),
- sa.Column('forcename', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
- sa.Column('forcegreetings', sa.Enum(*YESNO_VALUES, name='yes_no_values')),
+ sa.Column('forcename', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
+ sa.Column('forcegreetings', sa.Enum(*YESNO_VALUES,
+ name='yes_no_values')),
sa.Column('callback', sa.String(80)),
sa.Column('dialout', sa.String(80)),
sa.Column('exitcontext', sa.String(80)),
@@ -249,7 +286,8 @@
)
op.create_index('voicemail_mailbox', 'voicemail', ['mailbox'])
op.create_index('voicemail_context', 'voicemail', ['context'])
- op.create_index('voicemail_mailbox_context', 'voicemail', ['mailbox', 'context'])
+ op.create_index('voicemail_mailbox_context', 'voicemail',
+ ['mailbox', 'context'])
op.create_index('voicemail_imapuser', 'voicemail', ['imapuser'])
op.create_table(
More information about the asterisk-commits
mailing list