diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 48675db0a0ddb2b6a8a33e6d7c469e2259026cbd..b7a22b9ae274704ee7c517697c79652f8bfded99 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -1769,6 +1769,8 @@ static int zt_hangup(struct ast_channel *ast) swap_subs(p, SUB_CALLWAIT, SUB_REAL); unalloc_sub(p, SUB_CALLWAIT); p->owner = p->subs[SUB_REAL].owner; + if (p->owner->_state != AST_STATE_UP) + p->subs[SUB_REAL].needanswer = 1; if (p->subs[SUB_REAL].owner->bridge) ast_moh_stop(p->subs[SUB_REAL].owner->bridge); } else if (p->subs[SUB_THREEWAY].zfd > -1) {