switch (ftdm_channel_get_state(chan)) {
case FTDM_CHANNEL_STATE_DOWN:
{
+ ftdm_channel_t *chtmp = chan;
chan->call_data = NULL;
- ftdm_channel_done(chan);
- /*
- * Close channel completely, BRI PTMP will thank us
- */
- if (ftdm_test_flag(chan, FTDM_CHANNEL_OPEN)) {
- ftdm_channel_t *chtmp = chan;
- if (ftdm_channel_close(&chtmp) != FTDM_SUCCESS) {
- ftdm_log(FTDM_LOG_WARNING, "-- Failed to close channel %d:%d\n",
- ftdm_channel_get_span_id(chan),
- ftdm_channel_get_id(chan));
- } else {
- ftdm_log(FTDM_LOG_DEBUG, "-- Closed channel %d:%d\n",
- ftdm_channel_get_span_id(chan),
- ftdm_channel_get_id(chan));
- }
+ if (ftdm_channel_close(&chtmp) != FTDM_SUCCESS) {
+ ftdm_log(FTDM_LOG_WARNING, "-- Failed to close channel %d:%d\n",
+ ftdm_channel_get_span_id(chan),
+ ftdm_channel_get_id(chan));
+ } else {
+ ftdm_log(FTDM_LOG_DEBUG, "-- Closed channel %d:%d\n",
+ ftdm_channel_get_span_id(chan),
+ ftdm_channel_get_id(chan));
}
}
break;