Merged revisions 335346 via svnmerge from
authorKinsey Moore <kmoore@digium.com>
Mon, 12 Sep 2011 14:24:03 +0000 (14:24 +0000)
committerKinsey Moore <kmoore@digium.com>
Mon, 12 Sep 2011 14:24:03 +0000 (14:24 +0000)
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r335346 | kmoore | 2011-09-12 09:22:15 -0500 (Mon, 12 Sep 2011) | 17 lines

  Merged revisions 335341 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.8

  ........
    r335341 | kmoore | 2011-09-12 09:21:17 -0500 (Mon, 12 Sep 2011) | 10 lines

    Ensure frames are not written to dialed channel if ringback is requested

    When a single channel was dialed and there was media to be forwarded to the
    calling channel, the media was written without regard for ringback causing
    silence to be heard in some circumstances.  This regression was introduced
    when the meaning of "single" changed to mean only the number of channels
    dialed.

    (closes issue ASTERISK-18083)
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335354 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_dial.c

index c92dec2..3867ebc 100644 (file)
@@ -1351,7 +1351,7 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in,
                                case AST_FRAME_VOICE:
                                case AST_FRAME_IMAGE:
                                case AST_FRAME_TEXT:
                                case AST_FRAME_VOICE:
                                case AST_FRAME_IMAGE:
                                case AST_FRAME_TEXT:
-                                       if (ast_write(in, f)) {
+                                       if (!ast_test_flag64(outgoing, OPT_RINGBACK | OPT_MUSICBACK) && ast_write(in, f)) {
                                                ast_log(LOG_WARNING, "Unable to write frametype: %d\n",
                                                        f->frametype);
                                        }
                                                ast_log(LOG_WARNING, "Unable to write frametype: %d\n",
                                                        f->frametype);
                                        }