[Freeswitch-svn] [commit] r9219 - freeswitch/trunk/src/mod/endpoints/mod_sofia
Freeswitch SVN
anthm at freeswitch.org
Fri Aug 1 14:18:36 EDT 2008
Author: anthm
Date: Fri Aug 1 14:18:35 2008
New Revision: 9219
Modified:
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c
Log:
make register-proxy preserve the url composed from proxy but target the packets to desired address MODENDP-121
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h Fri Aug 1 14:18:35 2008
@@ -274,6 +274,7 @@
char *register_contact;
char *register_to;
char *register_proxy;
+ char *register_sticky_proxy;
char *register_context;
char *expires_str;
char *register_url;
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Fri Aug 1 14:18:35 2008
@@ -886,8 +886,8 @@
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 @@
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;
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c Fri Aug 1 14:18:35 2008
@@ -150,6 +150,7 @@
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),
More information about the Freeswitch-svn
mailing list