if (p != sip->sip_from->a_display) free(p);
if ((full = sip_header_as_string(nh->nh_home, (void *) sip->sip_from))) {
switch_channel_set_variable(channel, "sip_full_from", full);
-
- if (!switch_channel_get_variable_dup(channel, "sip_orig_full_from", SWITCH_FALSE, -1)) {
- switch_channel_set_variable(channel, "sip_orig_full_from", full);
- }
-
su_free(nh->nh_home, full);
}
}
if ((full = sip_header_as_string(nh->nh_home, (void *) sip->sip_to))) {
switch_channel_set_variable(channel, "sip_full_to", full);
-
- if (!switch_channel_get_variable_dup(channel, "sip_orig_full_to", SWITCH_FALSE, -1)) {
- switch_channel_set_variable(channel, "sip_orig_full_to", full);
- }
-
su_free(nh->nh_home, full);
}
}
if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
int break_rfc = switch_true(switch_channel_get_variable(channel, "sip_recovery_break_rfc"));
tech_pvt->dest = switch_core_session_sprintf(session, "sip:%s", switch_channel_get_variable(channel, "sip_req_uri"));
- switch_channel_set_variable(channel, "sip_handle_full_from", switch_channel_get_variable(channel, break_rfc ? "sip_orig_full_to" : "sip_orig_full_from"));
- switch_channel_set_variable(channel, "sip_handle_full_to", switch_channel_get_variable(channel, break_rfc ? "sip_orig_full_from" : "sip_orig_full_to"));
+ switch_channel_set_variable(channel, "sip_handle_full_from", switch_channel_get_variable(channel, break_rfc ? "sip_full_to" : "sip_full_from"));
+ switch_channel_set_variable(channel, "sip_handle_full_to", switch_channel_get_variable(channel, break_rfc ? "sip_full_from" : "sip_full_to"));
} else {
tech_pvt->redirected = switch_core_session_sprintf(session, "sip:%s", switch_channel_get_variable(channel, "sip_contact_uri"));
tech_pvt->dest = switch_core_session_sprintf(session, "sip:%s", switch_channel_get_variable(channel, "sip_from_uri"));
if (!switch_channel_get_variable_dup(channel, "sip_handle_full_from", SWITCH_FALSE, -1)) {
- switch_channel_set_variable(channel, "sip_handle_full_from", switch_channel_get_variable(channel, "sip_orig_full_to"));
+ switch_channel_set_variable(channel, "sip_handle_full_from", switch_channel_get_variable(channel, "sip_full_to"));
}
if (!switch_channel_get_variable_dup(channel, "sip_handle_full_to", SWITCH_FALSE, -1)) {
- switch_channel_set_variable(channel, "sip_handle_full_to", switch_channel_get_variable(channel, "sip_orig_full_from"));
+ switch_channel_set_variable(channel, "sip_handle_full_to", switch_channel_get_variable(channel, "sip_full_from"));
}
}