git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7284 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale
2008-01-18 15:43:57 +00:00
parent 668e42e290
commit 6a6f522bb1
3 changed files with 27 additions and 12 deletions
+17 -9
View File
@@ -2451,21 +2451,29 @@ void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_
tech_pvt->reply_contact = switch_core_session_sprintf(session, "<%s>", tech_pvt->to_uri);
}
} else {
const char *url = (sofia_glue_transport_has_tls(transport)) ? profile->tls_url : profile->url;
const char *url;
if (url && strchr(url, '>')) {
if ((url = (sofia_glue_transport_has_tls(transport)) ? profile->tls_url : profile->url)) {
if (strchr(url, '>')) {
tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;transport=%s", url, sofia_glue_transport2str(transport));
} else {
tech_pvt->reply_contact = switch_core_session_sprintf(session, "<%s;transport=%s>", url, sofia_glue_transport2str(transport));
}
} else {
switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
}
}
} else {
const char *url;
if ((url = (sofia_glue_transport_has_tls(transport)) ? profile->tls_url : profile->url)) {
if (strchr(url, '>')) {
tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;transport=%s", url, sofia_glue_transport2str(transport));
} else {
tech_pvt->reply_contact = switch_core_session_sprintf(session, "<%s;transport=%s>", url, sofia_glue_transport2str(transport));
}
}
} else {
const char *url = (sofia_glue_transport_has_tls(transport)) ? profile->tls_url : profile->url;
if (strchr(url, '>')) {
tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;transport=%s", url, sofia_glue_transport2str(transport));
} else {
tech_pvt->reply_contact = switch_core_session_sprintf(session, "<%s;transport=%s>", url, sofia_glue_transport2str(transport));
switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
}
}
}