Openfire 3.9.3 + Jitsi - Trying to get this to work to replace MS LYNC

Hello,

I have a working Openfire 3.9.3 server on Windows 2008 R2, and I’m trying to get the equivalent features of MICROSOFT LYNC working…so far, the only thing missing is decent desktop sharing.

I have gotten Redfire to work, and I think it is not that great … the sharing works so-so and the update speed is not that great. Definitely LYNC still winning.

I am trying to get JITSI / OFMEET to work instead and use the desktop sharing from that service, and I’m also excited to take advantage of multi-participant VideoConferencing. So far I have the following:

  • I’ve installed REDFIRE and gotten the plugin working.

  • I’ve installed the RED5 standalone media server (same windows server) outside of the redfire, and I’ve seen how that works…I’ve been able to connect to it

  • I’ve installed JITSI and started the process running (same windows server) and I’ve configured things according to what I’ve seen in many of the HOW-TO’s:

Openfire --> Server --> Server settings --> external components --> Service Enabled: enabled. Port: 5275 with password (that I specified in the JVB.BAT startup for Jitsi)

–> Allowed to connect: Anyone

Openfire --> Server --> Server settings --> HTTP Bind Settings --> HTTP Binding: Enabled, port 7070, SSL port 7443

–> Script Syntax: Enabled

–> Provides support for CORS: Enabled, domain: *

–> Provides support for XFF headers: Enabled, no details in available fields.

This is all the installation of the JITSI server process, running outside of Openfire.

I’ve also obtained the JITSI.JAR plugin, and installed and run THAT, and after I did this, the JITSI tab shows up, and configured options have a low port of 50000 and high port of 60000, but no other options. This is also how the JITSI process is configured to run (the process that runs with jvb.bat).

Even after all this, I am not sure how to get JITSI to work. There is no JITSI start page, I cannot go to “http://openfireserver:7070/jitsi”, and I don’t see any documentation on how to complete this. Open fire, despite this, is working fine except for desktop sharing, and this is really my main goal.

Can anyone guide me in a direction? I’m trying to get this to be the default defacto IM standard, but without desktop sharing, I think Lync gets it and it’s burning me up.

Help is greatly appreciated!

Have you read Openfire Meetings

Dele:

I have been reading everything, this link included, but getting things together is proving to be a challenge because the documentation and solutions are spread out here, and sometimes to other sites as well. It’s an exciting journey though, and I love the product.

RIGHT NOW I have made quite a lot of progress…On WINDOWS, I got JITSI VIDEO BRIDGE PLUGIN installed on Openfire 3.9.3. I have WEBSOCKETS enabled, and with Chrome (with plugins already installed) I am amble to connect to Jitsi with:

https://servername:7443/jitsi/apps/ofmeet

https://servername:7443/jitsi/apps/jitmeet

https://servername:7443/jitsi/apps/candy

http://servername:7070/jitsi/apps/ofmeet

http://servername:7070/jitsi/apps/jitmeet

http://servername:7070/jitsi/apps/candy

The local camera opens and looks great, but when I invite others to the meeting, they are unable to join…they get the message that “This only works in CHROME” even though they’re connecting with the latest Chrome. I am also not able to share the desktop (plugin already installed)…I AM able to open a WHITEBOARD share with the other participant, and I am able to sign into Candy and have a back and forth chat with a user (they have to sign in first).

I’m not really sure where to go to troubleshoot the JITSIVIDEOBRIDGE-PLUGIN.JAR issue…

About the local system:

  • Windows 2008 R2

  • 1 local IP address on a LAN

  • Openfire 3.9.3 installed connected to the Active Directory database with MySQL as the back end

  • MySQL installed on save box

  • Websockets plugin, JITSIVIDEOBRIDGE-PLUGIN 1.3 plugin installed, FastTrack plugin installed … no other meaningful plugins installed

  • JITSIVIDEOBRIDGE-PLUGIN is configured in the Openfire admin with the local IP and the public IP, and port range is 50000 - 60000 enabled.

  • Firewall is open for all ports required: 5222, 5223, 7070, 7443, 9090, 9091, 5269, 5275, 7777, and 50000 thru 60000.

I would welcome some help or direction…it took a lot to get here, and I am SO IMPRESSED with how well things work…I really want JITSI VIDEO BRIDGE and / or OFMEET to work.

Also, If there is a better or easier way to stream a desktop, especially through Spark, I’d welcome any information that you can pass through

Thank you !

See Re: Jitsi VideoBridge Plugin problem redirects to webrtcrequired.html

for solution to the “This only works in CHROME” message.

In short, change resolution from 720 to 320 and replace the two javascript files.

Please note that the jitsivideobridge is no more supported.

OK setting the resolution fixed that, thank you.

I have been reading and researching, and I think I have not been able to get OFMEET working because I’m using Openfire v3.9.3 official release. I see that there are the nightly builds and the daily builds available, but I do not see any process documented for how to upgrade to these interim releases while preserving my installed configuration.

How can I upgrade to Openfire Server v3.10 or one of the other daily/nightly builds? This is on a Windows installation.

Thank you for your time and attention, I truly appreciate it.

Openfire: Upgrade Guide

Thanks for the link to this document…It is not clear, however, how to upgrade from 3.9.3 (current full release, which is what I am running) to the current builds of 3.9.10 or the nightly builds…the nightly builds do not have an installer in them, and the source builds don’t either. I understand that they are still considered ‘beta’ or even alpha, but I want to get OFMEET running so that we can have a replacement for MS LYNC.

Thank you again for your help!

From the document

ZIP or TAR.GZ

  1. Stop Openfire.
  2. Backup the Openfire installation directory. This step is critical because the data will be overwritten with the new .tar.gz install.
  3. Backup the Openfire database. Note that the embedded database is backed up in step 2.
  4. Install the .tar.gz file (extract it over the current directory).
  5. Copy the conf directory from the backup to the installation directory.
  6. Copy the embedded-db directory from the backup to the installation directory.
  7. Copy the enterprise directory from the backup to the installation directory, if it exists.
  8. Copy the plugins directory from the backup to the installation directory except for plugins/admin.
  9. Copy modified files located in resources/security from the backup to the installation directory.
  10. Start Openfire

I have performed exactly these steps, and have made a backup of everything beforehand…

After restoring the config files and other files mentioned in the above steps, I received a java error. Note that I use MySQL as the database, not the embedded database, so would I Have to run any upgrade steps on the MySQL database when going from 3.9.3 to the latest nightly build?

The java error that I received has not only broken the admin page, but the server will also no longer accept IM connections from SPARK or any other client. Any suggestions how to update this installation? Stopping the service and Restoring the entire backed up OPENFIRE folder brought everything back to functioning, albeit at the 3.9.3 version.

Error follows:

HTTP ERROR 500

Problem accessing /index.jsp. Reason:

Server Error

Caused by:

javax.servlet.ServletException: java.lang.NoSuchMethodError: org.jivesoftware.openfire.spi.ConnectionManagerImpl.getSocketAcceptor()Lorg/apache/mina/transport/socket/nio/SocketAcceptor; at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858) at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:803) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639) at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:462) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NoSuchMethodError: org.jivesoftware.openfire.spi.ConnectionManagerImpl.getSocketAcceptor()Lorg/apache/mina/transport/socket/nio/SocketAcceptor; at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:130) ... 34 more

Caused by:

java.lang.NoSuchMethodError: org.jivesoftware.openfire.spi.ConnectionManagerImpl.getSocketAcceptor()Lorg/apache/mina/transport/socket/nio/SocketAcceptor; at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:130) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639) at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1639) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:462) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) at java.lang.Thread.run(Unknown Source)

Also since this is a windows install, does it matter that I extract the .tar.gz archive rather than the ZIP?

Sorry for the premature post, I followed the instructions again after re-applying the update and the service starts and so does the admin page, I’m not able to log in however via spark clients and I’m in the process of debugging thru the console, I’ll report findings soon… Thanks for the continued help. I’d like to post a complete thread of upgrade, install, etc specifically for Windows admins after this is running.

OK so I was trying very hard to get things running with v3.10 but there were no end of errors in the logs and in the openfire console, so I just decided to try reloading from scratch, and updating the installation files all to v3.10 before reconfiguring everything, and this finally worked! so now I’m on v3.10a with MySQL & LDAP authentication, and… I can’t get OFMEET to work yet.

I’ve installed the following plugins

  • fast path

  • Web sockets

  • client control

  • motd

  • email on away

  • fast path Web chat

I did not do Jitsi, since you said it was no longer supported, and since I read that OFMEET w completely independent of Jitsi, even though it used some key features of it.

after configuring OFMEET with the local ip address and public nat ip addresses, I try to connect as :

http://server:7070/ofmeet

https://server:7443/ofmeet

on 7070 jetty reports a 404 not found error.

on 7443, the browser (chrome) takes a long time to think about things but eventually times out.

I’m still fighting to get this to work… Is there anything I should be looking for based on my config and what I’ve done so far?

I suggest you start first with only ofmeet plugin installed and get it to work first before adding others.

Note that if you use LDAP, then your openfire users are in read mode and the ofmeet plugin cannot created the focus user and assign permissions automatically. You have to do that manually with the openfire admin web console.

  • Create a user called “focus”
  • Add this user to the list of administrators for the “conference” service

I use Jitsi client with openefire and that’s all, why do you need a jitsi server? What other functionalities does it adds besides p2p audio/video/desktop sharing?