From 5d15a42af13e51356edaaec36fd7d1c9ed91b4d4 Mon Sep 17 00:00:00 2001 From: Joe Garlick Date: Wed, 12 Nov 2025 11:47:38 +0000 Subject: [PATCH] chan_websocket.c: Tolerate other frame types Currently, if chan_websocket receives an un supported frame like comfort noise it will exit the websocket. The proposed change is to tolerate the other frames by not sending them down the websocket but instead just ignoring them. Resolves: #1587 --- channels/chan_websocket.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/channels/chan_websocket.c b/channels/chan_websocket.c index 8235ccebc3..0d6e6c9fa3 100644 --- a/channels/chan_websocket.c +++ b/channels/chan_websocket.c @@ -1168,10 +1168,14 @@ static int webchan_write(struct ast_channel *ast, struct ast_frame *f) return -1; } + if (f->frametype == AST_FRAME_CNG) { + return 0; + } + if (f->frametype != AST_FRAME_VOICE) { ast_log(LOG_WARNING, "%s: This WebSocket channel only supports AST_FRAME_VOICE frames\n", ast_channel_name(ast)); - return -1; + return 0; } if (ast_format_cmp(f->subclass.format, instance->native_format) == AST_FORMAT_CMP_NOT_EQUAL) {