igniterealtime / openfire-ofmeet-plugin

Provides an HTTP Online Meeting solution for Openfire using Jitsi Meet.
Apache License 2.0
47 stars 43 forks source link

Update to the latest jitsi-meet, share screen, avatars #102

Open astrometrics opened 4 years ago

astrometrics commented 4 years ago

I'm a newbie here, so I might say something that was already addressed...

The newest jitsi meet has share screen and gotten rid of those awful abotars... Would it be too difficult to update ofmeet to a newer version? Also I'd like to explore with you guys the integration with Openfire Stun server, how to ensure or maximize P2P connections (instead of using TURN relays or other central connection methods); how to have a clear indication of which topology is happening.

deleolajide commented 4 years ago

Would it be too difficult to update ofmeet to a newer version?

Newer versions can be found elsewhere https://discourse.igniterealtime.org/t/openfire-meetings-as-an-alternative-to-zoom/87620 https://discourse.igniterealtime.org/t/openfire-meetings-for-pade-ver-0-9-9-released/87776

Also I'd like to explore with you guys the integration with Openfire Stun server, how to ensure or maximize P2P connections (instead of using TURN relays or other central connection methods); h

TURN and STUN provide different services. TURN has STUN capability built in and the relay service it provides is a definite must-have if you are having a P2P webrtc session and if one or both participants are behind a symmetric NAT. I prefer to use Jitsi Videobridge for the relay as it can seamlessly switch between being a simple relay for 2 participants or being a selective forwarding unit (SFU) when more participants join.

There is also now a TURN server plugin fir Openfire. It is needed for P2P Jingle calls between peers. See https://discourse.igniterealtime.org/t/preparing-openfire-for-audio-video-calls-with-conversations/87828 and https://github.com/igniterealtime/openfire-pionturn-plugin

astrometrics commented 4 years ago

Thanks for the quick answer, I'll look into the links. I tested the new ofmeet, offocus 0.9.9 and 0.9.10 and I'm having trouble with screen sharing, microphone muting (noticed the need of choosing a device) and audio conference is not happening. Any suggestions about that?

deleolajide commented 4 years ago

what browser are you using?

astrometrics commented 4 years ago

tested in Brave 1.9.72 (windows) and Chrome 81.0.***

deleolajide commented 4 years ago

Try my server https://pade.chat

astrometrics commented 4 years ago

tried and got the same behavior

deleolajide commented 4 years ago

I just tried my server and it worked fine with Chrome 83 on my windows 10 desktop. I have to assume it is something happening on your desktop. Could some other application have exclusive control of your microphone and webcam?

astrometrics commented 4 years ago

I looked into webrtc settings (browser), and set them specifically, then I could share the screen and also make a conference. Looks like that was the problem. I'll test again later with Firefox.

astrometrics commented 4 years ago

After fiddling and testing, this are my results: Settings In Brave browser: Shields: must allow fingerprinting, javascript, microphone, webcam if exists Settings/Additional Settings/WebRTC IP Handling Policy: Default public and private interfaces (I guess if using local and internet) or Default public interface only (just internet) I'd say it would be best to let Settings/Fingerprinting: Block all fingerprinting, and set different settings site per site only when it's needed, as it is rare. The microphone still needs to be set to a different device to be possible to set muted. I was able to share screen and make a conference.

Firefox: Works ok, there are plugins that block webrtc, must check about:config to see the actual value. Mine were disabled by the plugins, I set them: media.webrtc.platformencoder=true media.webrtc.hw.h264.enabled=true It noticed other people have also changed other parameters with favorable results.

Chrome: I had to use the plugin WebRTC Network Limiter, which worked. Probably browser parameters could be set directly too. It seems to me there's much less control of privacy in Chrome, probably to be expected.

Ports in the server that had to be allowed to use Meetings: 5222 (XMPP) => I don't know if this is actually necessary for Meetings, or any browser client 9091 (Openfire Admin HTTPS) 7443 (BOSH HTTPS) 10000:20000 (Media) 3478 (STUN) => according do Dele this might no be necessary

Please correct or add ports, browser settings, etc...

deleolajide commented 4 years ago

Thanks for the detail testing and reporting :-)

Please correct or add ports, browser settings, etc... 10000:20000 (Media)

Only 10000 (UDP) is needed

3478 (STUN) => according do Dele this might no be necessary

For STUN it is still needed, for TURN, same port and STUN not needed as TURN covers both

5222 (XMPP) => I don't know if this is actually necessary for Meetings, or any browser client

Not needed. Only used by non-web clients

7443 (BOSH HTTPS)

Needed for either BOSH or WebSockets