diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 402c0949c7bcd8c1479f6329454a67632b46d0c6..2b3930d078992102693c4ff176ef486c918cc2e6 100755 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -354,7 +354,7 @@ static struct ast_frame *agent_read(struct ast_channel *ast) p->acknowledged = 0; } } - if (f && (f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_ANSWER)) { + if ((p->chan && (p->chan->_state != AST_STATE_UP)) && f && (f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_ANSWER)) { /* TC */ if (p->ackcall) { if (option_verbose > 2)