diff --git a/src/switch_channel.c b/src/switch_channel.c index 7a709459de..d38e7bc9c5 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -243,8 +243,8 @@ SWITCH_DECLARE(switch_status_t) switch_channel_queue_dtmf(switch_channel_t *chan } else { break; } + p++; } - status = switch_buffer_write(channel->dtmf_buffer, dtmf, wr) ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_MEMERR; switch_mutex_unlock(channel->dtmf_mutex); diff --git a/src/switch_ivr.c b/src/switch_ivr.c index f517fcd712..9069408827 100644 --- a/src/switch_ivr.c +++ b/src/switch_ivr.c @@ -767,6 +767,8 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) } ans_a++; } + + /* if 1 channel has DTMF pass it to the other */ if (switch_channel_has_dtmf(chan_a)) { @@ -781,7 +783,7 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) break; } } - } + } } /* read audio from 1 channel and write it to the other */ @@ -793,7 +795,7 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "write: %s Bad Frame....[%u] Bubye!\n", switch_channel_get_name(chan_b), read_frame->datalen); data->running = -1; } - } + } } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "read: %s Bad Frame.... Bubye!\n", switch_channel_get_name(chan_a)); data->running = -1;