--- main/manager_channels.c.orig	2021-03-29 20:17:45.031000236 +0000
+++ main/manager_channels.c	2021-03-30 16:18:38.725000238 +0000
@@ -968,6 +968,24 @@
 		digit, duration_ms, direction);
 }
 
+static void channel_flash_cb(void *data, struct stasis_subscription *sub,
+	struct stasis_message *message)
+{
+	struct ast_channel_blob *obj = stasis_message_data(message);
+	struct ast_str *channel_event_string;
+
+	channel_event_string = ast_manager_build_channel_state_string(obj->snapshot);
+	if (!channel_event_string) {
+		return;
+	}
+
+	manager_event(EVENT_FLAG_CALL, "Flash",
+		"%s",
+		ast_str_buffer(channel_event_string));
+
+	ast_free(channel_event_string);
+}
+
 static void channel_hangup_handler_cb(void *data, struct stasis_subscription *sub,
 		struct stasis_message *message)
 {
@@ -1328,6 +1346,9 @@
 		ast_channel_dtmf_end_type(), channel_dtmf_end_cb, NULL);
 
 	ret |= stasis_message_router_add(message_router,
+		ast_channel_flash_type(), channel_flash_cb, NULL);
+
+	ret |= stasis_message_router_add(message_router,
 		ast_channel_hangup_request_type(), channel_hangup_request_cb,
 		NULL);
 
