--- main/channel.c.orig 2021-03-29 18:00:41.786000237 +0000 +++ main/channel.c 2021-03-30 17:11:02.245000237 +0000 @@ -3315,6 +3315,7 @@ case AST_CONTROL_UPDATE_RTP_PEER: case AST_CONTROL_HOLD: case AST_CONTROL_UNHOLD: + case AST_CONTROL_FLASH: case -1: /* Unimportant */ break; @@ -3393,6 +3394,11 @@ ast_channel_publish_blob(chan, ast_channel_dtmf_end_type(), blob); } +static void send_flash_event(struct ast_channel *chan) +{ + ast_channel_publish_blob(chan, ast_channel_flash_type(), NULL); +} + static void ast_read_generator_actions(struct ast_channel *chan, struct ast_frame *f) { struct ast_generator *generator; @@ -3859,6 +3865,8 @@ */ ast_frfree(f); f = &ast_null_frame; + } else if (f->subclass.integer == AST_CONTROL_FLASH) { + send_flash_event(chan); } break; case AST_FRAME_DTMF_END: