mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-06 02:55:27 +00:00
add channel variable "sip_contact_user" to set user portion of contact on an outbound invite (MODENDP-120)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9190 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
fe9655e3b4
commit
5e5694c30d
@ -1131,10 +1131,24 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session)
|
||||
}
|
||||
|
||||
if (switch_strlen_zero(tech_pvt->invite_contact)) {
|
||||
if (sofia_glue_transport_has_tls(tech_pvt->transport)) {
|
||||
tech_pvt->invite_contact = tech_pvt->profile->tls_url;
|
||||
const char * contact;
|
||||
if ((contact = switch_channel_get_variable(channel, "sip_contact_user"))) {
|
||||
char *ip_addr = (tech_pvt->profile->extsipip) ? tech_pvt->profile->extsipip : tech_pvt->profile->sipip;
|
||||
char *ipv6 = strchr(ip_addr, ':');
|
||||
if (sofia_glue_transport_has_tls(tech_pvt->transport)) {
|
||||
tech_pvt->invite_contact = switch_core_session_sprintf(session, "sip:%s@%s%s%s:%d", contact,
|
||||
ipv6 ? "[" : "", ip_addr, ipv6 ? "]" : "",
|
||||
tech_pvt->profile->tls_sip_port);
|
||||
} else {
|
||||
tech_pvt->invite_contact = switch_core_session_sprintf(session, "sip:%s@%s%s%s", contact,
|
||||
ipv6 ? "[" : "", ip_addr, ipv6 ? "]" : "");
|
||||
}
|
||||
} else {
|
||||
tech_pvt->invite_contact = tech_pvt->profile->url;
|
||||
if (sofia_glue_transport_has_tls(tech_pvt->transport)) {
|
||||
tech_pvt->invite_contact = tech_pvt->profile->tls_url;
|
||||
} else {
|
||||
tech_pvt->invite_contact = tech_pvt->profile->url;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user