From: Anthony Minessale Date: Wed, 31 Oct 2007 22:26:54 +0000 (+0000) Subject: inbound_context and inbound_dialplan vars in regged user to direct callflow X-Git-Tag: v1.0-beta2~261 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=240304fb62cc4dd2c0f8cfba7afc6f0b83379cd9;p=thirdparty%2Ffreeswitch.git inbound_context and inbound_dialplan vars in regged user to direct callflow git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6113 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 1b27fc89d0..fe0f4df473 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -1919,6 +1919,7 @@ void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_ const char *destination_number = NULL; const char *from_user = NULL, *from_host = NULL; const char *context = NULL; + const char *dialplan = NULL; char network_ip[80]; switch_event_t *v_event = NULL; uint32_t sess_count = switch_core_session_count(); @@ -2128,6 +2129,9 @@ void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_ } } + if (!context) { + context = switch_channel_get_variable(channel, "inbound_context"); + } if (!context) { if (profile->context && !strcasecmp(profile->context, "_domain_")) { @@ -2137,9 +2141,13 @@ void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_ } } + if (!(dialplan = switch_channel_get_variable(channel, "inbound_dialplan"))) { + dialplan = profile->dialplan; + } + tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), from_user, - profile->dialplan, + dialplan, displayname, from_user, network_ip,