]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Ensure ringing continues for branched calls after progress is received
authorJeff Peeler <jpeeler@digium.com>
Mon, 12 Oct 2009 23:12:50 +0000 (23:12 +0000)
committerJeff Peeler <jpeeler@digium.com>
Mon, 12 Oct 2009 23:12:50 +0000 (23:12 +0000)
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: https://origsvn.digium.com/svn/asterisk/branches/1.4@223804 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_dial.c

index a30b780bcabcfbb503b19680e3ce8da80ca60ee1..5a8f6267998bf0024b201f820cee4abdeb43d173 100644 (file)
@@ -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)