]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 224774 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Tue, 20 Oct 2009 17:49:15 +0000 (17:49 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 20 Oct 2009 17:49:15 +0000 (17:49 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r224774 | file | 2009-10-20 14:47:34 -0300 (Tue, 20 Oct 2009) | 12 lines

  Merged revisions 224773 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r224773 | file | 2009-10-20 14:46:37 -0300 (Tue, 20 Oct 2009) | 5 lines

    Add support for relaying early media in the features attended transfer option.

    (closes issue #14828)
    Reported by: licedey
  ........
................

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

main/features.c

index 3378eef0d9fce42ed17249ef79533d805f0e1479..dfe1e33a29f19deb021c8fa50e7facd2b68001e7 100644 (file)
@@ -2198,10 +2198,12 @@ static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *call
                                                        f = NULL;
                                                        ready=1;
                                                        break;
-                                               } else if (f->subclass != -1) {
+                                               } else if (f->subclass != -1 && f->subclass != AST_CONTROL_PROGRESS) {
                                                        ast_log(LOG_NOTICE, "Don't know what to do about control frame: %d\n", f->subclass);
                                                }
                                                /* else who cares */
+                                       } else if (f->frametype == AST_FRAME_VOICE || f->frametype == AST_FRAME_VIDEO) {
+                                               ast_write(caller, f);
                                        }
 
                                } else if (caller && (active_channel == caller)) {
@@ -2237,6 +2239,8 @@ static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *call
                                                        }
                                                }
                                        }
+                               } else if (f->frametype == AST_FRAME_VOICE || f->frametype == AST_FRAME_VIDEO) {
+                                       ast_write(chan, f);
                                }
                                if (f)
                                        ast_frfree(f);