diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/features.c | 6 |
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); } } } |