make register-proxy preserve the url composed from proxy but target the packets to desired address MODENDP-121

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9219 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-08-01 18:18:35 +00:00
parent d61d5a36a5
commit f5f9ddc5a1
3 changed files with 5 additions and 3 deletions

View File

@ -274,6 +274,7 @@ struct sofia_gateway {
char *register_contact;
char *register_to;
char *register_proxy;
char *register_sticky_proxy;
char *register_context;
char *expires_str;
char *register_url;

View File

@ -886,8 +886,8 @@ static void parse_gateways(sofia_profile_t *profile, switch_xml_t gateways_tag)
from_domain = realm;
}
if (switch_strlen_zero(register_proxy)) {
register_proxy = proxy;
if (!switch_strlen_zero(register_proxy)) {
gateway->register_sticky_proxy = switch_core_strdup(gateway->pool, register_proxy);
}
gateway->retry_seconds = atoi(retry_seconds);
@ -914,7 +914,7 @@ static void parse_gateways(sofia_profile_t *profile, switch_xml_t gateways_tag)
params = switch_core_sprintf(gateway->pool, ";transport=%s", register_transport);
}
gateway->register_url = switch_core_sprintf(gateway->pool, "sip:%s;transport=%s", register_proxy, register_transport);
gateway->register_url = switch_core_sprintf(gateway->pool, "sip:%s;transport=%s", proxy, register_transport);
gateway->register_from = switch_core_sprintf(gateway->pool, "<sip:%s@%s;transport=%s>", from_user, from_domain, register_transport);
sipip = profile->extsipip ? profile->extsipip : profile->sipip;

View File

@ -150,6 +150,7 @@ void sofia_reg_check_gateway(sofia_profile_t *profile, time_t now)
if (now) {
nua_register(gateway_ptr->nh,
NUTAG_URL(gateway_ptr->register_url),
TAG_IF(gateway_ptr->register_sticky_proxy, NUTAG_PROXY(gateway_ptr->register_sticky_proxy)),
SIPTAG_TO_STR(gateway_ptr->register_from),
SIPTAG_FROM_STR(gateway_ptr->register_from),
SIPTAG_CONTACT_STR(gateway_ptr->register_contact),