From 772f60d23527e47e1034a40b36d6f4aa3e6ac16f Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 26 Jul 2012 16:47:50 -0500 Subject: [PATCH] 4569 tweaks --- src/mod/endpoints/mod_sofia/sofia.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 628bd81d1f..4c9670f422 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -1222,7 +1222,11 @@ static void our_sofia_event_callback(nua_event_t event, refer_to = sip_header_as_string(nua_handle_home(nh), (void *) sip->sip_refer_to); if ((params = strchr(refer_to, ';'))) { - *params++ = '\0'; + if (*refer_to == '<') { + *params++ = '\0'; + } else { + *params++ = '>'; + } if (!(method = switch_find_parameter(params, "method", NULL))) { method = strdup("INVITE"); @@ -1260,7 +1264,11 @@ static void our_sofia_event_callback(nua_event_t event, switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Request-Target-URI", "%s", refer_to); switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Request-Target-Extension", ref_to_user); switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Request-Target-Domain", ref_to_host); - switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Request-Sender", "sofia/%s/%s", profile->name, referred_by); + + if (!zstr(referred_by)) { + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Request-Sender", "sofia/%s/%s", profile->name, referred_by); + } + switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "var_origination_caller_id_number", ref_by_user); switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "var_origination_caller_id_name", ref_by_user); switch_event_fire(&event);