[Freeswitch-svn] [commit] r5959 - in freeswitch/trunk: conf src/mod/endpoints/mod_sofia
Freeswitch SVN
anthm at freeswitch.org
Wed Oct 17 23:04:49 EDT 2007
Author: anthm
Date: Wed Oct 17 23:04:48 2007
New Revision: 5959
Modified:
freeswitch/trunk/conf/directory.xml
freeswitch/trunk/conf/sofia.conf.xml
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
Log:
add contact-params
Modified: freeswitch/trunk/conf/directory.xml
==============================================================================
--- freeswitch/trunk/conf/directory.xml (original)
+++ freeswitch/trunk/conf/directory.xml Wed Oct 17 23:04:48 2007
@@ -29,6 +29,8 @@
<!--<param name="retry_seconds" value="30"/>-->
<!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
<!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
<!--</gateway>-->
</gateways>
<params>
Modified: freeswitch/trunk/conf/sofia.conf.xml
==============================================================================
--- freeswitch/trunk/conf/sofia.conf.xml (original)
+++ freeswitch/trunk/conf/sofia.conf.xml Wed Oct 17 23:04:48 2007
@@ -32,6 +32,8 @@
<!--<param name="retry_seconds" value="30"/>-->
<!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
<!--<param name="caller-id-in-from" value="false"/>-->
+ <!--extra sip params to send in the contact-->
+ <!--<param name="contact-params" value="tport=tcp"/>-->
<!--</gateway>-->
</gateways>
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 Oct 17 23:04:48 2007
@@ -551,7 +551,9 @@
*expire_seconds = "3600",
*retry_seconds = "30",
*from_domain = "",
- *register_proxy = NULL;
+ *register_proxy = NULL,
+ *contact_params = NULL,
+ *params = NULL;
gateway->pool = profile->pool;
gateway->profile = profile;
@@ -589,6 +591,8 @@
from_domain = val;
} else if (!strcmp(var, "register-proxy")) {
register_proxy = val;
+ } else if (!strcmp(var, "contact-params")) {
+ contact_params = val;
}
}
@@ -639,10 +643,21 @@
if (switch_true(caller_id_in_from)) {
switch_set_flag(gateway, REG_FLAG_CALLERID);
}
+ if (contact_params) {
+ if (*contact_params == ';') {
+ params = contact_params;
+ } else {
+ params = switch_core_sprintf(gateway->pool, ";%s", contact_params);
+ }
+ } else {
+ params = "";
+ }
+
+
gateway->register_url = switch_core_sprintf(gateway->pool, "sip:%s", register_proxy);
gateway->register_from = switch_core_sprintf(gateway->pool, "sip:%s@%s", username, from_domain);
- gateway->register_contact = switch_core_sprintf(gateway->pool, "sip:%s@%s:%d", extension,
- profile->extsipip ? profile->extsipip : profile->sipip, profile->sip_port);
+ gateway->register_contact = switch_core_sprintf(gateway->pool, "sip:%s@%s:%d%s", extension,
+ profile->extsipip ? profile->extsipip : profile->sipip, profile->sip_port, params);
if (!strncasecmp(proxy, "sip:", 4)) {
More information about the Freeswitch-svn
mailing list