diff --git a/dsp.c b/dsp.c index 02cba6629a58e58a745f57ea09f94ebb6bd1544a..d4359c7902ab1188624abc8eafc41ee7dce6fe31 100755 --- a/dsp.c +++ b/dsp.c @@ -1258,12 +1258,12 @@ struct ast_frame *ast_dsp_process(struct ast_channel *chan, struct ast_dsp *dsp, /* If we found a digit, send it now */ dsp->f.frametype = AST_FRAME_DTMF; dsp->f.subclass = dsp->thinkdigit; - if (chan) - ast_queue_frame(chan, &dsp->f, needlock); + dsp->thinkdigit = 0; + } else { + dsp->f.frametype = AST_FRAME_DTMF; + dsp->f.subclass = 'u'; + dsp->thinkdigit = 0; } - dsp->f.frametype = AST_FRAME_DTMF; - dsp->f.subclass = 'u'; - dsp->thinkdigit = 0; FIX_INF(af); if (chan) ast_queue_frame(chan, af, needlock);