aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xapps/app_dial.c6
-rwxr-xr-xchannels/chan_zap.c6
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);