From: Joe Garlick Date: Wed, 12 Nov 2025 11:47:38 +0000 (+0000) Subject: chan_websocket.c: Tolerate other frame types X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d15a42af13e51356edaaec36fd7d1c9ed91b4d4;p=thirdparty%2Fasterisk.git 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 --- 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) {