aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_dial.c
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-10-12 23:12:50 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-10-12 23:12:50 +0000
commit9febe2cd6974673952488bf7ece3ce4b33cb0999 (patch)
tree185cbd992d0526ef9188fcba237eb68dae1771a7 /apps/app_dial.c
parent97ad30eec0c3b9e9a1a0452fb42be0eee3f61f58 (diff)
Ensure ringing continues for branched calls after progress is received
While waiting for an answer, don't send progress for branched calls for which ringing was sent. (closes issue #15028) Reported by: fnordian git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@223804 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r--apps/app_dial.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index a30b780bc..5a8f62679 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -654,8 +654,13 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct dial_l
/* Setup early media if appropriate */
if (single && CAN_EARLY_BRIDGE(peerflags, in, c))
ast_rtp_early_bridge(in, c);
- if (!ast_test_flag(outgoing, OPT_RINGBACK))
- ast_indicate(in, AST_CONTROL_PROGRESS);
+ if (!ast_test_flag(outgoing, OPT_RINGBACK)) {
+ if (single || (!single && !(*sentringing))) {
+ /* want progress to go through if it's a single legged call or it's a
+ * branched call and ringing has not been sent */
+ ast_indicate(in, AST_CONTROL_PROGRESS);
+ }
+ }
break;
case AST_CONTROL_VIDUPDATE:
if (option_verbose > 2)