igniterealtime / openfire-pade-plugin

A plugin for Openfire that offers web-based unified communications - chat, groupchat, telephone, audio and video conferencing.
Apache License 2.0
55 stars 30 forks source link

pade meeting page auto refreshed after the second people join the room #463

Open Jenfong opened 9 months ago

Jenfong commented 9 months ago
          > ![image](https://user-images.githubusercontent.com/110731/101366098-755cc600-389c-11eb-8d37-036968253cad.png)

I disabled WebSockets Data Channel ,but Pade still use WebSocket (openfire-pade-plugin 1.7.7 deploy in CentOS 7.8 with nginx ,single node). refer Considerations-On-Setting-Up-Pade-Behind-a-Reverse-Proxy web log:

lib-jitsi-meet.min.js:17089  WebSocket connection to 'wss://node2:7443/colibri-ws/node2/85aa57dc31a34d65/39ddc58c?pwd=4a24ggqqr8e56a6ilf3rccrdp6' failed: 

js log

2023-11-29T17:01:25.716Z [modules/xmpp/Lobby.js] <5369/_maybeJoinLobbyRoom/<>:  Failed joining lobby undefined
2023-11-29T17:01:39.308Z [conference.js] <_onConferenceFailed>:  CONFERENCE FAILED: conference.restarted

server log:

[root@node2 logs]# tail -200f openfire.log | grep colibri-ws
2023.11.29 13:33:49 DEBUG [Thread-14]: org.jivesoftware.openfire.plugin.ofmeet.JitsiJvbWrapper - WARNING: [1] ColibriWebSocketService.<init>#51: Websockets enabled, but no domains specified: URLs=[wss://node2:7443/colibri-ws/node2], Relay URLs=[]
2023.11.29 13:33:49 DEBUG [Thread-14]: org.jivesoftware.openfire.plugin.ofmeet.JitsiJvbWrapper - INFO: [1] ColibriWebSocketService.registerServlet#87: Registering servlet with baseUrls = [ws

nginx conf: public -> nginx -> local https://demo.resource.com:7666 ->nginx 80 -> https://local:7443 https://demo.resource.com:7667->nginx 7442 ->UDP stream 10000

   upstream Pade_7443{
          server 127.0.0.1:7443;
       }

    server {
        listen       80 ssl;
        server_name  test.resource.com;
        ssl_certificate      /etc/nginx/conf.d/ssl/private.crt;
        ssl_certificate_key  /etc/nginx/conf.d/ssl/private.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        proxy_ssl_verify off;
        location /colibri-ws/ {
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
                proxy_pass https://Pade_7443/colibri-ws/;
        }
        location /ws/ {
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
                         proxy_pass https://Pade_7443/ws/;
        }
        #location /pade/ {
        #        proxy_pass https://Pade_7443/pade/;
        #}
        location /http-bind/ {
                proxy_pass https://Pade_7443/http-bind/;
        }
        location /ofmeet/ {

                  proxy_set_header Host $http_host;
                  proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                  proxy_set_header X-Forwarded-Proto $scheme;

                  proxy_connect_timeout 300;
                  # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
                  proxy_http_version 1.1;
                  proxy_set_header Upgrade $http_upgrade;
                  proxy_set_header Connection "upgrade";

                 proxy_set_header Connection "";
                  chunked_transfer_encoding off;

                proxy_pass https://Pade_7443/ofmeet/;
}

moderator join the meeting; then participant join the meeting . for example meeting url : https://test.resource.com:7666/ofmeet/riw1o02ha 1.pblic network access : Error occurred page auto rereshed, video broken but can send msg 2.local network access : page with error ,but video and msg worked

update pade conf,but still not work,page auto refreshed video broken but can send msg. append config in openfire.ofproperty : ofmeet.websockets.domain->test.resource.com; update ofmeet.websockets.publicport -> 7666 ,still not work.

Originally posted by @Jenfong in https://github.com/igniterealtime/openfire-pade-plugin/issues/119#issuecomment-1831258197

Jenfong commented 9 months ago

should I need to config the 'application.conf' file in 'JitsiJvbWrapper.java'

after the second people join the room, error log

[root@node2 logs]# cat openfire.log | grep ofruncwxfei
2023.12.19 15:57:36 DEBUG [Thread-918]: org.jivesoftware.openfire.plugin.ofmeet.JitsiJvbWrapper - WARNING: [98] [confId=e12fb6918fc233a0 conf_name=ofruncwxfei@conference.node2 meeting_id=ab7cf62a epId=38270e3b stats_id=Lia-im1 local_ufrag=2j8991hi0gtqtc ufrag=2j8991hi0gtqtc name=stream-38270e3b componentId=1] MergingDatagramSocket.doRemove#349: Removing the active socket. Won't be able to send until a new one is elected.
2023.12.19 15:57:36 DEBUG [Thread-918]: org.jivesoftware.openfire.plugin.ofmeet.JitsiJvbWrapper - INFO: [93] [confId=e12fb6918fc233a0 conf_name=ofruncwxfei@conference.node2 meeting_id=ab7cf62a epId=38270e3b stats_id=Lia-im1 local_ufrag=2j8991hi0gtqtc ufrag=2j8991hi0gtqtc name=stream-38270e3b componentId=1] MergingDatagramSocket.close#142: Closing.
2023.12.19 15:57:36 DEBUG [Thread-918]: org.jivesoftware.openfire.plugin.ofmeet.JitsiJvbWrapper - INFO: [91] [confId=e12fb6918fc233a0 conf_name=ofruncwxfei@conference.node2 meeting_id=ab7cf62a epId=38270e3b stats_id=Lia-im1 local_ufrag=2j8991hi0gtqtc] IceTransport.startReadingData#218: Socket closed, stopping reader
2023.12.19 15:57:36 DEBUG [Thread-918]: org.jivesoftware.openfire.plugin.ofmeet.JitsiJvbWrapper - INFO: [93] [confId=e12fb6918fc233a0 conf_name=ofruncwxfei@conference.node2 meeting_id=ab7cf62a epId=38270e3b stats_id=Lia-im1] Endpoint.expire#1137: Expired.
2023.12.19 15:57:36 DEBUG [Thread-918]: org.jivesoftware.openfire.plugin.ofmeet.JitsiJvbWrapper - INFO: [103] [confId=e12fb6918fc233a0 conf_name=ofruncwxfei@conference.node2 meeting_id=ab7cf62a epId=38270e3b stats_id=Lia-im1 local_ufrag=2j8991hi0gtqtc ufrag=2j8991hi0gtqtc name=stream-38270e3b componentId=1] MergingDatagramSocket$SocketContainer.runInReaderThread#770: Failed to receive: java.net.SocketException: Socket closed