Jitsi jicofo Conference failed Error while Implementing the feature 'moderator can unmute participants'

I was trying to implement moderator can unmute/mute participants by changing Jicofo uncommenting : these lines in JitsiMeetConferenceImpl.java

// do not allow unmuting other participants even for the moderator
// if (!doMute && !fromJid.equals(toBeMutedJid))
// {
//    logger.warn("Blocking an unmute request (jid not the same).");
//    return false;
// }

I successfully build jicofo.jar and copied to usr/share/jicofo

But after restarting jicofo , prosdy am not able to connect jitsi conference.

am getting this error in Js console :

[conference.js] <ne._onConferenceFailed>: CONFERENCE FAILED: conference.focusDisconnected focus mydomain in 4

2021-04-19T07:51:55.126Z [modules/xmpp/moderator.js] <l._allocateConferenceFocusError>: Focus error, retry after 1000

<Object.getGlobalOnErrorHandler>: UnhandledError: Focus error, retry after 1000 Script: null Line: null Column: null StackTrace: Error: Focus error, retry after 1000

<Object.getGlobalOnErrorHandler>: UnhandledError: Focus error, retry after 2000 Script: null Line: null Column: null StackTrace: Error: Focus error, retry after 2000

Whenever i change Jicofo.jar this is happening . And my domain link is also changing without any configuration. Means only joining with audio/video disabled. I hope the error is happening in JICOFO side …something happened in media access handling.

Jicofo log :

at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)
Caused by: java.lang.ClassNotFoundException: org.jitsi.metaconfig.MetaconfigLogger
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)

Pls help me this feature is really needed for our new project.

Or pls explain how to Build jicofo from source and configure for existing self hosted jitsi. i didn’t find a good note on this. I followed this

I read the dev team is not considering this feature related to Privacy issues, But this kind of customization should really helpful to compete with other conference apps. And thanks Jitsi team and community for the immense support

You need to make sure your sources matches the version installed.
Another option it so build the archive and take all files including the libs folder and update it.

Hi @damencho I moved every archive item to usr/share/jicofo including jicofo.sh, jicofo.jar, lib and jicofo.bat. But still the same problem exists. I am building the latest jicofo repo from the source. is am missing anything? just changing the jar file is fine or any further configuration needed to implement this?

Note: Whenever i change jicofo.jar to earliest version , the conference start normally without any issue. The error is coming only when I replace the Custom build archive file to usr/share/jicofo

but build was successful
steps followed

1. apt install maven
2. git clone https://github.com/jitsi/jicofo.git
3. cd jicofo
  1. Edit the following code block in file JitsiMeetConferenceImpl.java . Remove this condition or comment [JitsiMeetConferenceImpl.java]
// do not allow unmuting other participants even for the moderator
// if (!doMute && !fromJid.equals(toBeMutedJid))
// {
//    logger.warn("Blocking an unmute request (jid not the same).");
//    return false;
// }
6. mvn install
7.unzip target/jicofo-1.1-SNAPSHOT-archive.zip
8.cp jicofo-1.1-SNAPSHOT/jicofo.jar /usr/share/jicofo/
  1. Restart services: /etc/init.d/jicofo restart && /etc/init.d/jitsi-videobridge2 restart && /etc/init.d/prosody restart

Working on Ubuntu 18.04
jitsi meet : 2.0.4857-1
prosody : 1.0.4289-1
jitsi-videobridge2 : 2.1-273-g072dd44b-1
jicofo : 1.0-612-1
jitsi-meet-web:1.0.4289-1
thanks

You are coping just jicofo jar, you need and the content of the lib folder.

Also your installed jicofo is jicofo : 1.0-612-1, that will not work with latest master. You need to checkout tag 612.

Yes!!! you saved my day. Thanks, Bro. Thanks for being actively replying in the community.

Now am going to frontend changes (Following this). Maybe we will meet in another issue session soon. Love from India :india:

@damencho , I successfully made that unmute feature to self-hosted jitsi. by following the above instructions. And successfully tested it. Mute unmute is working as expected.

But, Now i tried secure domain using these steps.

. I registered as a prosody user. Now the auth window is coming in my hosted domain, But I couldn’t log in to the secured domain. Now am not able to create a room. am getting the following error.

<ne._onConferenceFailed>: CONFERENCE FAILED: conference.authenticationRequired.

Complete Js console:
app.bundle.min.js?v=139:175 2021-04-22T15:59:00.352Z [conference.js] <ne._onConferenceFailed>: CONFERENCE FAILED: conference.authenticationRequired
o @ app.bundle.min.js?v=139:175
app.bundle.min.js?v=139:175 2021-04-22T15:59:01.837Z [conference.js] <ne._onConferenceFailed>: CONFERENCE FAILED
Uncaught (in promise) {connectionError: “connection.otherError”, credentials: undefined, message: “item-not-found”}

is Prosody global or local need any extra configuration? am pretty sure that am followed everything. Anything wants to take care of , since jicofo is built from source and jicofo.jar replaced for unmute? It affected this configuring Secure domain.? confused.