-
Notifications
You must be signed in to change notification settings - Fork 49
Openfire Meetings 0.4.x branch
The purpose of this wiki page is to document the progress of Openfire Meetings (ofmeet) 0.4.x branch. This development is to get ofmeet back in synch with the current development code from the Jitsi Videobridge XMPP component, the lib-jitsi-meet JavaScript library and the Jitsi Meet web application.
In porting the code and assembling everything into a single Openfire plugin, two types of changes/modifications will be made to the original code.
- Prosody behaves different form Openfire and a PR for it may not be accepted by Jitsi team
- Openfire Meetings specific features.
Changes for type 1 will be stamped with the initials BAO and issues or pull requests will be made on the respective Jitsi project repositories. Until the pull requests or issues are cleared, every time new code is imported, these modifications must be applied.
The following ofmeet features should work out-of-box after type 1 changes have been applied unless the Jitsi project introduce changes to their code that breaks them. They include:
- Audio and video conferencing via focus user from Jitsi-Meet and Candy web applications.
- Openfire XMPP user authentication (http-bind and web-sockets) via authenticated Jetty web session
- Screen sharing via Openfire Meetings Chrome extension.
The following Jitsi Meet features will require more work to replicate expected behaviour in Prosody or to replace the dependent external service with an equivalent Openfire feature.
- Use Openfire vCards for user profiles and Avatars
- Consolidate all user references to the same Openfire user
- Verify all expected MUC features like member-only rooms work with ofmeet
Changes for type 2 will be in a separate module/plugin/class or whatever container needed for the isolation. Commits will be discrete blocks of code changes of either type 1 or type 2.
List of Type 2 changes to be made
- Add Jicofo Focus user and component code. The Jitsi Videobridge discovery by Focus user is not working Openfire. There code was modfied to use the value specified in Config.java
- Support for Telephone conferencing via SIP using FreeSwitch, ofswitch plugin and embedded ctxSip soft phone. Client-side SIP integration preferred over Jigasi SIP gateway
- Support for MUC Rooms and URL Bookmarks
- Meeting planning via calendar or by quartz scheduling with invitation by email and web notifications
- Integration with Openfire Meetings Chrome extension for application sharing, co-browsing and cursor sharing.
- Remote desktop control via binary messages using Data channels and a native messaging host application for Windows, Mac and Linux.
- Support for collaboration apps; PDF sharing, coop-editing, coop-drawing, and URL sharing.
- Integration with Monitoring plugin for meeting recordings
- Put all Candy Chat and Fastpath client code in a separate child plugin
- Support manual and auto conference recording. Only works on Linux 64 servers.
- Smack XMPPConnection Class was patched to use an Openfire Virtual Connection instead of a real TCP connection.
- ComponentImpl.java we patched to expose getVideobridge() as a public method. This might pass as a PR to Jitsi.