457x tweaks

This commit is contained in:
Anthony Minessale 2012-07-27 15:07:11 -05:00
parent b6de76cb8c
commit 365b9feb72
2 changed files with 12 additions and 10 deletions

View File

@ -8433,7 +8433,7 @@ static void call_setup_event_handler(switch_event_t *event)
char *dial_uri = switch_event_get_header(event, "Request-Target-URI");
char *action = switch_event_get_header(event, "Request-Action");
char *ext = switch_event_get_header(event, "Request-Target-Extension");
char *full_url = switch_event_get_header(event, "full_url");
if (!ext) ext = dial_str;
@ -8464,7 +8464,7 @@ static void call_setup_event_handler(switch_event_t *event)
if (!strncasecmp(ostr, "url+", 4)) {
ostr += 4;
} else if (conference->outcall_templ) {
} else if (!switch_true(full_url) && conference->outcall_templ) {
if ((expanded = switch_event_expand_headers(var_event, conference->outcall_templ))) {
ostr = expanded;
}

View File

@ -1212,7 +1212,7 @@ static void our_sofia_event_callback(nua_event_t event,
sofia_handle_sip_i_refer(nua, profile, nh, session, sip, de, tags);
} else {
const char *req_user = NULL, *req_host = NULL, *action = NULL, *ref_by_user = NULL, *ref_to_user = NULL, *ref_to_host = NULL;
char *refer_to = NULL, *referred_by = NULL, *method = NULL;
char *refer_to = NULL, *referred_by = NULL, *method = NULL, *full_url = NULL;
char *params = NULL;
switch_event_t *event;
@ -1231,6 +1231,8 @@ static void our_sofia_event_callback(nua_event_t event,
if (!(method = switch_find_parameter(params, "method", NULL))) {
method = strdup("INVITE");
}
full_url = switch_find_parameter(params, "full_url", NULL);
if (!strcasecmp(method, "INVITE")) {
action = "call";
@ -1264,6 +1266,10 @@ 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);
if (switch_true(full_url)) {
switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "full-url", "true");
}
if (!zstr(referred_by)) {
switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Request-Sender", "sofia/%s/%s", profile->name, referred_by);
@ -1276,6 +1282,7 @@ static void our_sofia_event_callback(nua_event_t event,
nua_respond(nh, SIP_202_ACCEPTED, NUTAG_WITH_THIS_MSG(de->data->e_msg), TAG_END());
switch_safe_free(method);
switch_safe_free(full_url);
}
break;
@ -6941,13 +6948,11 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
goto done;
}
printf("DICK %d\n", __LINE__);
if (!sip->sip_cseq || !(etmp = switch_mprintf("refer;id=%u", sip->sip_cseq->cs_seq))) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Memory Error!\n");
goto done;
}
printf("DICK %d\n", __LINE__);
from = sip->sip_from;
//to = sip->sip_to;
@ -6980,11 +6985,8 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
rep = (char *) switch_stristr("Replaces=", refer_to->r_url->url_headers);
}
printf("WTFX %s\n", rep);
if (!rep) {
printf("WTF [%s]\n", refer_to->r_url->url_headers);
} else {
if (rep) {
sip_replaces_t *replaces;
nua_handle_t *bnh = NULL;