[Freeswitch-svn] [commit] r4970 - in freeswitch/trunk: conf src/mod/endpoints/mod_sofia
Freeswitch SVN
mikej at freeswitch.org
Wed Apr 18 16:21:54 EDT 2007
Author: mikej
Date: Wed Apr 18 16:21:53 2007
New Revision: 4970
Modified:
freeswitch/trunk/conf/sofia.conf.xml
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
Log:
merge patch from http://jira.freeswitch.org/browse/SFSIP-11 . Please note, when registering to a UA that requires the from header to match the auth username, you must now use the new setting force-fromuser. See sample configuration file for more details. Thanks Marcel.
Modified: freeswitch/trunk/conf/sofia.conf.xml
==============================================================================
--- freeswitch/trunk/conf/sofia.conf.xml (original)
+++ freeswitch/trunk/conf/sofia.conf.xml Wed Apr 18 16:21:53 2007
@@ -10,6 +10,8 @@
<!--<param name="realm" value="asterlink.com"/>-->
<!--/// account password *required* ///-->
<!--<param name="password" value="2007"/>-->
+ <!--/// replace the INVITE from user with the auth username ///-->
+ <!--<param name="force-fromuser" value="false"/>-->
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<!--<param name="extension" value="cluecon"/>-->
<!--/// proxy host: *optional* same as realm, if blank ///-->
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Wed Apr 18 16:21:53 2007
@@ -890,7 +890,9 @@
}
profile = gateway_ptr->profile;
- tech_pvt->gateway_from_str = switch_core_session_strdup(nsession, gateway_ptr->register_from);
+ if (gateway_ptr->force_fromuser) {
+ tech_pvt->gateway_from_str = switch_core_session_strdup(nsession, gateway_ptr->register_from);
+ }
if (!strchr(dest, '@')) {
tech_pvt->dest = switch_core_session_sprintf(nsession, "sip:%s@%s", dest, gateway_ptr->register_proxy + 4);
} else {
@@ -1095,3 +1097,4 @@
* vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
*/
+
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 Wed Apr 18 16:21:53 2007
@@ -176,6 +176,7 @@
char *register_realm;
char *register_username;
char *register_password;
+ switch_bool_t force_fromuser;
char *register_from;
char *register_contact;
char *register_to;
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 Wed Apr 18 16:21:53 2007
@@ -680,7 +680,7 @@
if ((gateway = switch_core_alloc(profile->pool, sizeof(*gateway)))) {
char *register_str = "true", *scheme = "Digest",
*realm = NULL,
- *username = NULL, *password = NULL, *extension = NULL, *proxy = NULL, *context = "default", *expire_seconds = "3600";
+ *username = NULL, *password = NULL, *force_fromuser = "false", *extension = NULL, *proxy = NULL, *context = "default", *expire_seconds = "3600";
gateway->pool = profile->pool;
gateway->profile = profile;
@@ -702,6 +702,8 @@
username = val;
} else if (!strcmp(var, "password")) {
password = val;
+ } else if (!strcmp(var, "force-fromuser")) {
+ force_fromuser = val;
} else if (!strcmp(var, "extension")) {
extension = val;
} else if (!strcmp(var, "proxy")) {
@@ -745,6 +747,7 @@
gateway->register_realm = switch_core_strdup(gateway->pool, realm);
gateway->register_username = switch_core_strdup(gateway->pool, username);
gateway->register_password = switch_core_strdup(gateway->pool, password);
+ gateway->force_fromuser = switch_true(force_fromuser);
gateway->register_from = switch_core_sprintf(gateway->pool, "sip:%s@%s", username, realm);
gateway->register_contact = switch_core_sprintf(gateway->pool, "sip:%s@%s:%d", extension, profile->sipip, profile->sip_port);
@@ -1765,3 +1768,4 @@
+
More information about the Freeswitch-svn
mailing list