From e5139be1723056ab43e00a4f76a5c9dde6a7eaf9 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) {