diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index b6417497cf6506020d412d192950d710462a77f1..a9a43b760593b48c77a3526e31a2e857be2a8041 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -2146,10 +2146,14 @@ static int misdn_digit_end(struct ast_channel *ast, char digit, unsigned int dur ast_copy_string(p->ast->exten, bc->dad, sizeof(p->ast->exten)); misdn_lib_send_event( bc, EVENT_INFORMATION); break; - default: - if (bc->send_dtmf) { - send_digit_to_chan(p, digit); - } + default: + /* Do not send Digits in CONNECTED State, when + * the other side is too mISDN. */ + if (p->other_ch ) + return 0; + + if ( bc->send_dtmf ) + send_digit_to_chan(p,digit); break; }