[Freeswitch-svn] [commit] r4156 - in freeswitch/trunk: conf src/mod/endpoints/mod_wanpipe
Freeswitch SVN
anthm at freeswitch.org
Wed Feb 7 18:43:04 EST 2007
Author: anthm
Date: Wed Feb 7 18:43:04 2007
New Revision: 4156
Modified:
freeswitch/trunk/conf/wanpipe.conf.xml
freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c
Log:
wanpipe update
Modified: freeswitch/trunk/conf/wanpipe.conf.xml
==============================================================================
--- freeswitch/trunk/conf/wanpipe.conf.xml (original)
+++ freeswitch/trunk/conf/wanpipe.conf.xml Wed Feb 7 18:43:04 2007
@@ -1,17 +1,17 @@
<configuration name="wanpipe.conf" description="Sangoma Wanpipe Endpoint">
<settings>
- <param name="debug" value="1"/>
+ <param name="debug" value="0"/>
<param name="dialplan" value="XML"/>
<param name="mtu" value="320"/>
<param name="dtmf-on" value="800"/>
<param name="dtmf-off" value="100"/>
<param name="supress-dtmf-tone" value="yes"/>
</settings>
- <span>
- <param name="span" value="1"/>
+ <!-- may be any single digit or a range of digits separated by a '-' e.g "1-4" -->
+ <span id="1">
<param name="node" value="cpe"/>
- <!-- <param name="switch" value="ni2"/> -->
- <param name="switch" value="dms100"/>
+ <param name="switch" value="ni2"/>
+ <!--<param name="switch" value="dms100"/>-->
<!-- <param name="switch" value="lucent5e"/> -->
<!-- <param name="switch" value="att4ess"/> -->
<!-- <param name="switch" value="euroisdn"/> -->
Modified: freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c Wed Feb 7 18:43:04 2007
@@ -1414,7 +1414,7 @@
static switch_status_t config_wanpipe(int reload)
{
char *cf = "wanpipe.conf";
- int current_span = 0;
+ int current_span = 0, min_span = 0, max_span = 0;
switch_xml_t cfg, xml, settings, param, span;
globals.mtu = DEFAULT_MTU;
@@ -1450,31 +1450,52 @@
for (span = switch_xml_child(cfg, "span"); span; span = span->next) {
- for (param = switch_xml_child(span, "param"); param; param = param->next) {
- char *var = (char *) switch_xml_attr_soft(param, "name");
- char *val = (char *) switch_xml_attr_soft(param, "value");
+ char *id = switch_xml_attr(span, "id");
+ int32_t i = 0;
- if (!strcmp(var, "span")) {
- current_span = atoi(val);
- if (current_span <= 0 || current_span > MAX_SPANS) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Invalid SPAN!\n");
- current_span = 0;
- continue;
- }
- if (!SPANS[current_span]) {
- if (!(SPANS[current_span] = switch_core_alloc(module_pool, sizeof(*SPANS[current_span])))) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "MEMORY ERROR\n");
- break;;
- }
- SPANS[current_span]->span = current_span;
- }
-
+ current_span = 0;
+
+ if (id) {
+ char *p;
+
+ min_span = atoi(id);
+ if ((p = strchr(id, '-'))) {
+ p++;
+ max_span = atoi(p);
} else {
- if (!current_span) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Invalid option %s when no span defined.\n", var);
- continue;
+ max_span = min_span;
+ }
+ if (min_span < 1 || max_span < min_span) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Invalid Span Config! [%s]\n", id);
+ continue;
+ }
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Missing SPAN ID!\n");
+ continue;
+ }
+
+ for (i = min_span; i <= max_span; i++) {
+ current_span = i;
+
+ if (current_span <= 0 || current_span > MAX_SPANS) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Invalid SPAN %d!\n", current_span);
+ current_span = 0;
+ continue;
+ }
+
+ if (!SPANS[current_span]) {
+ if (!(SPANS[current_span] = switch_core_alloc(module_pool, sizeof(*SPANS[current_span])))) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "MEMORY ERROR\n");
+ break;
}
-
+ SPANS[current_span]->span = current_span;
+ }
+
+
+ for (param = switch_xml_child(span, "param"); param; param = param->next) {
+ char *var = (char *) switch_xml_attr_soft(param, "name");
+ char *val = (char *) switch_xml_attr_soft(param, "value");
+
if (!strcmp(var, "dchan")) {
SPANS[current_span]->dchan = atoi(val);
} else if (!strcmp(var, "bchan")) {
More information about the Freeswitch-svn
mailing list