diff --git a/res/res_pjsip_transport_websocket.c b/res/res_pjsip_transport_websocket.c index 2abbf1524a6c8a43ef20821e39de92b0976b30bd..73268eac9117cac1726593b235bc33d37a39bd0f 100644 --- a/res/res_pjsip_transport_websocket.c +++ b/res/res_pjsip_transport_websocket.c @@ -396,7 +396,9 @@ static void websocket_cb(struct ast_websocket *session, struct ast_variable *par } if (opcode == AST_WEBSOCKET_OPCODE_TEXT || opcode == AST_WEBSOCKET_OPCODE_BINARY) { - ast_sip_push_task_wait_serializer(serializer, transport_read, &read_data); + if (read_data.payload_len) { + ast_sip_push_task_wait_serializer(serializer, transport_read, &read_data); + } } else if (opcode == AST_WEBSOCKET_OPCODE_CLOSE) { break; }