diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 6b96a1941a5bf9d60a7e90aa90ec55749cc52e02..023a2c4c7874ed7cb68cdc8ae2961a9375d1d9ca 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -3233,7 +3233,7 @@ struct ast_frame *zt_read(struct ast_channel *ast) p->subs[index].f.data = NULL; p->subs[index].f.datalen= 0; } - if (p->dsp && !p->ignoredtmf && !index) { + if (p->dsp && (!p->ignoredtmf || p->callwaitcas || p->busydetect || p->callprogress) && !index) { /* Perform busy detection. etc on the zap line */ f = ast_dsp_process(ast, p->dsp, &p->subs[index].f, 0); if (f) {