Event for REMOTE_STATS_UPDATED not received


I’m experiencing a strange issue right now with lib-jitsi-meet (master) and the connection quality events: while the LOCAL_STATS_UPDATED event works as expected, the REMOTE_STATS_UPDATED one seems to be never received. I haven’t found many topics or issues discussing this, but I’ve seen indications to check the websocket connection, and it looks like it works, I can see the colibriClass: "EndpointMessage", msgPayload: {type: "stats", values: ... sent on each client’s console, but there doesn’t seem to be anything related to stats received.

Could anyone have a tip on what else to look for?

Best regards,

could you post a trace of your ws messages ? did you take a look at the jvb log on your server ?

It looks like jvb logs might give a clue, I see these strange messages:

JVB 2021-04-07 15:40:51.350 WARNING: [38] [confId=2c0e935d37e24573 epId=69cbfe5e gid=2013 stats_id=Quinton-Mss conf_name=5e[...]14@conference.jitsi.[domain...].com] AbstractEndpointMessageTransport.onMessage#79: Invalid message received (Could not resolve type id 'EndpointStats' as a subtype of `org.jitsi.videobridge.message.BridgeChannelMessage`: known type ids = [AddReceiver, ClientHello, DominantSpeakerEndpointChangeEvent, EndpointConnectivityStatusChangeEvent, EndpointMessage, LastNChangedEvent, LastNEndpointsChangeEvent, ReceiverVideoConstraint, ReceiverVideoConstraints, RemoveReceiver, SelectedEndpointChangedEvent, SelectedEndpointsChangedEvent, SenderVideoConstraints, ServerHello]
 at [Source: (String)"{"colibriClass":"EndpointStats","bitrate":{"upload":859,"download":169,"audio":{"upload":0,"download":32},"video":{"upload":827,"download":137}},"packetLoss":{"total":0,"download":0,"upload":0},"connectionQuality":100,"jvbRTT":19,"maxEnabledResolution":240}"; line: 1, column: 17]): {"colibriClass":"EndpointStats","bitrate":{"upload":859,"download":169,"audio":{"upload":0,"download":32},"video":{"upload":827,"download":137}},"packetLoss":{"total":0,"download":0,"upload":0},"connectionQuality":100,"jvbRTT":19,"maxEnabledResolution":240}

What should that mean?

do you by any chance use very recent jitsi-meet with older videobridge ?

Might be, not sure: I’m trying the jitsi-meet “testing” version on the server side and I believe it’s the master on the lib-jitsi-meet client side. I don’t clearly see which version of these two match together. What would be the best way to match the versions?

the easiest way seems to match version is to use packaged server versions (jicofo, videobridge) and to use github tag to get the appropriate jitsi-meet javascript. Trying to understand the tags with jicofo and videobridge is … well, difficult.
It seems that the EndpointStats type was added quite recently:

commit f15edc2b106b547e2560d8301db2cf8c9ed3962a
Author: Jonathan Lennox <jonathan.lennox@8x8.com>
Date:   Thu Apr 1 10:26:19 2021 -0400

    New (filterable) EndpointStats JVB channel message. (#1618)

So if you did not update your ‘testing’ (does it mean unstable?) version to the very last one it could be yet non existing for the bridge.

By “testing” I meant the testing version of debian packages (Ubuntu / Debian installations instructions for Testing - Jitsi), which is not the latest indeed and doesn’t seem to include changes up to April 1st.

I end up with the following installed versions:

ii  jicofo                         1.0-728-1                             all          JItsi Meet COnference FOcus
ii  jitsi-meet                     2.0.5693-1                            all          WebRTC JavaScript video conferences
ii  jitsi-meet-prosody             1.0.4848-1                            all          Prosody configuration for Jitsi Meet
ii  jitsi-meet-turnserver          1.0.4848-1                            all          Configures coturn to be used with Jitsi Meet
ii  jitsi-meet-web                 1.0.4848-1                            all          WebRTC JavaScript video conferences
ii  jitsi-meet-web-config          1.0.4848-1                            all          Configuration for web serving of Jitsi Meet
ii  jitsi-videobridge2             2.1-470-g04420c22-1                   all          WebRTC compatible Selective Forwarding Unit (SFU)

So if I understand well, I must use version 5693 of lib-jitsi-meet (Release jitsi-meet_5693 · jitsi/lib-jitsi-meet · GitHub)?

given this:

commit 13cfea660e1a88d25482fc6557c2c412d7fec23a (tag: 1132)
Author: Jaya Allamsetty <jaya.allamsetty@8x8.com>
Date:   Tue Mar 30 17:52:42 2021 -0400

    feat(stats): Add a new bridge message "EndpointStats" for stats.

you should use a previous version, so 5727 (31 march) at the latest. 5693 (24 march) should do as well.

Alright, seems more clear now! Thanks a lot for your help.