[Freeswitch-svn] [commit] r8114 - in freeswitch/trunk: conf/sip_profiles src/mod/endpoints/mod_sofia
Freeswitch SVN
mikej at freeswitch.org
Mon Apr 14 15:20:12 EDT 2008
Author: mikej
Date: Mon Apr 14 15:20:12 2008
New Revision: 8114
Modified:
freeswitch/trunk/conf/sip_profiles/default.xml
freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h
freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
Log:
add settings to disable timer and 100rel support by profile (MODENDP-102)
Modified: freeswitch/trunk/conf/sip_profiles/default.xml
==============================================================================
--- freeswitch/trunk/conf/sip_profiles/default.xml (original)
+++ freeswitch/trunk/conf/sip_profiles/default.xml Mon Apr 14 15:20:12 2008
@@ -34,6 +34,8 @@
<!-- ip address to bind to -->
<param name="sip-ip" value="$${local_ip_v4}"/>
<param name="hold-music" value="$${moh_uri}"/>
+ <!--<param name="enable-timer" value="false"/>-->
+ <!--<param name="enable-100rel" value="false"/>-->
<!--<param name="apply-inbound-acl" value="lan"/>-->
<!--<param name="apply-register-acl" value="lan"/>-->
<!--<param name="dtmf-type" value="info"/>-->
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 Mon Apr 14 15:20:12 2008
@@ -138,7 +138,9 @@
PFLAG_SECURE = (1 << 15),
PFLAG_BLIND_AUTH = (1 << 16),
PFLAG_WORKER_RUNNING = (1 << 17),
- PFLAG_UNREG_OPTIONS_FAIL = (1 << 18)
+ PFLAG_UNREG_OPTIONS_FAIL = (1 << 18),
+ PFLAG_DISABLE_TIMER = (1 << 19),
+ PFLAG_DISABLE_100REL = (1 << 20)
} PFLAGS;
typedef enum {
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 Mon Apr 14 15:20:12 2008
@@ -497,6 +497,9 @@
sip_alias_node_t *node;
switch_event_t *s_event;
int tportlog = 0;
+ int use_100rel = !sofia_test_pflag(profile, PFLAG_DISABLE_100REL);
+ int use_timer = !sofia_test_pflag(profile, PFLAG_DISABLE_TIMER);
+ const char *supported = NULL;
switch_mutex_lock(mod_sofia_globals.mutex);
mod_sofia_globals.threads++;
@@ -517,6 +520,16 @@
tportlog = 1;
}
+ if (use_100rel && use_timer) {
+ supported = "100rel, precondition, timer";
+ } else if (use_100rel) {
+ supported = "100rel, precondition";
+ } else if (use_timer) {
+ supported = "timer, precondition";
+ } else {
+ supported = "precondition";
+ }
+
profile->nua = nua_create(profile->s_root, /* Event loop */
sofia_event_callback, /* Callback for processing events */
profile, /* Additional data to pass to callback */
@@ -559,7 +572,7 @@
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("include-session-description")),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("presence.winfo")),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("message-summary")),
- SIPTAG_SUPPORTED_STR("100rel, precondition, timer"), SIPTAG_USER_AGENT_STR(profile->user_agent), TAG_END());
+ SIPTAG_SUPPORTED_STR(supported), SIPTAG_USER_AGENT_STR(profile->user_agent), TAG_END());
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set params for %s\n", profile->name);
@@ -579,7 +592,8 @@
NUTAG_ALLOW("INFO"),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("PUBLISH")),
TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ENABLEMESSAGE(1)),
- SIPTAG_SUPPORTED_STR("100rel, precondition"), SIPTAG_USER_AGENT_STR(profile->user_agent), TAG_END());
+ SIPTAG_SUPPORTED_STR(supported),
+ SIPTAG_USER_AGENT_STR(profile->user_agent), TAG_END());
}
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "activated db for %s\n", profile->name);
@@ -1223,6 +1237,14 @@
if (switch_true(val)) {
profile->pflags |= PFLAG_CHECKUSER;
}
+ } else if (!strcasecmp(var, "enable-timer")) {
+ if (!switch_true(val)) {
+ profile->pflags |= PFLAG_DISABLE_TIMER;
+ }
+ } else if (!strcasecmp(var, "enable-100rel")) {
+ if (!switch_true(val)) {
+ profile->pflags |= PFLAG_DISABLE_100REL;
+ }
} else if (!strcasecmp(var, "bitpacking")) {
if (!strcasecmp(val, "aal2")) {
profile->codec_flags = SWITCH_CODEC_FLAG_AAL2;
More information about the Freeswitch-svn
mailing list