How to show conference duration?

Hello Community team,
I want to show the conference duration on the screen during the conference call. like in zoom.
Can someone help me how enable it?

Thanks in advance for your support
BR
Yassine

I believe you need Prosody 0.11 or higher for the conference duration to work. Check your version of Prosody using:

dpkg -s prosody | grep Version

Thanks for your reply, I have last version:

srv@meet:~$ dpkg -s prosody | grep Version
Version: 0.11.5-1~bionic6

may I need to add some configuration?

Hello Community,
anyone can help me?
Thanks in advance!

Hello gentlemen,
can someone help me to show the conference duration?
as you below the is no time

thks

Hello.

I’m looking for too… Trying but not have success. My prosody is 0.11 too.

Can anyone help us?

Show your prosody config?

Hey Damencho!

Hey Damencho!

plugin_paths = { “/usr/share/jitsi-meet/prosody-plugins/” }

– domain mapper options, must at least have domain base set to use the mapper
muc_mapper_domain_base = “meet.domain.com”;

turncredentials_secret = “y7U2ocLd”;

turncredentials = {
{ type = “stun”, host = “meet.domain.com”, port = “4446” },
{ type = “turn”, host = “meet.domain.com”, port = “4446”, transport = “udp” },
{ type = “turns”, host = “meet.domain.com”, port = “443”, transport = “tcp” }
};

cross_domain_bosh = false;
consider_bosh_secure = true;

VirtualHost “meet.domain.com
– enabled = false – Remove this line to enable this host
authentication = “internal_plain”
– Properties below are modified by jitsi-meet-tokens package config
– and authentication above is switched to “token”
–app_id=“example_app_id”
–app_secret=“example_app_secret”
– Assign this host a certificate for TLS, otherwise it would use the one
– set in the global section (if any).
– Note that old-style SSL on port 5223 only supports one certificate, and will always
– use the global one.
ssl = {
key = “/etc/prosody/certs/meet.domain.com.key”;
certificate = “/etc/prosody/certs/meet.domain.com.crt”;
}
speakerstats_component = “speakerstats.meet.domain.com
conference_duration_component = “conferenceduration.meet.domain.com
– we need bosh
modules_enabled = {
“bosh”;
“pubsub”;
“ping”; – Enable mod_ping
“speakerstats”;
“turncredentials”;
“conference_duration”;
“log_auth”;
“muc_size”;
}
c2s_require_encryption = false

Component “conference.meet.domain.com” “muc”
storage = “memory” --internal ??
modules_enabled = {
“muc_meeting_id”;
“muc_domain_mapper”;
“quit”;
“conference_duration”;
– “token_verification”;
}
admins = { “focus@auth.meet.domain.com” }
muc_room_locking = false
muc_room_default_public_jids = true

– internal muc component
Component “internal.auth.meet.domain.com” “muc”
storage = “internal”
modules_enabled = {
“ping”;
}
admins = { “focus@auth.meet.domain.com”, “jvb@auth.meet.domain.com” }
muc_room_locking = false
muc_room_default_public_jids = true
VirtualHost “auth.meet.domain.com
ssl = {
key = “/etc/prosody/certs/auth.meet.domain.com.key”;
certificate = “/etc/prosody/certs/auth.meet.domain.com.crt”;
}
authentication = “internal_plain”

Component “focus.meet.domain.com
component_secret = “p5CKM59E”

Component “speakerstats.meet.domain.com” “speakerstats_component”
muc_component = “conference.meet.domain.com

Component “conferenceduration.meet.domain.com” “conference_duration_component”
muc_component = “conference.meet.domain.com
modules_enabled = {
“ping”;
“conference_duration”;
}

VirtualHost “guest.meet.domain.com
authentication = “anonymous”
c2s_require_encryption = false
modules_enabled = {
“ping”; – Enable mod_ping
“speakerstats”;
“turncredentials”;
“conference_duration”;
}

Remove conference_duration from the modules of conference.meet.domain.com and conferenceduration.meet.domain.com

And under VirtualHost “guest.meet.domain.com” add conference_duration_component = “conferenceduration.meet.domain.com” as it is done in the main virtualhost.

You can look how it is enabled here https://github.com/jitsi/jitsi-meet/blob/master/doc/debian/jitsi-meet-prosody/prosody.cfg.lua-jvb.example
And just add the relevant stuff under the guest virtualhost.

1 Like

That’s it !!! Now my users will can see the timer.
I hope my question and your answer can help other people!

Thank you so much!!!

Hi could you share your domain.cfg.lua? I’ve already add this line but the conference duration still not show up.

This is my domain.cfg.lua configuration:
Component “conferenceduration.mydomain.com” “conference_duration_component”
muc_component = “conference.mydomain.com

VirtualHost “guest.mydomain.com
conference_duration_component = “conferenceduration.mydomain.com
authentication = “anonymous”
c2s_require_encryption = false

and my prosody version: Version: 0.11.5-1~bionic6

Thanks

Hello,

bellow authentication = “anonymous” add module_enabled:
authentication = “anonymous”
modules_enabled = {
“conference_duration”;
}

1 Like

My conf is up there…

And i made this changes:

Remove conference_duration from the modules of conference.meet.domain.com and conferenceduration.meet.domain.com

And under VirtualHost “guest.meet.domain.com” add conference_duration_component = “conferenceduration.meet.domain.com” as it is done in the main virtualhost.

After restart all services (prosody, jitsi-videobridge2, etc)

hi @rribeirorj, guess i have similar config as yours just i didn’t turn on muc_meeting_id and turncredtentials (not sure what they are and saw error while loading the modules during startup). i used to have workable prosody on ver 0.9 and i did the manual upgrade to 0.11 nightly build 69

i’m still unable to find the timer working on my setup, perhaps you can shed some light on this. attached my config here:

plugin_paths = { “/usr/share/jitsi-meet/prosody-plugins/” }

–domain mapper options, must at least have domain base set to use the mapper
muc_mapper_domain_base = “vctest.packetfilters.net”;

turncredentials_secret = “y7U2ocLd”;

turncredentials = {
{ type = “stun”, host = “vctest.packetfilters.net”, port = “4446” },
{ type = “turn”, host = “vctest.packetfilters.net”, port = “4446”, transport = “udp” },
{ type = “turns”, host = “vctest.packetfilters.net”, port = “443”, transport = “tcp” }
};

cross_domain_bosh = false;
consider_bosh_secure = true;

VirtualHost “vctest.packetfilters.net
authentication = “internal_plain”
ssl = {
key = “/etc/prosody/certs/vctest.packetfilters.net.key”;
certificate = “/etc/prosody/certs/vctest.packetfilters.net.crt”;
}
speakerstats_component = “speakerstats.vctest.packetfilters.net
conference_duration_component = “conferenceduration.vctest.packetfilters.net
–we need bosh
modules_enabled = {
“bosh”;
“pubsub”;
“ping”; – Enable mod_ping
“speakerstats”;
–“turncredentials”;
“conference_duration”;
“log_auth”;
“muc_size”;
}
c2s_require_encryption = false

Component “conference.vctest.packetfilters.net” “muc”
storage = “memory”
modules_enabled = {
–“muc_meeting_id”;
“muc_domain_mapper”;
–“quit”;
–“token_verification”;
}
admins = { “focus@auth.vctest.packetfilters.net” }
muc_room_locking = false
muc_room_default_public_jids = true

–internal muc component
Component “internal.auth.vctest.packetfilters.net” “muc”
storage = “internal”
modules_enabled = {
“ping”;
}
admins = { “focus@auth.vctest.packetfilters.net”, “jvb@auth.vctest.packetfilters.net” }
muc_room_locking = false
muc_room_default_public_jids = true
VirtualHost “auth.vctest.packetfilters.net
ssl = {
key = “/etc/prosody/certs/auth.vctest.packetfilters.net.key”;
certificate = “/etc/prosody/certs/auth.vctest.packetfilters.net.crt”;
}
authentication = “internal_plain”

Component “focus.vctest.packetfilters.net
component_secret = “XXX”

Component “speakerstats.vctest.packetfilters.net” “speakerstats_component”
muc_component = “conference.vctest.packetfilters.net

Component “conferenceduration.vctest.packetfilters.net” “conference_duration_component”
muc_component = “conference.vctest.packetfilters.net
modules_enabled = {
“ping”;
}

VirtualHost “guest.vctest.packetfilters.net
authentication = “anonymous”
c2s_require_encryption = false
speakerstats_component = “speakerstats.vctest.packetfilters.net
conference_duration_component = “conferenceduration.vctest.packetfilters.net
modules_enabled = {
“ping”; --Enable mod_ping
“speakerstats”;
–“turncredentials”;
“conference_duration”;
}

Component “jitsi-videobridge.vctest.packetfilters.net
component_secret = “XXX”