Jitsi, Dockers and Synology NAS

Hello I’m new here.
I’m trying to setup Jitsi on my Synology NAS without any luck.
Do someone suggest me any resource that could help me?

Thanks

Hi @zigwelcome to our community!

What’s the architecture of your NAS? Many are based on ARM processors, but our Docker images use x86_64 images.

Hi @saghul
I’ve an x86 NAS (DS1817+), and I want to test the self-hosted variant of Jitsi, because I’ve tried the online version with 3 (or more) users and it was really not pleasant to use (because of stark delays).

Now, I’ve installed the Docker app on my NAS.
I suppose prosody, jicofo, jvb, jigasi have to be installed and configured.

That’s the point: are the 4 container enough?

Thanks

You also need the “web” container. If you can run docker-compose there, that would be the easiest since it takes care of everything.

The 5 Containers have to be linked each other in order to communicate (I read this on the Synology wiki)

If you can run docker-compose there, that would be the easiest since it takes care of everything.
That’s the point, I didn’t find the compose for Synology.

That’s what docker-compose will do automatically.

There is, somewhere, any docs about the installation procedure of the Jitsi container on a Synology NAS?
Because I need something more practical.

Thanks

Not that I know of, sorry.

while this thread may be outdated; since there is documentation @ https://github.com/jitsi/docker-jitsi-meet (more details at https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md )

and a more practical one via docker-compose (on NAS: sudo …)
I confirm, that the provided quick-install instructions are working on a Synology DS918+

I had some moments regarding port forwarding + rev-proxy (have a thorough look at the figures provided); but that worked in the end (rev-ssl-proxy is on the same machine, well…)

Secondly, I forgot to append … -d when starting docker-compose - I have the feeling, that this lead to a non-working setup.

After removing the entire configuration-directory (changed path in .env to a volume-path instead of home-dir), thus rebuilding; it worked.

Thank you dear community!

hi,
that comes really handy. i am searching for a possibility to host videoconferencing on my ds918+. as a gynecologist i´m looking for software to host secure conferences on a local server.

would it be possible to issue a complete step-by-step installation documentation so that one with some computer knowledge but not so much on unix systems would be able to reproduce the setup?

(at least i already did a little bit command line work on my nas, so sudo and vi mean something to me)

with best regards martin

(ps: so the dsm docker environment is really of no use and cannot reproduce docker-composer functionality?)

hey Maneuss,
I saw somebody working on an all-in-one-docker-container here: twitter.com > zoobab > status > 1241061487868813315

This would come in handy for a Synology deployment, since it could then be used with the Docker frontend provided. I have no updates for this.

My approach is based (and this is how I got to know about Jitsi) on an (article written in German).

I ssh’ed into the DS (this may be problematic with warranty / Synology Support; but for me ok) and basically “just” executed the steps described in that article (and based upon: github >> jitsi/docker-jitsi-meet).

Requirements
Be careful, when running this in a sensitive environment: self-hosting requires to open 3 ports towards the hosting system - something you need to be aware of and which may be infeasible for certain environments.

  • Get a dynamic dns domain i.e. from noip[dot]com or dyndns[dot]org
  • “connect” this to your ip; i.e. in Synology (Control Panel > External Access > DDNS)
  • Figure out, where you open incoming ports on your router (you will need 80 TCP, 443 TCP temporarily for SSL-Cert-Generation; you will need 3 “Jitsi-Ports”, in this case 1843 TCP (my choice), 4443 TCP, 10000 UDP)

Decide, whether you want to use Jitsi’s “built” in HTTPS-Service or not: I did not use it, because I wanted to implement HTTP-AUTH before anyone can access Jitsi at all (but: I failed that, Synology’s provided ReverseProxy does not provide configurable HTTP-AUTH settings - this writeup is therefore incomplete, the RevProxy-parts should be replaced by an appropriate setup).

  • getting the sources from https://github.com/jitsi/docker-jitsi-meet to a Synology without Git installed: take the green “clone or download button”, “Download Zip”.
  • Copy the entire contents of the Zip-Folder into a fresh folder on the Synology (here: /volume1/docker/docker-jitsi (if you are using FileStation for this, /volume<N> is hidden, the folder-hiearchy starts with “docker”)

On the system

  • ssh into the system; cd into the folder created in the previous step.
  • in this folder: cp env.example .env
  • vim .env

My modifications / setup for .env

Here is a commented extract (only lines that I touched/edited) of the .env-File:

CONFIG=/volume1/docker/docker-jitsi-conf/

I changed that line, because I want the generated config files at that location.

HTTP_PORT=8888
HTTPS_PORT=8443

PUBLIC_URL="<my ddns domain WITHOUT PORT, just: subdomain.domain.tld >
## since I cannot post more than two links, so this URL is meant to be a https url here; the HTTPS prefix is stripped!  

DOCKER_HOST_ADDRESS=192.168.1.50
### the IP of your Synology (!) where the incoming port forwards arrive 

I did not enable LetsEncrypt-Support because this is currently done via “my” Synology ReverseProxy (which is an intermediate bad solution; see below).

Etherpad, Jigasi, Jibri were not enabled.

Authentication is enabled:

# Enable authentication.
ENABLE_AUTH=1

# Enable guest access.
ENABLE_GUESTS=1

# Select authentication type: internal, jwt or ldap
AUTH_TYPE=internal

JVB_TCP_HARVESTER_DISABLED=true
JVB_TCP_PORT=4443
## this appears to be default, I did not play around with this, but in case you cannot do UDP, this may be a path to go. 

# Disable HTTPS. This can be useful if TLS connections are going to be handled outside of this setup.
DISABLE_HTTPS=1

# Redirects HTTP traffic to HTTPS. Only works with the standard HTTPS port (443).
#ENABLE_HTTP_REDIRECT=1

With this .env - file I then ran sudo docker-compose up -d
(I am unsure, about the -d flag, but I had the feeling, that it has to be set (I am not a docker pro…) although I initially assumed, that there is no difference between daemonizing vs. foreground, it worked for me finally with -d set!)

This setup / .env File may contain a mistake: so in order to enable external mobile phones to successfully connect, I figured, that I had to add one line to

<your path of the config-directory from .env>/jvb/sip-communicator.properties org.jitsi.videobridge.TCP_HARVESTER_MAPPED_PORT=1843

After that a restart (sudo docker-compose down, sudo docker-compose up -d) finally led to a working solution.


What I did regarding NAT / Port Forwarding:

TCP 1843 (WebInterface over SSL/RevProxy) to the IP (s.o. here 192.168.1.50)
TCP 4443 to the IP (s.o. here 192.168.1.50)
UDP 10000 to the IP (s.o. here 192.168.1.50)

Regarding SSL-RevProxy:
I understood to late, that Synology’s RevProxy cannot provide HTTP-Auth, thus an own dockerized RevProxy with added HTTP-Auth would make me “feel better”. Anyways, the RevProxy exposes HTTP 192.168.1.50:8888 to HTTPS 192.168.1.50:1843

(
The RevProxy’s SSL-Certs are from LetsEncrypt, remember to open ports 80 and 443 when attempting to generate these.
)

The SSL-Certs are not containing the IPs, I added them here to illustrate the port mapping. I am running on an OpenWRT router (dnsmasq for DNS/DHCP). The domainname for the SSL-Crts is added as a local domain (below Server Settings; + Hostname below Hostname) , so that LAN-Clients receive Synology’s LAN (…1.50) and the external clients receive my external IP (DynDns is used for that).


I did not want to expose the service on its standard ports, but well, my time was running away - therefore this post is also at the moment “as it is”. If I consolidate it, I will post it here.

I currently open/close the 3 ports on my router, when I need to make Jitsi-Calls - I don’t like to keep unnecessary ports open.

(Regarding the SSL-Rev-Issue: I’d started to integrate an additional service into the docker-compose.yml, but have paused that approach currently.)

1 Like

That´s wonderful. Thank you very much.
On the german synology forum i read a post (among others) regarding the performance of jitsi:
“Jitsi ist bei mir schon wioeder gestrichen. Eine schnelle Installation auf einem leistungsfähigen V-Server bestätigte die Onlinerfahrungen diverser Jitsi Installationen: Man hat in der Video-Konferenz einen Delay zwischen Aussprache und Empfang beim Korrespondenzpartner von 2-3 Sekunden. Das ist wie früher ein Gespräch per Seekabel in die USA, nur schwer in einer Diskussion zu moderieren.”

Do you know of any performance problems or time lags?

Martin

PS: german is ok as i am a german residing near hamburg in reinbek. but for the sake of others let´s stay in english

I personally wouldnt try it on my Synology (I do use several docker apps on a few Synologys tho).

I tried jitsi running on a VM in my office and was not very satisfied: Setup was easy but the delay, echo and network issues are bad.

Next i tried it on a hosted server: 2Core / 4GB RAM / 900Mbit/s down AND up. Still the same. Altough clients and server have quite fast network connections, still the quality is bad.
Maybe it’s the config, but I couldnt find good documentation to improve it.

I would love to use jitsi for quick meetings with external partners (no software requirements) - but it just doesnt work good enough for me. What a pity…

paradeiser

Does this actually work? I tried to replicate step by step but there this doesn’t solve the NAT issue. It works on a local network, but there is no image/sound if you’re not on the LAN.
Have you actually checked that this setup (on synology docker + synology built in reverse proxy) actually works even with NAT from outside ?
Thanks

I tried to install on my Syno DS718+ following your instructions and those on https://github.com/jitsi/docker-jitsi-meet/blob/master/README.md
Severalpoinst I noticed :

  • Read and execute carefully instruction ; for example, to crate conf directories with the re levant rights
  • Be sure to open on the Synology firewall the flows between containers, using private IP adresses (172.16… 192.168… 10…). You can follow security advices there : https://www.nas-forum.com/forum/topic/54453-tuto-sécuriser-les-accès-à-son-nas/
  • Do not miss to delete/re-create conf directory each time you modify .env file

My personnal configuration, working both on LAN and from Internet :

  • using letsencrypt certificate on the synology (not in jitsy), adding a specific subdomain meet.mydomain…
  • using local jitsi port 8080 and 8443, and set reverse proxy rules on the Syno redirecting 80 to 8080 and 443 to 8443 for the specified domain (meet.mydomain…). This allows to maintain other services on 443 using other subdomains
  • Opened TCP 4443 and UDP 10000 from outside on Syno firewall
  • Uncomment ENABLE_HTTP_REDIRECT=1 , and let commented #DISABLE_HTTPS=1
  • Uncomment JVB_STUN_SERVERS=meet-jit-si…
    and change JVB_TCP_HARVESTER_DISABLED=false (true to false)
  • no need for me to open port 1843 for mobile app access on my side
1 Like

All steps performed. It’s clear and understable.
No errors from console (I use Portainer for container management)
Landing page of the jitsi.meet is accesible as expected at my FQDN (also setup icon for audio/video/… is accessible)
I can create room
but
when room is created (I’m in), I can’t use it, because error:
You have been disconnected! You may want to check your network connection. Rejoin now.

Chrome console output:

strophe.umd.js:5123 POST https://meet.mydomain.com/http-bind?room=ethicalexplosionsdrawformerly 405
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_connect @ strophe.umd.js:4586
connect @ strophe.umd.js:2368
_interceptConnectArgs @ strophe.stream-management.js:213
connect @ XmppConnection.js:223
_connect @ xmpp.js:401
connect @ xmpp.js:473
c.connect @ JitsiConnection.js:61
e @ connection.js:47
(anonymous) @ connection.js:182
d @ connection.js:107
h @ connection.js:212
K @ conference.js:189
createInitialLocalTracksAndConnect @ conference.js:637
init @ conference.js:775
async function (async)
init @ conference.js:756
(anonymous) @ actions.web.js:31
Promise.then (async)
(anonymous) @ actions.web.js:30
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_start @ Conference.js:264
componentDidMount @ Conference.js:140
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ms @ react-dom.production.min.js:206
(anonymous) @ react-dom.production.min.js:114
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
ba @ react-dom.production.min.js:114
ga @ react-dom.production.min.js:113
ds @ react-dom.production.min.js:204
enqueueSetState @ react-dom.production.min.js:127
_.setState @ react.production.min.js:13
(anonymous) @ BaseApp.js:241
_navigate @ BaseApp.js:240
(anonymous) @ middleware.js:149
Promise.then (async)
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:169
(anonymous) @ middleware.js:26
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:147
(anonymous) @ middleware.js:35
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:232
(anonymous) @ middleware.js:45
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:513
(anonymous) @ middleware.js:97
(anonymous) @ middleware.js:96
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
dispatch @ redux.js:636
(anonymous) @ actions.js:136
async function (async)
(anonymous) @ actions.js:109
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_openURL @ AbstractApp.js:113
(anonymous) @ AbstractApp.js:47
Promise.then (async)
componentDidMount @ AbstractApp.js:44
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ds @ react-dom.production.min.js:204
Vs @ react-dom.production.min.js:263
Ws @ react-dom.production.min.js:263
(anonymous) @ react-dom.production.min.js:272
ys @ react-dom.production.min.js:208
el @ react-dom.production.min.js:272
render @ react-dom.production.min.js:273
Rs.renderEntryPoint @ index.web.js:71
(anonymous) @ EthicalExplosionsDrawFormerly:18
Show 191 more frames
Logger.js:154 2020-08-09T15:38:43.535Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Strophe: request id 1.1 error 405 happened
at Object.r.Strophe.log (strophe.util.js:89)
at Object.error (strophe.umd.js:1392)
at P.Bosh._onRequestStateChange (strophe.umd.js:5017)
o @ Logger.js:154
getGlobalOnErrorHandler @ JitsiMeetJS.js:609
window.onerror @ middleware.js:107
callErrorHandler @ GlobalOnErrorHandler.js:61
r.Strophe.log @ strophe.util.js:89
error @ strophe.umd.js:1392
_onRequestStateChange @ strophe.umd.js:5017
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_connect @ strophe.umd.js:4586
connect @ strophe.umd.js:2368
_interceptConnectArgs @ strophe.stream-management.js:213
connect @ XmppConnection.js:223
_connect @ xmpp.js:401
connect @ xmpp.js:473
c.connect @ JitsiConnection.js:61
e @ connection.js:47
(anonymous) @ connection.js:182
d @ connection.js:107
h @ connection.js:212
K @ conference.js:189
createInitialLocalTracksAndConnect @ conference.js:637
init @ conference.js:775
async function (async)
init @ conference.js:756
(anonymous) @ actions.web.js:31
Promise.then (async)
(anonymous) @ actions.web.js:30
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_start @ Conference.js:264
componentDidMount @ Conference.js:140
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ms @ react-dom.production.min.js:206
(anonymous) @ react-dom.production.min.js:114
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
ba @ react-dom.production.min.js:114
ga @ react-dom.production.min.js:113
ds @ react-dom.production.min.js:204
enqueueSetState @ react-dom.production.min.js:127
_.setState @ react.production.min.js:13
(anonymous) @ BaseApp.js:241
_navigate @ BaseApp.js:240
(anonymous) @ middleware.js:149
Promise.then (async)
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:169
(anonymous) @ middleware.js:26
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:147
(anonymous) @ middleware.js:35
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:232
(anonymous) @ middleware.js:45
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:513
(anonymous) @ middleware.js:97
(anonymous) @ middleware.js:96
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
dispatch @ redux.js:636
(anonymous) @ actions.js:136
async function (async)
(anonymous) @ actions.js:109
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_openURL @ AbstractApp.js:113
(anonymous) @ AbstractApp.js:47
Promise.then (async)
componentDidMount @ AbstractApp.js:44
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ds @ react-dom.production.min.js:204
Vs @ react-dom.production.min.js:263
Ws @ react-dom.production.min.js:263
(anonymous) @ react-dom.production.min.js:272
ys @ react-dom.production.min.js:208
el @ react-dom.production.min.js:272
render @ react-dom.production.min.js:273
Rs.renderEntryPoint @ index.web.js:71
(anonymous) @ EthicalExplosionsDrawFormerly:18
Show 198 more frames
Logger.js:154 2020-08-09T15:38:43.537Z [modules/xmpp/strophe.util.js] <Object.r.Strophe.log>: Strophe: request id 1.1 error 405 happened
o @ Logger.js:154
r.Strophe.log @ strophe.util.js:90
error @ strophe.umd.js:1392
_onRequestStateChange @ strophe.umd.js:5017
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_connect @ strophe.umd.js:4586
connect @ strophe.umd.js:2368
_interceptConnectArgs @ strophe.stream-management.js:213
connect @ XmppConnection.js:223
_connect @ xmpp.js:401
connect @ xmpp.js:473
c.connect @ JitsiConnection.js:61
e @ connection.js:47
(anonymous) @ connection.js:182
d @ connection.js:107
h @ connection.js:212
K @ conference.js:189
createInitialLocalTracksAndConnect @ conference.js:637
init @ conference.js:775
async function (async)
init @ conference.js:756
(anonymous) @ actions.web.js:31
Promise.then (async)
(anonymous) @ actions.web.js:30
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_start @ Conference.js:264
componentDidMount @ Conference.js:140
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ms @ react-dom.production.min.js:206
(anonymous) @ react-dom.production.min.js:114
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
ba @ react-dom.production.min.js:114
ga @ react-dom.production.min.js:113
ds @ react-dom.production.min.js:204
enqueueSetState @ react-dom.production.min.js:127
_.setState @ react.production.min.js:13
(anonymous) @ BaseApp.js:241
_navigate @ BaseApp.js:240
(anonymous) @ middleware.js:149
Promise.then (async)
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:169
(anonymous) @ middleware.js:26
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:147
(anonymous) @ middleware.js:35
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:232
(anonymous) @ middleware.js:45
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:513
(anonymous) @ middleware.js:97
(anonymous) @ middleware.js:96
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
dispatch @ redux.js:636
(anonymous) @ actions.js:136
async function (async)
(anonymous) @ actions.js:109
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_openURL @ AbstractApp.js:113
(anonymous) @ AbstractApp.js:47
Promise.then (async)
componentDidMount @ AbstractApp.js:44
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ds @ react-dom.production.min.js:204
Vs @ react-dom.production.min.js:263
Ws @ react-dom.production.min.js:263
(anonymous) @ react-dom.production.min.js:272
ys @ react-dom.production.min.js:208
el @ react-dom.production.min.js:272
render @ react-dom.production.min.js:273
Rs.renderEntryPoint @ index.web.js:71
(anonymous) @ EthicalExplosionsDrawFormerly:18
Show 195 more frames
Logger.js:154 2020-08-09T15:38:43.542Z [modules/xmpp/xmpp.js] <A.connectionHandler>: XMPP connection dropped!
o @ Logger.js:154
connectionHandler @ xmpp.js:335
_stropheConnectionCb @ XmppConnection.js:255
_changeConnectStatus @ strophe.umd.js:3011
_doDisconnect @ strophe.umd.js:3052
_interceptDoDisconnect @ strophe.stream-management.js:207
_onRequestStateChange @ strophe.umd.js:5026
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_connect @ strophe.umd.js:4586
connect @ strophe.umd.js:2368
_interceptConnectArgs @ strophe.stream-management.js:213
connect @ XmppConnection.js:223
_connect @ xmpp.js:401
connect @ xmpp.js:473
c.connect @ JitsiConnection.js:61
e @ connection.js:47
(anonymous) @ connection.js:182
d @ connection.js:107
h @ connection.js:212
K @ conference.js:189
createInitialLocalTracksAndConnect @ conference.js:637
init @ conference.js:775
async function (async)
init @ conference.js:756
(anonymous) @ actions.web.js:31
Promise.then (async)
(anonymous) @ actions.web.js:30
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_start @ Conference.js:264
componentDidMount @ Conference.js:140
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ms @ react-dom.production.min.js:206
(anonymous) @ react-dom.production.min.js:114
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
ba @ react-dom.production.min.js:114
ga @ react-dom.production.min.js:113
ds @ react-dom.production.min.js:204
enqueueSetState @ react-dom.production.min.js:127
_.setState @ react.production.min.js:13
(anonymous) @ BaseApp.js:241
_navigate @ BaseApp.js:240
(anonymous) @ middleware.js:149
Promise.then (async)
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:169
(anonymous) @ middleware.js:26
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:147
(anonymous) @ middleware.js:35
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:232
(anonymous) @ middleware.js:45
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:513
(anonymous) @ middleware.js:97
(anonymous) @ middleware.js:96
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
dispatch @ redux.js:636
(anonymous) @ actions.js:136
async function (async)
(anonymous) @ actions.js:109
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_openURL @ AbstractApp.js:113
(anonymous) @ AbstractApp.js:47
Promise.then (async)
componentDidMount @ AbstractApp.js:44
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ds @ react-dom.production.min.js:204
Vs @ react-dom.production.min.js:263
Ws @ react-dom.production.min.js:263
(anonymous) @ react-dom.production.min.js:272
ys @ react-dom.production.min.js:208
el @ react-dom.production.min.js:272
render @ react-dom.production.min.js:273
Rs.renderEntryPoint @ index.web.js:71
(anonymous) @ EthicalExplosionsDrawFormerly:18
Show 198 more frames
Logger.js:154 2020-08-09T15:38:43.544Z [connection.js] <a.o>: CONNECTION FAILED: connection.droppedError
o @ Logger.js:154
o @ connection.js:170
a.emit @ events.js:157
connectionHandler @ xmpp.js:349
_stropheConnectionCb @ XmppConnection.js:255
_changeConnectStatus @ strophe.umd.js:3011
_doDisconnect @ strophe.umd.js:3052
_interceptDoDisconnect @ strophe.stream-management.js:207
_onRequestStateChange @ strophe.umd.js:5026
XMLHttpRequest.send (async)
d @ strophe.umd.js:5123
_processRequest @ strophe.umd.js:5137
_throttledRequestHandler @ strophe.umd.js:5290
_connect @ strophe.umd.js:4586
connect @ strophe.umd.js:2368
_interceptConnectArgs @ strophe.stream-management.js:213
connect @ XmppConnection.js:223
_connect @ xmpp.js:401
connect @ xmpp.js:473
c.connect @ JitsiConnection.js:61
e @ connection.js:47
(anonymous) @ connection.js:182
d @ connection.js:107
h @ connection.js:212
K @ conference.js:189
createInitialLocalTracksAndConnect @ conference.js:637
init @ conference.js:775
async function (async)
init @ conference.js:756
(anonymous) @ actions.web.js:31
Promise.then (async)
(anonymous) @ actions.web.js:30
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_start @ Conference.js:264
componentDidMount @ Conference.js:140
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ms @ react-dom.production.min.js:206
(anonymous) @ react-dom.production.min.js:114
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
ba @ react-dom.production.min.js:114
ga @ react-dom.production.min.js:113
ds @ react-dom.production.min.js:204
enqueueSetState @ react-dom.production.min.js:127
_.setState @ react.production.min.js:13
(anonymous) @ BaseApp.js:241
_navigate @ BaseApp.js:240
(anonymous) @ middleware.js:149
Promise.then (async)
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:169
(anonymous) @ middleware.js:26
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:147
(anonymous) @ middleware.js:35
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:232
(anonymous) @ middleware.js:45
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:513
(anonymous) @ middleware.js:97
(anonymous) @ middleware.js:96
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
dispatch @ redux.js:636
(anonymous) @ actions.js:136
async function (async)
(anonymous) @ actions.js:109
(anonymous) @ index.js:11
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:16
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.any.js:57
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:77
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:22
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:110
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:178
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:23
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:139
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:18
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:41
(anonymous) @ middleware.js:30
(anonymous) @ middleware.js:104
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:64
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:40
(anonymous) @ middleware.js:157
_openURL @ AbstractApp.js:113
(anonymous) @ AbstractApp.js:47
Promise.then (async)
componentDidMount @ AbstractApp.js:44
Es @ react-dom.production.min.js:238
t.unstable_runWithPriority @ scheduler.production.min.js:20
pa @ react-dom.production.min.js:113
js @ react-dom.production.min.js:230
ds @ react-dom.production.min.js:204
Vs @ react-dom.production.min.js:263
Ws @ react-dom.production.min.js:263
(anonymous) @ react-dom.production.min.js:272
ys @ react-dom.production.min.js:208
el @ react-dom.production.min.js:272
render @ react-dom.production.min.js:273
Rs.renderEntryPoint @ index.web.js:71
(anonymous) @ EthicalExplosionsDrawFormerly:18
Show 200 more frames
Logger.js:154 2020-08-09T15:38:43.554Z [features/base/connection] connection.droppedError

Now you can simply use the new Jitsi Package I created and published.
It can be found on Community Package Hub as a signed Package: https://www.cphub.net/?p=jitsimeet (just add this package source to get updates)

Sorce code is on github in examples/synology directory here https://github.com/TosoBoso/docker-jitsi-meet/tree/synology/examples/synology which is forked from jitsi.
I already raised a pull request. but currently it is not merged in and kept separate.

Check it out, it just works, using docker-compose installs and orchestrates all via UI, nice features incl. no need to ssh for commands as it has an admin-gui
By definition it will only work on x64 NAS, the + models supporting Docker

PS: disconnect error above occurs when jitsi does not know its public IP which has to be set as DOCKER_IP_ADRESS in the env, this package automates this at startup. So if you router changes IP each night just schedule a package restart each morning.
-TosoBoso

2 Likes

Hello,
I have install the Package on my DS718+, and all Images startet. The “DOCKER_IP_ADRESS” is the right external IP Adress. But I have 2 Problemes:

  • I cannot connect over SSH Port 8443, I have create a ReverseProxy (If i change the destination to http on port 8080) the connection is OK. (Problem is save, i set DissableHTTPs from 1 to 0 )

  • When Iam on the Webinterface and start a Meeting I became directly the Message “disconnect error”

Can you help me at this 2 Problems?

thx4all
Cyberbob

Why would you want to SSH to port 8443?

As for port 8080, that is only used when you have a proxy in front of the setup. WebRTC doesn’t work on insecure origins.

ahh I mean HTTPs Port not SSH , sorry

I used the Post from Laurent to Set up the Synology Package. The Access to the Webinterface is OK, but after get in a Meeting I became the Error “You have been disconnected”.
It seams like the Videobridge is not there.