From b518c7b9a7318e5a23b5ccfa8792f55c16f809df Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Tue, 20 Oct 2009 17:47:34 +0000
Subject: [PATCH] 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/trunk@224774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/features.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/main/features.c b/main/features.c
index 61072addf2..132281c5b0 100644
--- a/main/features.c
+++ b/main/features.c
@@ -2505,10 +2505,12 @@ static struct ast_channel *feature_request_and_dial(struct ast_channel *caller,
 					if (ast_channel_connected_line_macro(chan, caller, f, 1, 1)) {
 						ast_indicate_data(caller, AST_CONTROL_CONNECTED_LINE, f->data.ptr, f->datalen);
 					}
-				} 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)) {
@@ -2542,6 +2544,8 @@ static struct ast_channel *feature_request_and_dial(struct ast_channel *caller,
 						f = NULL;
 						break;
 					}
+				} else if (f->frametype == AST_FRAME_VOICE || f->frametype == AST_FRAME_VIDEO) {
+					ast_write(chan, f);
 				}
 			}
 		}
-- 
GitLab