Server side speaker stats: totalDominantSpeakerTime is always zero


i configured and enabled mod speakerstats and then modified file mod_speakerstats_component.lua to log room creation and destruction, occupant joining and leaving a conference and those events are logged to prosody.log file as expected.

The problem is that I also need to log the dominant speaker time, but that value is always zero.

I tried to log it both on each participant leaving the room and on room destruction, but I always get zero (that is the initialization value)

By adding few more log instructions I saw that on_message function is never executed.

Speaker stats are working fine on the front end both on the web interface and by calling window.APP.conference.getSpeakerStats()

Do you have any suggestions?


If you enable debug, do you see this log:

Hi Damencho,

I see “set isDominant false for ” only after the occupant left the room.

I did another test: I “disabled” the code in the speakerstats component by putting a return at the beginning of the file, restarted prosody and jicofo but speaker stats are still working on the web interface.

Is there anything else that can provide speaker stats on the web interface?


Speaker stats can work only on web without the server component. But if you join late you will see the stats from the moment you join. The server component solves this problem and also adds an option to push stats to some custom service when the meeting ends.

Hi Damencho,

thanks a lot for your explanation.

I’m not clear why mod_speakerstats_component seems to be correctly configured in our configuration (as already stated muc_module:hooks are working fine), but module:hook “message/host” does not get triggered.

Any ideas on how to debug it or any hints on configuration settings to check?

Maybe the clients are not sending their dominant speaker events?

Should I see dominant speaker messages if I activate tcpdump on the conference server?

What should I look for in the captured packets?


Nope its encrypted … What is the prosody version you use?

0.11.5 (package 0.11.5-1~bionic6 on Ubuntu 18.04)

And your config for speakerstats looks like

Hi Damencho,

speakerstats_component configuration differs only for the domain name.

There are other differences, can you please check if they could interfere with speaker stats?

We setup secure domain and we developed our custom authentication via custom_http (actually https)

Missing module in our configuration: muc_lobby_rooms

Additional modules in our configuration:






Does speaker stats work with secure domain?

If so what should I check?


I don’t see why it should not if you have enabled “speakerstats” module and the speakerstats_component value for your main virtual host.

Do you by chance have openBridgeChannel: 'websocket'; in your /etc/jitsi/meet/ If so, is it working properly?

I saw this exact same behavior when my websocket was not able to connect to the server due to a SSL cert error.

Read this reply more information. - Hope this helps!