diff --git a/channels/chan_zap.c b/channels/chan_zap.c index b5b966535b..5c7ab784a9 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -1665,7 +1665,6 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout) ast_mutex_unlock(&p->lock); return -1; } - p->proceeding = 1; ast_setstate(ast, AST_STATE_DIALING); pri_rel(p->pri); break; @@ -3853,7 +3852,7 @@ static int zt_write(struct ast_channel *ast, struct ast_frame *frame) } #ifdef PRI_EVENT_PROCEEDING - if (!p->proceeding && p->sig==SIG_PRI && p->pri) { + if (!p->proceeding && p->sig==SIG_PRI && p->pri && !p->outgoing) { if (p->pri->pri) { if (!pri_grab(p, p->pri)) { #ifdef PRI_PROGRESS @@ -3941,7 +3940,7 @@ static int zt_indicate(struct ast_channel *chan, int condition) break; case AST_CONTROL_RINGING: #ifdef ZAPATA_PRI - if (!p->proceeding && p->sig==SIG_PRI && p->pri) { + if (!p->proceeding && p->sig==SIG_PRI && p->pri && !p->outgoing) { if (p->pri->pri) { if (!pri_grab(p, p->pri)) { pri_acknowledge(p->pri->pri,p->call, p->prioffset, 1); @@ -3969,7 +3968,7 @@ static int zt_indicate(struct ast_channel *chan, int condition) ast_log(LOG_DEBUG,"Received AST_CONTROL_PROGRESS on %s\n",chan->name); #ifdef ZAPATA_PRI #ifdef PRI_EVENT_PROCEEDING - if (!p->proceeding && p->sig==SIG_PRI && p->pri) { + if (!p->proceeding && p->sig==SIG_PRI && p->pri && !p->outgoing) { if (p->pri->pri) { if (!pri_grab(p, p->pri)) { #ifdef PRI_PROGRESS