diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-07-10 16:05:59 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-07-10 16:05:59 +0000 |
commit | cd6f09bb95479166e8a62538b941e9e5daa3394e (patch) | |
tree | 3d06d2f8070acdb365390bf0bf6de2684b9c79f4 | |
parent | 08be46197d3bffa1208e15602712dd250ca196b8 (diff) |
Pass along proceeding and progress even when overlap mode is not on
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6072 f38db490-d61c-443f-a65b-d21fe96a405b
-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); |