aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/features.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/main/features.c b/main/features.c
index 61072addf..132281c5b 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);
}
}
}