--- 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:
