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

how to configure to solve more than three video conferencing? #33

Closed pursuewind closed 6 years ago

pursuewind commented 6 years ago

With ofmeet, two people can video, but three people on the video on the black, openfire connection will not work, how to configure to solve more than three video conferencing?

deleolajide commented 6 years ago

I have seen this situation the first time you install the plugin, but it is fixed by a restart of openfire

deadmanIsARabbit commented 6 years ago

Openfire: 4.2.1 ofmeet: 0.9.3-SNAPSHOT offocus: 0.9.3-SNAPSHOT jitsivideobridge-21.jar

I can confirm this issue. As soon as a third party joins a room, all other participants seems to get audio and video muted for each other. A restart of openfire did not solve the issue. But as soon as any(!) of those three participants leave the remaining to can see each other.

The only error i see on the client is: bluebird.js:3969 [modules/xmpp/strophe.jingle.js] <o.value>: invalid session id

No significant errors in the all.log except PKI/SSL error which occurs since the last openfire restart, but the issue was observerd before this SSL exceptions: 2017.12.13 18:02:30 INFO [pool-15-thread-1]: org.jitsi.jicofo.xmpp.FocusComponent - Focus request for room: visite@conference.ayeq-benu.com 2017.12.13 18:02:30 INFO [pool-15-thread-1]: org.jitsi.jicofo.FocusManager - Created new focus for visite@conference.ayeq-benu.com@ayeq-benu.com conferences count: 1 options: channelLastN: 10 enableLipSync: false useRoomAsSharedDocumentName: false startAudioMuted: 1 stereo: false startBitrate: 800 startVideoMuted: 200 enforcedBridge: jitsi-videobridge.ayeq-benu.com openSctp: true disableRtx: true 2017.12.13 18:02:31 ERROR [pool-34-thread-1]: org.jitsi.impl.protocol.xmpp.XmppProtocolProvider - Failed to connect/login: javax.net.ssl.SSLHandshakeException: sun. security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification pat h to requested target org.jivesoftware.smack.SmackException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provi der.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1060) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:982) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:998) at java.lang.Thread.run(Thread.java:748) Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuil derException: unable to find valid certification path to requested target at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026) at sun.security.ssl.Handshaker.process_record(Handshaker.java:961) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397) at org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:798) at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1200(XMPPTCPConnection.java:150) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1055) ... 3 more Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid ce rtification path to requested target at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) at sun.security.validator.Validator.validate(Validator.java:260) at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496) ... 13 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) ... 19 more 2017.12.13 18:02:31 WARN [Smack Packet Reader (0)]: org.jivesoftware.smack.AbstractXMPPConnection - Connection XMPPTCPConnection[not-authenticated] (0) closed with error

deleolajide commented 6 years ago

I think you are facing this issue

Sadly, this results in problems when trying to set-up a OFMeet-based meet on a domain that doesn't have any properly signed* certificates for your domain (a workaround is to disable C2S encryption in Openfire, but you really don't want to do that in production)

https://github.com/igniterealtime/ofmeet-openfire-plugin/issues/38

deadmanIsARabbit commented 6 years ago

Thank you for the answer. But the instance is secured by a commodo wildcard certtificate. All Commodo CA certs are imported into the Trust Store, the wildcard certitifacte is stored into the Identity Certificate Store. But i will try your new implementation of the smack xmpp connection. Maybe the wildcard certifcate is the problem. Thank you again :)

pursuewind commented 6 years ago

thank you very much. I think that SSL doesn’t set right!!! On 12/14/2017 01:07, deadmanIsARabbit wrote:

Openfire: 4.2.1 ofmeet: 0.9.3-SNAPSHOT offocus: 0.9.3-SNAPSHOT jitsivideobridge-21.jar

I can confirm this issue. As soon as a third party joins a room, all other participants seems to get audio and video muted for each other. A restart of openfire did not solve the issue. But as soon as any(!) of those three participants leave the remaining to can see each other.

The only error i see on the client is: bluebird.js:3969 [modules/xmpp/strophe.jingle.js] <o.value>: invalid session id

No significant errors in the all.log except PKI/SSL error which occurs since the last openfire restart, but the issue was observerd before this SSL exceptions: 2017.12.13 18:02:30 INFO [pool-15-thread-1]: org.jitsi.jicofo.xmpp.FocusComponent - Focus request for room: visite@conference.ayeq-benu.com 2017.12.13 18:02:30 INFO [pool-15-thread-1]: org.jitsi.jicofo.FocusManager - Created new focus for visite@conference.ayeq-benu.com@ayeq-benu.com conferences count: 1 options: channelLastN: 10 enableLipSync: false useRoomAsSharedDocumentName: false startAudioMuted: 1 stereo: false startBitrate: 800 startVideoMuted: 200 enforcedBridge: jitsi-videobridge.ayeq-benu.com openSctp: true disableRtx: true 2017.12.13 18:02:31 ERROR [pool-34-thread-1]: org.jitsi.impl.protocol.xmpp.XmppProtocolProvider - Failed to connect/login: javax.net.ssl.SSLHandshakeException: sun. security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification pat h to requested target org.jivesoftware.smack.SmackException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provi der.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1060) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:982) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:998) at java.lang.Thread.run(Thread.java:748) Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuil derException: unable to find valid certification path to requested target at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026) at sun.security.ssl.Handshaker.process_record(Handshaker.java:961) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397) at org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:798) at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1200(XMPPTCPConnection.java:150) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1055) ... 3 more Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid ce rtification path to requested target at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) at sun.security.validator.Validator.validate(Validator.java:260) at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496) ... 13 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) ... 19 more 2017.12.13 18:02:31 WARN [Smack Packet Reader (0)]: org.jivesoftware.smack.AbstractXMPPConnection - Connection XMPPTCPConnection[not-authenticated] (0) closed with error

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

guusdk commented 6 years ago

In Openfire Meetings 0.9.3, a meeting with exactly two participants will prefer a peer-to-peer connection between the participants to exchange audio and video data. When more participants join, all audio/video will be required to flow via Openfire (specifically, via the Jitsi Video Bridge instance that's part o the ofmeet plugin). When your network (or firewall) prevents this data from reaching Openfire, you'll notice that "the third person breaks the meeting" as is described by others in this issue. As soon as the amount of participants drops back to two, a peer-to-peer based exchange is realized again, which appears to "fix" the problem.

These kind of issues are infrastructure-related. There's not a lot we can do in Openfire to prevent them from occurring. If you're experiencing them, I advise you to:

If problems persist, examine your firewall logs.

marclaporte commented 6 years ago

Thank you for the explanation.

FYI, I have experienced this using https://meet.jit.si so it's not specific to Openfire

vincentwlau commented 6 years ago

I encountered a similar issue. In my case, two things contributed to the problem:

deleolajide commented 6 years ago

Also to add that the media is now multiplexed over a singel UDP port which is 10000 by default. You would have to set a system property in Jitsi Videobridge to get the previous behavour that used a range.