aboutsummaryrefslogtreecommitdiffstats
path: root/apps
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
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')
-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)