diff options
-rwxr-xr-x | apps/app_dial.c | 6 | ||||
-rwxr-xr-x | channels/chan_zap.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index 177562071..07d07aaeb 100755 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -486,6 +486,12 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct localu if (!ast_test_flag(outgoing, DIAL_RINGBACKONLY)) ast_indicate(in, AST_CONTROL_PROGRESS); break; + case AST_CONTROL_PROCEEDING: + if (option_verbose > 2) + ast_verbose ( VERBOSE_PREFIX_3 "%s is proceeding passing it to %s\n", o->chan->name,in->name); + if (!ast_test_flag(outgoing, DIAL_RINGBACKONLY)) + ast_indicate(in, AST_CONTROL_PROCEEDING); + break; case AST_CONTROL_HOLD: if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3 "Call on %s placed on hold\n", o->chan->name); diff --git a/channels/chan_zap.c b/channels/chan_zap.c index f9c5c0f35..e3ac80dc4 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -8295,9 +8295,9 @@ static void *pri_dchannel(void *vpri) chanpos = pri_find_principle(pri, e->proceeding.channel); if (chanpos > -1) { #ifdef PRI_PROGRESS_MASK - if ((pri->overlapdial && !pri->pvts[chanpos]->proceeding) || (e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE)) { + if ((!pri->pvts[chanpos]->proceeding) || (e->proceeding.progressmask & PRI_PROG_INBAND_AVAILABLE)) { #else - if ((pri->overlapdial && !pri->pvts[chanpos]->proceeding) || (e->proceeding.progress == 8)) { + if ((!pri->pvts[chanpos]->proceeding) || (e->proceeding.progress == 8)) { #endif struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_PROGRESS, }; @@ -8339,7 +8339,7 @@ static void *pri_dchannel(void *vpri) case PRI_EVENT_PROCEEDING: chanpos = pri_find_principle(pri, e->proceeding.channel); if (chanpos > -1) { - if (pri->overlapdial && !pri->pvts[chanpos]->proceeding) { + if (!pri->pvts[chanpos]->proceeding) { struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_PROCEEDING, }; ast_mutex_lock(&pri->pvts[chanpos]->lock); |