freetdm: default iostats to yes and allow configuration thru freetdm.conf
This commit is contained in:
parent
8735906a5d
commit
3b2203b71b
|
@ -34,6 +34,12 @@ trunk_type => FXS
|
||||||
; add FXS channels from 3 to 4 at wanpipe span 1 to this freetdm span
|
; add FXS channels from 3 to 4 at wanpipe span 1 to this freetdm span
|
||||||
fxs-channel => 1:3-4
|
fxs-channel => 1:3-4
|
||||||
|
|
||||||
|
; IO stats. Defaults to yes, you can print the stats with ftdm iostats print <span> <chan>
|
||||||
|
; This feature depends on the span IO type, currently only Wanpipe spans support it
|
||||||
|
; This may cause a warning to be printed once in a while if audio is not provided fast enough
|
||||||
|
; and causes the driver to transmit an idle frame (when there is no data provided by the application)
|
||||||
|
iostats => yes
|
||||||
|
|
||||||
[span wanpipe myWanpipe2]
|
[span wanpipe myWanpipe2]
|
||||||
trunk_type => FXO
|
trunk_type => FXO
|
||||||
; This number will be used as DNIS for FXO devices
|
; This number will be used as DNIS for FXO devices
|
||||||
|
|
|
@ -4584,14 +4584,20 @@ FT_DECLARE(ftdm_status_t) ftdm_configure_span_channels(ftdm_span_t *span, const
|
||||||
return FTDM_FAIL;
|
return FTDM_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chan_config->debugdtmf) {
|
for (chan_index = currindex + 1; chan_index <= span->chan_count; chan_index++) {
|
||||||
for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) {
|
if (chan_config->iostats) {
|
||||||
|
ftdm_channel_set_feature(span->channels[chan_index], FTDM_CHANNEL_FEATURE_IO_STATS);
|
||||||
|
}
|
||||||
|
|
||||||
if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) {
|
if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (chan_config->debugdtmf) {
|
||||||
span->channels[chan_index]->dtmfdbg.requested = 1;
|
span->channels[chan_index]->dtmfdbg.requested = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return FTDM_SUCCESS;
|
return FTDM_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4658,6 +4664,8 @@ static ftdm_status_t load_config(void)
|
||||||
/* it is confusing that parameters from one span affect others, so let's clear them */
|
/* it is confusing that parameters from one span affect others, so let's clear them */
|
||||||
memset(&chan_config, 0, sizeof(chan_config));
|
memset(&chan_config, 0, sizeof(chan_config));
|
||||||
sprintf(chan_config.group_name, "__default");
|
sprintf(chan_config.group_name, "__default");
|
||||||
|
/* default to storing iostats */
|
||||||
|
chan_config.iostats = FTDM_TRUE;
|
||||||
} else {
|
} else {
|
||||||
ftdm_log(FTDM_LOG_CRIT, "failure creating span of type %s\n", type);
|
ftdm_log(FTDM_LOG_CRIT, "failure creating span of type %s\n", type);
|
||||||
span = NULL;
|
span = NULL;
|
||||||
|
@ -4784,6 +4792,13 @@ static ftdm_status_t load_config(void)
|
||||||
} else if (!strcasecmp(var, "debugdtmf")) {
|
} else if (!strcasecmp(var, "debugdtmf")) {
|
||||||
chan_config.debugdtmf = ftdm_true(val);
|
chan_config.debugdtmf = ftdm_true(val);
|
||||||
ftdm_log(FTDM_LOG_DEBUG, "Setting debugdtmf to '%s'\n", chan_config.debugdtmf ? "yes" : "no");
|
ftdm_log(FTDM_LOG_DEBUG, "Setting debugdtmf to '%s'\n", chan_config.debugdtmf ? "yes" : "no");
|
||||||
|
} else if (!strncasecmp(var, "iostats", sizeof("iostats")-1)) {
|
||||||
|
if (ftdm_true(val)) {
|
||||||
|
chan_config.iostats = FTDM_TRUE;
|
||||||
|
} else {
|
||||||
|
chan_config.iostats = FTDM_FALSE;
|
||||||
|
}
|
||||||
|
ftdm_log(FTDM_LOG_DEBUG, "Setting iostats to '%s'\n", chan_config.iostats ? "yes" : "no");
|
||||||
} else if (!strcasecmp(var, "group")) {
|
} else if (!strcasecmp(var, "group")) {
|
||||||
len = strlen(val);
|
len = strlen(val);
|
||||||
if (len >= FTDM_MAX_NAME_STR_SZ) {
|
if (len >= FTDM_MAX_NAME_STR_SZ) {
|
||||||
|
|
|
@ -487,6 +487,7 @@ typedef struct ftdm_channel_config {
|
||||||
float rxgain;
|
float rxgain;
|
||||||
float txgain;
|
float txgain;
|
||||||
uint8_t debugdtmf;
|
uint8_t debugdtmf;
|
||||||
|
uint8_t iostats;
|
||||||
} ftdm_channel_config_t;
|
} ftdm_channel_config_t;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
Loading…
Reference in New Issue