}
nua_respond(tech_pvt->nh, SIP_200_OK,
- SIPTAG_CONTACT_STR(tech_pvt->profile->url),
+ SIPTAG_CONTACT_STR(tech_pvt->to_uri),
SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_AUDIO_AUX("cn telephone-event"), NUTAG_INCLUDE_EXTRA_SDP(1), TAG_END());
}
sofia_glue_set_local_sdp(tech_pvt, ip, atoi(port), msg->string_arg, 1);
}
nua_respond(tech_pvt->nh, SIP_200_OK,
- SIPTAG_CONTACT_STR(tech_pvt->profile->url),
+ SIPTAG_CONTACT_STR(tech_pvt->to_uri),
SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_AUDIO_AUX("cn telephone-event"), NUTAG_INCLUDE_EXTRA_SDP(1), TAG_END());
switch_channel_mark_answered(channel);
}
}
if (sip->sip_to && sip->sip_to->a_url) {
+ char *val;
url_set_chanvars(session, sip->sip_to->a_url, sip_to);
+ if ((val = switch_channel_get_variable(channel, "sip_to_uri"))) {
+ tech_pvt->to_uri = switch_core_session_sprintf(session, "sip:%s", val);
+ } else {
+ tech_pvt->to_uri = tech_pvt->profile->url;
+ }
}
if (sip->sip_contact && sip->sip_contact->m_url) {