diff options
author | Kevin Harwell <kharwell@digium.com> | 2017-08-02 09:43:56 -0500 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2017-08-03 11:44:28 -0500 |
commit | 521b6fed12b7466a63bee5956e112de96824b1a8 (patch) | |
tree | a1ba5bacff13e6b9296008df02eb105cd5b9c86a | |
parent | 2be8d91c0f5802a1f9c87b35f8f419e0db1b22d8 (diff) |
alembic/res_pjsip: Add "webrtc" configuration option
When the "webrtc" option was added in res_pjsip it was not added to the alembic
scripts. This patch adds the option for alembic.
Also, changed the sorcery configuration type to an OPT_YESNO_T value instead of
an OPT_BOOL_T so if this field is ever written to a database it will write out
the correct value.
ASTERISK-27119 #close
Change-Id: I3e199f060aea25e193c439fc5cf96be4d3ed1c7b
-rw-r--r-- | contrib/ast-db-manage/config/versions/44ccced114ce_add_webrtc.py | 31 | ||||
-rw-r--r-- | res/res_pjsip/pjsip_configuration.c | 2 |
2 files changed, 32 insertions, 1 deletions
diff --git a/contrib/ast-db-manage/config/versions/44ccced114ce_add_webrtc.py b/contrib/ast-db-manage/config/versions/44ccced114ce_add_webrtc.py new file mode 100644 index 000000000..fdeb058da --- /dev/null +++ b/contrib/ast-db-manage/config/versions/44ccced114ce_add_webrtc.py @@ -0,0 +1,31 @@ +"""add webrtc option to ps_endpoints + +Revision ID: 44ccced114ce +Revises: 164abbd708c +Create Date: 2017-07-10 17:07:25.926150 + +""" + +# revision identifiers, used by Alembic. +revision = '44ccced114ce' +down_revision = '164abbd708c' + +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('webrtc', yesno_values)) + + +def downgrade(): + op.drop_column('ps_endpoints', 'webrtc') diff --git a/res/res_pjsip/pjsip_configuration.c b/res/res_pjsip/pjsip_configuration.c index 4e12b04cc..d3ff1f32b 100644 --- a/res/res_pjsip/pjsip_configuration.c +++ b/res/res_pjsip/pjsip_configuration.c @@ -1994,7 +1994,7 @@ int ast_res_pjsip_initialize_configuration(void) ast_sorcery_object_field_register(sip_sorcery, "endpoint", "max_audio_streams", "1", OPT_UINT_T, 0, FLDSET(struct ast_sip_endpoint, media.max_audio_streams)); ast_sorcery_object_field_register(sip_sorcery, "endpoint", "max_video_streams", "1", OPT_UINT_T, 0, FLDSET(struct ast_sip_endpoint, media.max_video_streams)); ast_sorcery_object_field_register(sip_sorcery, "endpoint", "bundle", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, media.bundle)); - ast_sorcery_object_field_register(sip_sorcery, "endpoint", "webrtc", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, media.webrtc)); + ast_sorcery_object_field_register(sip_sorcery, "endpoint", "webrtc", "no", OPT_YESNO_T, 1, FLDSET(struct ast_sip_endpoint, media.webrtc)); if (ast_sip_initialize_sorcery_transport()) { ast_log(LOG_ERROR, "Failed to register SIP transport support with sorcery\n"); |