igniterealtime / openfire-ofmeet-plugin

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

jvb not working in containers with same usual setting #112

Closed ClaudeStabile closed 1 week ago

ClaudeStabile commented 1 week ago

I did the following

Upgrade existing OF database or restart with a fresh DB but same result. P2p connections are fine but not JVB. It is green in ofmeet and nothing show up in logs. The only errors i trapped are via the console when 3rd user join the call.

Unsure if i miss something but this works with padé plugin with exactly same settings.

Any clue ?

BTW firefox is working

@dele, i can provide you access if needed to have a look

screenshot11 screenshot10

deleolajide commented 1 week ago

this works with padé plugin with exactly same settings.

The latest Jitsi code does not work any more with Pade. This may require re-configuration of some ports in your container to make the websocket proxy to work. I suggest you enable trace logging in Openfire to see all Jitsi log messages and enable you debug the issue.

gjaekel commented 1 week ago

Apart from this I want to remember that the websocket proxy implementation inside Pàde is still broken. It may be used for first tests, but it will mangle connections under real load.

ClaudeStabile commented 1 week ago

I have restarted openfire with traces and clean logs just before testing with a vidconf named 'claudetest' and add 3 participants. I did not found yet the root cause for the bridge websockets connection failure.

Of course we may need to change the docker container port opening that is probably the reason it works on your local machine and not through the container as padé.

I will check, if you find something relevant, let me know and we test that

++

openfire-debug.log

ClaudeStabile commented 1 week ago

Dele,

issue i have looks similar to this thread at jitsi : https://github.com/jitsi/docker-jitsi-meet/issues/1531 unsure if we need to set JVB_ADVERTISE_IPS or ?

hope it helps a bit

Thanks

ClaudeStabile commented 1 week ago

I have notice that now Jitsi is managing these connections via reverse proxy. This is probably the root cause for that prob. I will have a look at that. Usually i use haproxy to do the dispatch job with containers. Unsure if i can adapt it but that's clearly the problem. I also use nginx for mastodon instances i may have to do someting similar. The ofmeet code is not concerned as it is working. Same kind of isssue will probably occur with public cloud install as reverse proxy needs to be specially set for that. see this : https://www.claudiokuenzler.com/blog/1405/how-to-run-jitsi-video-conference-server-behind-nat-reverse-proxy

Investigating this.... I hope i can get it fixed adn working.

++

ClaudeStabile commented 1 week ago

I am searching to make ofmeet work behind reverse proxies...

Something else i notice there are still reference to Padé in config.js at least :

screenshot13

deleolajide commented 1 week ago

image

I have enabled SCTP (webrtc data channel) as an alternative to colibr-websockets using as communication between JVBs. I tested on my WSL (Ubuntu) and it is working. make sure it is enabled in ofmeet.

By default, it is enabled for Linux and disabled for Windows. It should fix the errors shown in the screenshot. If it is still not working, open a new issue with the new log file error.

image

ClaudeStabile commented 6 days ago

Dele,

I cannot enable that with alpine containers, it does not work. I need to try out with ubuntu based containers or understand why alpine sontainers does not support webrtc channels possibly simply a package missing. If you know what ubuntu package is used for webrtc channels it could help my understanding

Thanks for input, i need data channels to do same as you did.

Additionnal question : any chance to have websocket connectivity supported or is it a problem ?

++

ClaudeStabile commented 6 days ago

I have added this https://pkgs.alpinelinux.org/package/edge/community/armv7/libdatachannel But cannot enable data channel with alpine containers

ClaudeStabile commented 6 days ago

@deleolajide Good point with data channels it works !

I manage to make the bridge work 3+ participants with chrome it works now I have to rebuild an openfire container based on ubuntu and not alpine. I try to add what is missing to alpine but no sucess for now. I rebuild an ubuntu container, this works.

What i have found also :

With firefox or android mobile same behavior camera is grey and searching, it does not work

Feel free to try out or have a look with https://meet.free-solutions.ch console is 9291

With firefox or android i have black screen and cam+mic keep searching like this : screenshot4

On android :

ofmeet1 Is there any chance we can bypass the app choice screen ? Would be nice to go direct via web as with Padé. Stack trace on android, still referring to /pade why ? ofmeet2

Thanks in advance for hints and clues, it helps... datachannel mandatory was the one for jvb to work.

++