Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


SOLVED Meet Kopano (unstable version) - a few questions & problems :)



  • @fbartels Many thanks for your reply. That's very useful and makes it clear very.

    Since what you are describing is a full mesh p2p network typology, is there any optimisation implemented by Kopano Meet (compared to others) to limit uplink bandwidth requirement on each peer to improve the performance and scalability?
    As far as I understand it is one of the key limitation of doing things this way (compared to going through and SFU) as a trade off for being able to implement proper E2EE.
    You mention VP8 as being easy on the CPU (but also more bandwidth). Do you therefore think that limitation on the user is likely to come more from CPU rather than bandwidth (comparing increase CPU power vs increase in broadband/mobile bandwidth)?


  • App Dev

    @avatar1024 said in Meet Kopano (unstable version) - a few questions & problems 🙂:

    is there any optimisation implemented by Kopano Meet (compared to others) to limit uplink bandwidth requirement on each peer

    You cannot generate more available bandwidth through software 😉

    Generally speaking connections are limited to 1Mbit each (for video and audio). If there is not enough bandwidth available the browser itself will limit the data transmitted (reduce video quality) until the point where video will be deactivated completely.

    @avatar1024 said in Meet Kopano (unstable version) - a few questions & problems 🙂:

    You mention VP8 as being easy on the CPU (but also more bandwidth).

    On of the reasons its so light on cpu is because hardware acceleration does widely exist for it, btw. But yes I think this is a fair statement. In the end you could run into situations where client would be unable to handle all the incoming and outgoing streams. There is a special "audio only" mode in Meet that could kind of help in these situations, as it turn off all outgoing and incoming video (incl. screensharing) and therefore would lessen the load of encoding the video.



  • This post is deleted!


  • Since #1 was resolved the guest access feature should work now, right? I've edited `kwmserver.cfg

    Enable guest access by default 🎉



  • Enable guest access by default 🎉

    But when is v1.2.0 coming?


  • Staff

    The update package with guest support is released now 🙂



  • The new update works fine. I had my first guest meeting 🙂



  • @luckow If you want to have a meeting with iOS users, tell them that they (must) use Safari. There is no app for meet kopano. Don't use Firefox or other browsers on iOS. Safari is the tool of choice. But this is not a meet kopano issue.



  • I seem to be doing something wrong with guest-enabled rooms. Guests are still prompted to sign in. Are there any gotchas I'm missing?

    My fault, I shared my own room URL rather than using the "Share Group link" feature. Maybe a shared room URL should redirect to the guest onboarding as well, since that still contains a link to the login flow?



  • @luckow doesn't seem to work very well at all for me 😞

    Have tried multiple times now and so far failed to have a successful call.

    I've mostly been trying on Firefox on Ubuntu, but have also tried Chromium with very similar results. Shall have to investigate further... (where shall I look for error logs, I wonder...)


  • App Dev

    @jdaviescoates said in Meet Kopano (unstable version) - a few questions & problems 🙂:

    where shall I look for error logs, I wonder..

    Yes, that is indeed the drawback with mostly client side applications, server side logs will not really help you. Hints on what could be going wrong can instead be found the the browser console. chrome://webrtc-internals/ can be interesting as well (depending on the concrete error).

    What is the exact behaviour you experience? The Cloudron turn is running on port 3478, could that port be blocked for either you or the other user in your call?



  • I've also performed a realistic test scenario now and it's very spotty. With three people on different networks in different locations (though geographically pretty close) I managed to get video from one other participant but not audio, and neither video nor audio from the other one.

    I tried both Firefox (desktop) and Mobile Safari. Calls are pretty flawless with the same setup on the same LAN (though not the exact same peer devices).


  • App Dev

    @yusf which version of iOS are you on?

    Video but no audio is strange, since both are transmitted in the same connection.



  • @fbartels Latest stable, 13.3.1.


  • App Dev

    @yusf the latest is actually 13.4.1



  • @fbartels said in Meet Kopano (unstable version) - a few questions & problems 🙂:

    What is the exact behaviour you experience?

    I've done a few tests.

    First of all I tried having a call with myself using my laptop on wifi (Lenovo T510 running Ubuntu 18.04 and Firefox 75.0) and my phone on 4g (Wileyfox Swift 2 Plus running Android 8.1.0 and Firefox 68.7.0) but it didn't work at all. No video nor audio.

    Not only that but after a while on my laptop Firefox seemed to suddenly be unable to connect to my camera and mic and then would fail to reconnect (this doesn't happen when testing Nextcloud Talk). And then when I clicked the screenshare button (just to see what it was) my whole laptop froze and I had to power off.

    Although saying all that, I just replicated the same test and this time it appeared to work quite well. I even got my wife to join in on her phone too and it kinda sorta worked (she lost connection at one point and mostly her video was frozen).

    Another time I did a test with my laptop, my phone, and my Mum on her laptop (in a different city). I can't remember exactly what happened, but I think I could see and her my Mum on my phone, but not on my laptop. But she could see me on my laptop but not on my phone, or something like that.

    So all in all, in the all tests I've done to date, mostly not really working 😕 (although the test I just did now went OK until there were 3 of us on the call)

    I've had much better experience using Nextcloud Talk so far, although I have to say I much prefer that way Kopano Meet gets guests to set their name and get their camera and mic working before joining the call. On Nextcloud Talk it's common to have multiple people join and for them to all be called Guest, which can get a bit confusing. I think I'll add an issue to Nextcloud Talk suggesting they make Guests add their name before joining too...


  • App Dev

    Hi @jdaviescoates,

    that all in all sounds strange. Especially freezing when trying to screenshare is nothing I have seen here so far.


  • Staff

    I remember @fbartels mentioning some browser session debugging tool to collect relevant information in such a case, maybe that can help sort our some of those cases. Overall we had generally a good experience so far with the app, but given all the various browsers and their various states of webrtc it seems to be a hard issue to tackle.



  • Hi @fbartels,

    Just had my first few one-on-one video calls with registered users and guests... Iridium browser at my end and Chrome at the other end. Worked flawlessly...even with 4G at my end. Excellent user experience at both ends. Thanks for bringing Kopano Meet to Cloudron!



  • Hello @fbartels,

    I just installed Kopano Meet to give it a try and encountered the following error after installation on cloudron v5.1.4 with Kopano Meet version 2.1.0 (Package v1.2.1):

    Apr 15 17:16:33 2020/04/15 15:16:33 Waiting for https://meet.xxx.xx/.well-known/openid-configuration: unexpected HTTP status code: 404.
    Apr 15 17:16:33 2020/04/15 15:16:33 Failed to wait: timed out: https://meet.xxx.xx/.well-known/openid-configuration.
    Apr 15 17:16:33 time="2020-04-15T15:16:33Z" level=info msg="serve start"
    Apr 15 17:16:33 time="2020-04-15T15:16:33Z" level=info msg="using external TURN service: https://turnauth.kopano.com/turnserverauth/"
    Apr 15 17:16:33 time="2020-04-15T15:16:33Z" level=info msg="serve started"
    Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=warning msg="failed to initialize OIDC provider" error="Timeout (:0x105)" iss="https://meet.xxx.xx"
    Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=warning msg="admin: using random admin tokens singing key - API endpoint admin disabled"
    Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="pattern ^group/public/.* public guest rooms enabled" manager=guest
    Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="guest: API endpoint enabled"
    Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="rtm: API endpoint enabled"
    Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="starting http listener" listenAddr="127.0.0.1:8778"
    Apr 15 17:16:43 time="2020-04-15T15:16:43Z" level=info msg="ready to handle requests"
    

    The app starts, but no login is possible (the login button on the Kopano Meet page does not do anything upon clicking).

    On the client side, the following error comes up:

    oidc-client.min.js:718 GET https://meet.xxx.xx/.well-known/openid-configuration 404
    (anonymous) @ oidc-client.min.js:718
    (anonymous) @ oidc-client.min.js:693
    (anonymous) @ oidc-client.min.js:289
    value @ usermanager.js:317
    (anonymous) @ actions.js:667
    w @ runtime.js:62
    (anonymous) @ runtime.js:288
    (anonymous) @ runtime.js:114
    w @ runtime.js:62
    e @ runtime.js:152
    (anonymous) @ runtime.js:187
    o @ runtime.js:186
    (anonymous) @ runtime.js:209
    (anonymous) @ runtime.js:114
    (anonymous) @ runtime.js:233
    (anonymous) @ actions.js:658
    Promise.then (async)
    (anonymous) @ actions.js:656
    (anonymous) @ index.js:8
    dispatch @ applyMiddleware.js:46
    (anonymous) @ actions.js:318
    w @ runtime.js:62
    (anonymous) @ runtime.js:288
    (anonymous) @ runtime.js:114
    w @ runtime.js:62
    e @ runtime.js:152
    (anonymous) @ runtime.js:187
    o @ runtime.js:186
    (anonymous) @ runtime.js:209
    (anonymous) @ runtime.js:114
    (anonymous) @ runtime.js:233
    (anonymous) @ actions.js:309
    (anonymous) @ index.js:8
    dispatch @ applyMiddleware.js:46
    (anonymous) @ actions.js:356
    w @ runtime.js:62
    (anonymous) @ runtime.js:288
    (anonymous) @ runtime.js:114
    w @ runtime.js:62
    e @ runtime.js:152
    (anonymous) @ runtime.js:162
    Promise.then (async)
    e @ runtime.js:161
    (anonymous) @ runtime.js:187
    o @ runtime.js:186
    (anonymous) @ runtime.js:209
    (anonymous) @ runtime.js:114
    (anonymous) @ runtime.js:233
    (anonymous) @ actions.js:316
    (anonymous) @ index.js:8
    dispatch @ applyMiddleware.js:46
    n @ actions.js:216
    (anonymous) @ actions.js:232
    w @ runtime.js:62
    (anonymous) @ runtime.js:288
    (anonymous) @ runtime.js:114
    w @ runtime.js:62
    e @ runtime.js:152
    (anonymous) @ runtime.js:187
    o @ runtime.js:186
    (anonymous) @ runtime.js:209
    (anonymous) @ runtime.js:114
    (anonymous) @ runtime.js:233
    (anonymous) @ actions.js:224
    (anonymous) @ AuthenticatedRoute.js:22
    Promise.then (async)
    render @ AuthenticatedRoute.js:20
    (anonymous) @ react-router.js:444
    Li @ react-dom.production.min.js:4074
    qa @ react-dom.production.min.js:5514
    Ka @ react-dom.production.min.js:5536
    Ds @ react-dom.production.min.js:5958
    Ms @ react-dom.production.min.js:5925
    Es @ react-dom.production.min.js:5860
    es @ react-dom.production.min.js:5787
    enqueueSetState @ react-dom.production.min.js:2790
    (anonymous) @ react.production.min.js:72
    (anonymous) @ Main.js:56
    u @ runtime.js:45
    (anonymous) @ runtime.js:264
    (anonymous) @ runtime.js:98
    r @ asyncToGenerator.js:3
    s @ asyncToGenerator.js:25
    Promise.then (async)
    r @ asyncToGenerator.js:13
    s @ asyncToGenerator.js:25
    (anonymous) @ asyncToGenerator.js:32
    (anonymous) @ asyncToGenerator.js:21
    Promise.then (async)
    value @ Main.js:53
    Ba @ react-dom.production.min.js:4980
    Ga @ react-dom.production.min.js:5123
    (anonymous) @ react-dom.production.min.js:5975
    (anonymous) @ scheduler.production.min.js:274
    Ls @ react-dom.production.min.js:5974
    Ds @ react-dom.production.min.js:5958
    Ms @ react-dom.production.min.js:5925
    Es @ react-dom.production.min.js:5860
    es @ react-dom.production.min.js:5787
    enqueueSetState @ react-dom.production.min.js:2790
    (anonymous) @ react.production.min.js:72
    t @ index.js:240
    (anonymous) @ index.js:250
    Promise.then (async)
    (anonymous) @ index.js:249
    (anonymous) @ index.js:197
    lo @ react-dom.production.min.js:2854
    Ri @ react-dom.production.min.js:3759
    Li @ react-dom.production.min.js:3960
    qa @ react-dom.production.min.js:5514
    Ka @ react-dom.production.min.js:5536
    Ds @ react-dom.production.min.js:5958
    Ms @ react-dom.production.min.js:5925
    Es @ react-dom.production.min.js:5860
    es @ react-dom.production.min.js:5787
    enqueueSetState @ react-dom.production.min.js:2790
    (anonymous) @ react.production.min.js:72
    (anonymous) @ IntlContainer.js:281
    Promise.then (async)
    value @ IntlContainer.js:280
    Ba @ react-dom.production.min.js:4978
    Ga @ react-dom.production.min.js:5123
    (anonymous) @ react-dom.production.min.js:5975
    (anonymous) @ scheduler.production.min.js:274
    Ls @ react-dom.production.min.js:5974
    Ds @ react-dom.production.min.js:5958
    Ms @ react-dom.production.min.js:5925
    Es @ react-dom.production.min.js:5860
    es @ react-dom.production.min.js:5787
    Us @ react-dom.production.min.js:6077
    Ys @ react-dom.production.min.js:6085
    (anonymous) @ react-dom.production.min.js:6276
    (anonymous) @ react-dom.production.min.js:6360
    Is @ react-dom.production.min.js:6007
    Vs @ react-dom.production.min.js:6359
    render @ react-dom.production.min.js:6390
    831 @ app.js:51
    i @ bootstrap:89
    Promise.then (async)
    (anonymous) @ index.js:18
    Promise.then (async)
    184 @ index.js:14
    i @ bootstrap:89
    107 @ main.758e3f7e.chunk.js?__WB_REVISION__=ebc8e0d9096114f5d646:1
    i @ bootstrap:89
    r @ bootstrap:45
    t @ bootstrap:32
    (anonymous) @ main.758e3f7e.chunk.js?__WB_REVISION__=ebc8e0d9096114f5d646:1
    actions.js:251 failed to continue config initialization Error:  (404)
        at XMLHttpRequest.<anonymous> (oidc-client.min.js:715)
    

    Any idea what could be the problem?


Log in to reply