diff --git a/main/features.c b/main/features.c index 474d36317e5ab725e3ae343937cd682d97dd6868..b93375688916f3caa56203ff12486a13e157e5e1 100644 --- a/main/features.c +++ b/main/features.c @@ -3245,9 +3245,8 @@ static struct ast_channel *feature_request_and_dial(struct ast_channel *caller, done: ast_indicate(caller, -1); - if (chan && ready) { - if (chan->_state == AST_STATE_UP) - state = AST_CONTROL_ANSWER; + if (chan && (ready || chan->_state == AST_STATE_UP)) { + state = AST_CONTROL_ANSWER; } else if (chan) { ast_hangup(chan); chan = NULL;