Removed use of ftdmchan->flags from mod_freetdm.c as they will be hidden from user in new architecture

This commit is contained in:
David Yat Sin 2010-04-27 18:20:25 -04:00
parent 51566afb98
commit b135ef373d
2 changed files with 40 additions and 15 deletions

View File

@ -1955,10 +1955,8 @@ static FIO_SIGNAL_CB_FUNCTION(on_clear_channel_signal)
case FTDM_SIGEVENT_SIGSTATUS_CHANGED: case FTDM_SIGEVENT_SIGSTATUS_CHANGED:
{ {
ftdm_signaling_status_t *sigstatus = (ftdm_signaling_status_t*)(sigmsg->raw_data); ftdm_signaling_status_t *sigstatus = (ftdm_signaling_status_t*)(sigmsg->raw_data);
if (*((ftdm_signaling_status_t*)(sigmsg->raw_data)) == FTDM_SIG_STATE_UP) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "%d:%d signalling changed to :%s\n",
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "%d:%d signalling changed to :%s\n", sigmsg->channel->span_id, sigmsg->channel->chan_id, ftdm_signaling_status2str(*sigstatus));
sigmsg->channel->span_id, sigmsg->channel->chan_id, ftdm_signaling_status2str(*sigstatus));
}
} }
break; break;
default: default:
@ -2994,10 +2992,12 @@ static switch_status_t load_config(void)
void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream) void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream)
{ {
ftdm_signaling_status_t sigstatus = FTDM_SIG_STATE_DOWN;
if (chan_id > span->chan_count) { if (chan_id > span->chan_count) {
return; return;
} }
ftdm_channel_get_sig_status(span->channels[chan_id], &sigstatus);
stream->write_function(stream, stream->write_function(stream,
"span_id: %u\n" "span_id: %u\n"
"chan_id: %u\n" "chan_id: %u\n"
@ -3023,7 +3023,7 @@ void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stre
span->channels[chan_id]->physical_span_id, span->channels[chan_id]->physical_span_id,
span->channels[chan_id]->physical_chan_id, span->channels[chan_id]->physical_chan_id,
(span->channels[chan_id]->alarm_flags) ? "DOWN" : "UP", (span->channels[chan_id]->alarm_flags) ? "DOWN" : "UP",
ftdm_test_flag(span->channels[chan_id], FTDM_CHANNEL_SIG_UP) ? "UP" : "DOWN", ftdm_signaling_status2str(sigstatus),
ftdm_chan_type2str(span->channels[chan_id]->type), ftdm_chan_type2str(span->channels[chan_id]->type),
ftdm_channel_state2str(span->channels[chan_id]->state), ftdm_channel_state2str(span->channels[chan_id]->state),
ftdm_channel_state2str(span->channels[chan_id]->last_state), ftdm_channel_state2str(span->channels[chan_id]->last_state),
@ -3042,10 +3042,11 @@ void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stre
void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream) void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream)
{ {
ftdm_signaling_status_t sigstatus = FTDM_SIG_STATE_DOWN;
if (chan_id > span->chan_count) { if (chan_id > span->chan_count) {
return; return;
} }
ftdm_channel_get_sig_status(span->channels[chan_id], &sigstatus);
stream->write_function(stream, stream->write_function(stream,
" <channel>\n" " <channel>\n"
" <span-id>%u</span-id>\n" " <span-id>%u</span-id>\n"
@ -3073,7 +3074,7 @@ void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *
span->channels[chan_id]->physical_span_id, span->channels[chan_id]->physical_span_id,
span->channels[chan_id]->physical_chan_id, span->channels[chan_id]->physical_chan_id,
(span->channels[chan_id]->alarm_flags) ? "DOWN" : "UP", (span->channels[chan_id]->alarm_flags) ? "DOWN" : "UP",
ftdm_test_flag(span->channels[chan_id], FTDM_CHANNEL_SIG_UP) ? "UP" : "DOWN", ftdm_signaling_status2str(sigstatus),
ftdm_chan_type2str(span->channels[chan_id]->type), ftdm_chan_type2str(span->channels[chan_id]->type),
ftdm_channel_state2str(span->channels[chan_id]->state), ftdm_channel_state2str(span->channels[chan_id]->state),
ftdm_channel_state2str(span->channels[chan_id]->last_state), ftdm_channel_state2str(span->channels[chan_id]->last_state),

View File

@ -2905,7 +2905,12 @@ static ftdm_status_t ftdm_set_channels_alarms(ftdm_span_t *span, int currindex)
FT_DECLARE(ftdm_status_t) ftdm_configure_span_channels(ftdm_span_t *span, const char* str, ftdm_channel_config_t *chan_config, unsigned *configured) FT_DECLARE(ftdm_status_t) ftdm_configure_span_channels(ftdm_span_t *span, const char* str, ftdm_channel_config_t *chan_config, unsigned *configured)
{ {
int currindex = span->chan_count; int currindex = span->chan_count;
*configured += span->fio->configure_span(span, str, chan_config->type, chan_config->name, chan_config->number); *configured = 0;
*configured = span->fio->configure_span(span, str, chan_config->type, chan_config->name, chan_config->number);
if (!*configured) {
ftdm_log(FTDM_LOG_ERROR, "%d:Failed to configure span", span->span_id);
return FTDM_FAIL;
}
if (ftdm_group_add_channels(span, currindex, chan_config->group_name) != FTDM_SUCCESS) { if (ftdm_group_add_channels(span, currindex, chan_config->group_name) != FTDM_SUCCESS) {
ftdm_log(FTDM_LOG_ERROR, "%d:Failed to add channels to group %s\n", span->span_id, chan_config->group_name); ftdm_log(FTDM_LOG_ERROR, "%d:Failed to add channels to group %s\n", span->span_id, chan_config->group_name);
@ -3043,8 +3048,11 @@ static ftdm_status_t load_config(void)
ftdm_analog_start_type2str(span->start_type)); ftdm_analog_start_type2str(span->start_type));
} }
if (span->trunk_type == FTDM_TRUNK_FXO) { if (span->trunk_type == FTDM_TRUNK_FXO) {
unsigned chans_configured = 0;
chan_config.type = FTDM_CHAN_TYPE_FXO; chan_config.type = FTDM_CHAN_TYPE_FXO;
ftdm_configure_span_channels(span, val, &chan_config, &configured); if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) {
configured += chans_configured;
}
} else { } else {
ftdm_log(FTDM_LOG_WARNING, "Cannot add FXO channels to an FXS trunk!\n"); ftdm_log(FTDM_LOG_WARNING, "Cannot add FXO channels to an FXS trunk!\n");
} }
@ -3055,8 +3063,11 @@ static ftdm_status_t load_config(void)
ftdm_analog_start_type2str(span->start_type)); ftdm_analog_start_type2str(span->start_type));
} }
if (span->trunk_type == FTDM_TRUNK_FXS) { if (span->trunk_type == FTDM_TRUNK_FXS) {
unsigned chans_configured = 0;
chan_config.type = FTDM_CHAN_TYPE_FXS; chan_config.type = FTDM_CHAN_TYPE_FXS;
ftdm_configure_span_channels(span, val, &chan_config, &configured); if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) {
configured += chans_configured;
}
} else { } else {
ftdm_log(FTDM_LOG_WARNING, "Cannot add FXS channels to an FXO trunk!\n"); ftdm_log(FTDM_LOG_WARNING, "Cannot add FXS channels to an FXO trunk!\n");
} }
@ -3067,30 +3078,43 @@ static ftdm_status_t load_config(void)
ftdm_analog_start_type2str(span->start_type)); ftdm_analog_start_type2str(span->start_type));
} }
if (span->trunk_type == FTDM_TRUNK_EM) { if (span->trunk_type == FTDM_TRUNK_EM) {
unsigned chans_configured = 0;
chan_config.type = FTDM_CHAN_TYPE_EM; chan_config.type = FTDM_CHAN_TYPE_EM;
ftdm_configure_span_channels(span, val, &chan_config, &configured); if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) {
configured += chans_configured;
}
} else { } else {
ftdm_log(FTDM_LOG_WARNING, "Cannot add EM channels to a non-EM trunk!\n"); ftdm_log(FTDM_LOG_WARNING, "Cannot add EM channels to a non-EM trunk!\n");
} }
} else if (!strcasecmp(var, "b-channel")) { } else if (!strcasecmp(var, "b-channel")) {
unsigned chans_configured = 0;
chan_config.type = FTDM_CHAN_TYPE_B; chan_config.type = FTDM_CHAN_TYPE_B;
ftdm_configure_span_channels(span, val, &chan_config, &configured); if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) {
configured += chans_configured;
}
} else if (!strcasecmp(var, "d-channel")) { } else if (!strcasecmp(var, "d-channel")) {
if (d) { if (d) {
ftdm_log(FTDM_LOG_WARNING, "ignoring extra d-channel\n"); ftdm_log(FTDM_LOG_WARNING, "ignoring extra d-channel\n");
} else { } else {
unsigned chans_configured = 0;
if (!strncasecmp(val, "lapd:", 5)) { if (!strncasecmp(val, "lapd:", 5)) {
chan_config.type = FTDM_CHAN_TYPE_DQ931; chan_config.type = FTDM_CHAN_TYPE_DQ931;
val += 5; val += 5;
} else { } else {
chan_config.type = FTDM_CHAN_TYPE_DQ921; chan_config.type = FTDM_CHAN_TYPE_DQ921;
} }
ftdm_configure_span_channels(span, val, &chan_config, &configured); if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) {
configured += chans_configured;
}
d++; d++;
} }
} else if (!strcasecmp(var, "cas-channel")) { } else if (!strcasecmp(var, "cas-channel")) {
unsigned chans_configured = 0;
chan_config.type = FTDM_CHAN_TYPE_CAS; chan_config.type = FTDM_CHAN_TYPE_CAS;
ftdm_configure_span_channels(span, val, &chan_config, &configured);
if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) {
configured += chans_configured;
}
} else if (!strcasecmp(var, "dtmf_hangup")) { } else if (!strcasecmp(var, "dtmf_hangup")) {
span->dtmf_hangup = ftdm_strdup(val); span->dtmf_hangup = ftdm_strdup(val);
span->dtmf_hangup_len = strlen(val); span->dtmf_hangup_len = strlen(val);