From 263a83bf7c54481a1da2f09ae27cd5ea3368db68 Mon Sep 17 00:00:00 2001 From: David Grant Date: Sun, 4 Aug 2019 02:37:51 -0500 Subject: [PATCH] FS-11977 [mod_signalwire] add configuration param override-context --- .../conf/autoload_configs/signalwire.conf.xml | 2 ++ src/mod/applications/mod_signalwire/mod_signalwire.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/mod/applications/mod_signalwire/conf/autoload_configs/signalwire.conf.xml b/src/mod/applications/mod_signalwire/conf/autoload_configs/signalwire.conf.xml index c62ad72ff0..600ecc5486 100644 --- a/src/mod/applications/mod_signalwire/conf/autoload_configs/signalwire.conf.xml +++ b/src/mod/applications/mod_signalwire/conf/autoload_configs/signalwire.conf.xml @@ -6,5 +6,7 @@ + + diff --git a/src/mod/applications/mod_signalwire/mod_signalwire.c b/src/mod/applications/mod_signalwire/mod_signalwire.c index b07b87384d..71dc8b7e39 100644 --- a/src/mod/applications/mod_signalwire/mod_signalwire.c +++ b/src/mod/applications/mod_signalwire/mod_signalwire.c @@ -76,6 +76,7 @@ static struct { char adoption_service[1024]; char stun_server[1024]; char adoption_token[64]; + char override_context[64]; ks_size_t adoption_backoff; ks_time_t adoption_next; @@ -657,6 +658,8 @@ static switch_status_t load_config() switch_set_string(globals.stun_server, val); } else if (!strcasecmp(var, "ssl-verify")) { globals.ssl_verify = switch_true(val) ? 1 : 0; + } else if (!strcasecmp(var, "override-context") && !ks_zstr(val)) { + switch_set_string(globals.override_context, val); } } if ((tmp = switch_xml_child(settings, "authentication"))) { @@ -749,6 +752,11 @@ SWITCH_STANDARD_DIALPLAN(dialplan_hunt) } } + if (globals.override_context[0] != '\0') { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "Overriding dialplan context from %s to %s\n",caller_profile->context,globals.override_context); + caller_profile->context = globals.override_context; + } + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "Processing %s <%s>->%s in context %s\n", caller_profile->caller_id_name, caller_profile->caller_id_number, caller_profile->destination_number, caller_profile->context);