gateway_ptr->ob_calls++;
if (!zstr(gateway_ptr->from_domain) && !switch_channel_get_variable(nchannel, "sip_invite_domain")) {
- if (!strcasecmp(gateway_ptr->from_domain, "auto-aleg")) {
+
+ if (!strcasecmp(gateway_ptr->from_domain, "auto-aleg-full")) {
+ const char *sip_full_from = switch_channel_get_variable(o_channel, "sip_full_from");
+
+ if (!zstr(sip_full_from)) {
+ switch_channel_set_variable(nchannel, "sip_force_full_from", sip_full_from);
+ }
+
+ } else if (!strcasecmp(gateway_ptr->from_domain, "auto-aleg-domain")) {
const char *sip_from_host = switch_channel_get_variable(o_channel, "sip_from_host");
if (!zstr(sip_from_host)) {
const char *invite_full_to = switch_channel_get_variable(tech_pvt->channel, "sip_invite_full_to");
const char *handle_full_from = switch_channel_get_variable(tech_pvt->channel, "sip_handle_full_from");
const char *handle_full_to = switch_channel_get_variable(tech_pvt->channel, "sip_handle_full_to");
+ const char *force_full_from = switch_channel_get_variable(tech_pvt->channel, "sip_force_full_from");
+ const char *force_full_to = switch_channel_get_variable(tech_pvt->channel, "sip_force_full_to");
char *mp = NULL, *mp_type = NULL;
rep = switch_channel_get_variable(channel, SOFIA_REPLACES_HEADER);
}
+ if (force_full_from) {
+ from_str = (char *) force_full_from;
+ }
+
+ if (force_full_to) {
+ to_str = (char *) force_full_to;
+ }
+
+
if (invite_req_uri) {
url_str = (char *) invite_req_uri;
}