diff --git a/main/channel.c b/main/channel.c index f055a04606..5025f0cd66 100644 --- a/main/channel.c +++ b/main/channel.c @@ -4268,7 +4268,9 @@ int ast_indicate_data(struct ast_channel *chan, int _condition, awesome_frame = ast_frdup(&frame); /* who knows what we will get back! the anticipation is killing me. */ - if (!(awesome_frame = ast_framehook_list_read_event(chan->framehooks, awesome_frame))) { + if (!(awesome_frame = ast_framehook_list_write_event(chan->framehooks, awesome_frame)) + || awesome_frame->frametype != AST_FRAME_CONTROL) { + res = 0; goto indicate_cleanup; }