; add FXS channels from 3 to 4 at wanpipe span 1 to this freetdm span
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]
trunk_type => FXO
; This number will be used as DNIS for FXO devices
return FTDM_FAIL;
}
- if (chan_config->debugdtmf) {
- for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) {
- if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) {
- continue;
- }
- span->channels[chan_index]->dtmfdbg.requested = 1;
+ 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])) {
+ continue;
+ }
+
+ if (chan_config->debugdtmf) {
+ span->channels[chan_index]->dtmfdbg.requested = 1;
}
}
+
return FTDM_SUCCESS;
}
/* it is confusing that parameters from one span affect others, so let's clear them */
memset(&chan_config, 0, sizeof(chan_config));
sprintf(chan_config.group_name, "__default");
+ /* default to storing iostats */
+ chan_config.iostats = FTDM_TRUE;
} else {
ftdm_log(FTDM_LOG_CRIT, "failure creating span of type %s\n", type);
span = NULL;
} else if (!strcasecmp(var, "debugdtmf")) {
chan_config.debugdtmf = ftdm_true(val);
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")) {
len = strlen(val);
if (len >= FTDM_MAX_NAME_STR_SZ) {