1 of 10 Peoples can't use Jitsi quite often (Connection Problems)

Hi, i have Jitsi running on a Server:

Ubuntu 18.04.5 LTS
Latest Updates installed from Jitsi until today.
My friends using latest Chrome 87.X (Windows or MacOS)
I have collect some Logs from latest Connection Issues.

Problem: Joining a room, shows all peoples (Black Images, no Video no Sound) but i can see myself.
Seems some Connection Issues. Normal Homeoffice, Fritzbox / WLAN connected (it worked often before, but Fails are rising now)

Logs:

buero:34 (TIME) index.html loaded: 321.58000001800247

Logger.js:154 2020-12-17T10:03:04.742Z [modules/browser/BrowserCapabilities.js] <new a>: This appears to be chrome, ver: 87.0.4280.88

app.bundle.min.js?v=4466:110 2020-12-17T10:03:05.615Z [modules/UI/videolayout/VideoLayout.js] <Object.changeUserAvatar>: Missed avatar update - no small video yet for undefined

o @ app.bundle.min.js?v=4466:110

Logger.js:154 2020-12-17T10:03:05.658Z [JitsiMeetJS.js] <Object.init>: Analytics disabled, disposing.

o @ Logger.js:154

Logger.js:154 2020-12-17T10:03:05.659Z [modules/statistics/AnalyticsAdapter.js] <Object.dispose>: Disposing of analytics adapter.

o @ Logger.js:154

Logger.js:154 2020-12-17T10:03:05.673Z [modules/statistics/AnalyticsAdapter.js] <Object.dispose>: Disposing of analytics adapter.

o @ Logger.js:154

app.bundle.min.js?v=4466:110 2020-12-17T10:03:05.676Z [features/base/media] Start muted:

app.bundle.min.js?v=4466:110 2020-12-17T10:03:05.680Z [features/base/media] Start audio only set to false

app.bundle.min.js?v=4466:110 2020-12-17T10:03:05.828Z [index.web] <HTMLDocument.<anonymous>>: (TIME) document ready: 1493.640000000596

app.bundle.min.js?v=4466:155 wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.

(anonymous) @ app.bundle.min.js?v=4466:155

app.bundle.min.js?v=4466:155 falling back to ArrayBuffer instantiation

(anonymous) @ app.bundle.min.js?v=4466:155

Logger.js:154 2020-12-17T10:03:05.981Z [modules/RTC/RTCUtils.js] list of media devices has changed: Array(7)

Logger.js:154 2020-12-17T10:03:06.029Z [modules/RTC/RTCUtils.js] Audio output device set to default

Logger.js:154 2020-12-17T10:03:06.214Z [modules/xmpp/xmpp.js] <A._initStrophePlugins>: P2P STUN servers: Array(3)

Logger.js:154 2020-12-17T10:03:06.250Z [modules/xmpp/xmpp.js] <A.connectionHandler>: (TIME) Strophe connecting: 1914.6900000050664

Logger.js:154 2020-12-17T10:03:06.262Z [modules/RTC/RTCUtils.js] <Y.newObtainAudioAndVideoPermissions>: Using the new gUM flow

Logger.js:154 2020-12-17T10:03:06.266Z [modules/RTC/RTCUtils.js] <Y.<anonymous>>: Got media constraints: Object

registrator.js:9 DOMException: Failed to register a ServiceWorker for scope ('https://meeting.HOSTNAME.de/') with script ('https://meeting.HOSTNAME.de/pwa-worker.js'): The script has an unsupported MIME type ('text/html').

Logger.js:154 2020-12-17T10:03:07.059Z [modules/xmpp/XmppConnection.js] <u._maybeEnableStreamResume>: Stream resume enabled, but WebSockets are not enabled

o @ Logger.js:154

Logger.js:154 2020-12-17T10:03:07.060Z [modules/xmpp/strophe.ping.js] <d.startInterval>: XMPP pings will be sent every 10000 ms

Logger.js:154 2020-12-17T10:03:07.061Z [modules/xmpp/xmpp.js] <A.connectionHandler>: (TIME) Strophe connected: 2726.685000001453

Logger.js:154 2020-12-17T10:03:07.062Z [modules/xmpp/xmpp.js] <A.connectionHandler>: My Jabber ID: 9b47f1f7-8463-4090-be38-48d3808da2de@guest.meeting.HOSTNAME.de/2936de91-5027-458c-835e-1bbe448aa7f1

Logger.js:154 2020-12-17T10:03:07.242Z [modules/xmpp/strophe.jingle.js] getting turn credentials failed <iq xmlns=​"jabber:​client" type=​"error" to=​"9b47f1f7-8463-4090-be38-48d3808da2de@guest.meeting.HOSTNAME.de/​2936de91-5027-458c-835e-1bbe448aa7f1" from=​"guest.meeting.HOSTNAME.de" id=​"a432f037-0e43-4a1e-8a2d-a1d585625d02:​sendIQ">​…​</iq>​

o @ Logger.js:154

Logger.js:154 2020-12-17T10:03:07.242Z [modules/xmpp/strophe.jingle.js] is mod_turncredentials or similar installed?

o @ Logger.js:154

Logger.js:154 2020-12-17T10:03:08.728Z [modules/RTC/RTCUtils.js] onUserMediaSuccess

app.bundle.min.js?v=4466:110 2020-12-17T10:03:08.743Z [conference.js] <Object.startConference>: Initialized with 2 local tracks

Logger.js:154 2020-12-17T10:03:08.759Z [modules/xmpp/xmpp.js] <A.createRoom>: JID 9b47f1f7-8463-4090-be38-48d3808da2de@guest.meeting.HOSTNAME.de/2936de91-5027-458c-835e-1bbe448aa7f1 using MUC nickname 9b47f1f7

Logger.js:154 2020-12-17T10:03:08.760Z [modules/xmpp/ChatRoom.js] <new S>: Joined MUC as buero@conference.meeting.HOSTNAME.de/9b47f1f7

Logger.js:154 2020-12-17T10:03:08.762Z [modules/e2eping/e2eping.js] <new u>: Initializing e2e ping; pingInterval=10000, analyticsInterval=60000.

Logger.js:154 2020-12-17T10:03:08.763Z [modules/connectivity/ParticipantConnectionStatus.js] <new _>: RtcMuteTimeout set to: 10000

Logger.js:154 2020-12-17T10:03:08.768Z [modules/statistics/AvgRTPStatsReporter.js] <new g>: Avg RTP stats will be calculated every 15 samples

Logger.js:154 2020-12-17T10:03:08.770Z [JitsiConference.js] <new re>: backToP2PDelay: 5

Logger.js:154 2020-12-17T10:03:08.771Z [JitsiConference.js] <new re>: End-to-End Encryprtion is supported

Logger.js:154 2020-12-17T10:03:08.813Z [JitsiConference.js] <re._doReplaceTrack>: _doReplaceTrack - no JVB JingleSession

Logger.js:154 2020-12-17T10:03:08.814Z [JitsiConference.js] <re._doReplaceTrack>: _doReplaceTrack - no P2P JingleSession

Logger.js:154 2020-12-17T10:03:08.815Z [JitsiConference.js] <re._doReplaceTrack>: _doReplaceTrack - no JVB JingleSession

Logger.js:154 2020-12-17T10:03:08.815Z [JitsiConference.js] <re._doReplaceTrack>: _doReplaceTrack - no P2P JingleSession

app.bundle.min.js?v=4466:110 2020-12-17T10:03:08.817Z [modules/remotecontrol/RemoteControl.js] <d.init>: Initializing remote control.

Logger.js:154 2020-12-17T10:03:08.818Z [modules/xmpp/moderator.js] <l.setFocusUserJid>: Focus jid set to: undefined

Logger.js:154 2020-12-17T10:03:08.819Z [modules/xmpp/moderator.js] <l.createConferenceIq>: Session ID: null machine UID: ac7928929f7823bb1c6d3a5ec81b4496

app.bundle.min.js?v=4466:110 2020-12-17T10:03:08.827Z [features/base/tracks] Replace audio track - unmuted

app.bundle.min.js?v=4466:110 2020-12-17T10:03:08.831Z [features/base/tracks] Replace video track - unmuted

Logger.js:154 2020-12-17T10:03:08.973Z [modules/xmpp/moderator.js] <l.setFocusUserJid>: Focus jid set to: focus@auth.meeting.HOSTNAME.de

Logger.js:154 2020-12-17T10:03:08.974Z [modules/xmpp/moderator.js] <l.parseConfigOptions>: Authentication enabled: true

Logger.js:154 2020-12-17T10:03:08.974Z [modules/xmpp/moderator.js] <l.parseConfigOptions>: External authentication enabled: false

Logger.js:154 2020-12-17T10:03:08.977Z [modules/xmpp/moderator.js] <l.parseConfigOptions>: Sip gateway enabled: false

Logger.js:154 2020-12-17T10:03:09.064Z [modules/xmpp/ChatRoom.js] <S.onPresence>: entered buero@conference.meeting.HOSTNAME.de/41aed6be Object

app.bundle.min.js?v=4466:110 2020-12-17T10:03:09.171Z [conference.js] <a.<anonymous>>: USER 41aed6be connnected: u

Logger.js:154 2020-12-17T10:03:09.173Z [JitsiConference.js] <re._maybeStartOrStopP2P>: Auto P2P disabled

Logger.js:154 2020-12-17T10:03:09.179Z [modules/xmpp/ChatRoom.js] <S.onPresence>: entered buero@conference.meeting.HOSTNAME.de/focus Object

Logger.js:154 2020-12-17T10:03:09.179Z [modules/xmpp/ChatRoom.js] <S._initFocus>: Ignore focus: buero@conference.meeting.HOSTNAME.de/focus, real JID: focus@auth.meeting.HOSTNAME.de/focus16401732681

Logger.js:154 2020-12-17T10:03:09.190Z [modules/version/ComponentsVersions.js] Got xmpp version: Prosody(0.10.0,Linux)

Logger.js:154 2020-12-17T10:03:09.190Z [modules/version/ComponentsVersions.js] Got focus version: JiCoFo(1.0.644,Linux)

Logger.js:154 2020-12-17T10:03:09.190Z [modules/version/ComponentsVersions.js] Got videobridge version: 2.1.376-g9f12bfe2

app.bundle.min.js?v=4466:110 2020-12-17T10:03:09.192Z [conference.js] <a.<anonymous>>: My role changed, new role: none

Logger.js:154 2020-12-17T10:03:09.198Z [modules/xmpp/ChatRoom.js] <S.onPresence>: (TIME) MUC joined: 4863.864999992074

app.bundle.min.js?v=4466:110 2020-12-17T10:03:09.208Z [features/video-quality] <La>: setReceiverVideoConstraint: 2160

app.bundle.min.js?v=4466:110 2020-12-17T10:03:09.272Z [modules/UI/videolayout/LargeVideoManager.js] hover in 41aed6be

app.bundle.min.js?v=4466:110 2020-12-17T10:03:13.879Z [features/video-quality] <Object.T.d.register.deepEquals [as listener]>: Video quality level for thumbnail height: 367, is: 360, override: false, max full res N: 2

app.bundle.min.js?v=4466:110 2020-12-17T10:03:13.880Z [features/video-quality] <La>: setReceiverVideoConstraint: 360

Logger.js:154 2020-12-17T10:03:14.157Z [JitsiParticipant.js] Failed to discover features of buero@conference.meeting.HOSTNAME.de/41aed6be null

o @ Logger.js:154

app.bundle.min.js?v=4466:110 2020-12-17T10:03:14.157Z [modules/UI/videolayout/VideoLayout.js] could not get remote control properties for: buero@conference.meeting.HOSTNAME.de/41aed6be null

o @ app.bundle.min.js?v=4466:110

Logger.js:154 2020-12-17T10:03:19.067Z [JitsiConference.js] <u.sendMessage>: Failed to send E2E ping request or response. undefined

o @ Logger.js:154

Logger.js:154 2020-12-17T10:03:22.149Z [modules/xmpp/strophe.ping.js] Ping timeout null

o @ Logger.js:154

Logger.js:154 2020-12-17T10:03:24.217Z [modules/xmpp/ChatRoom.js] Failed to discover Jicofo features null

o @ Logger.js:154

app.bundle.min.js?v=4466:110 2020-12-17T10:03:29.021Z [features/video-quality] <Object.T.d.register.deepEquals [as listener]>: Video quality level for thumbnail height: 211, is: 180, override: false, max full res N: 2

app.bundle.min.js?v=4466:110 2020-12-17T10:03:29.023Z [features/video-quality] <La>: setReceiverVideoConstraint: 180

Logger.js:154 2020-12-17T10:03:29.075Z [JitsiConference.js] <u.sendMessage>: Failed to send E2E ping request or response. undefined

o @ Logger.js:154

Logger.js:154 2020-12-17T10:03:32.140Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Ping timeout

at strophe.ping.js:106

o @ Logger.js:154

getGlobalOnErrorHandler @ JitsiMeetJS.js:613

window.onerror @ app.bundle.min.js?v=4466:224

callErrorHandler @ GlobalOnErrorHandler.js:61

(anonymous) @ strophe.ping.js:106

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

Logger.js:154 2020-12-17T10:03:32.142Z [modules/xmpp/strophe.ping.js] Ping timeout null

o @ Logger.js:154

(anonymous) @ strophe.ping.js:107

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

setTimeout (async)

_onIdle @ strophe.umd.js:3885

(anonymous) @ strophe.umd.js:3886

Logger.js:154 2020-12-17T10:03:39.068Z [JitsiConference.js] <u.sendMessage>: Failed to send E2E ping request or response. undefined

o @ Logger.js:154

(anonymous) @ JitsiConference.js:352

sendRequest @ e2eping.js:93

Logger.js:154 2020-12-17T10:03:42.157Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Ping timeout

at strophe.ping.js:106

o @ Logger.js:154

getGlobalOnErrorHandler @ JitsiMeetJS.js:613

window.onerror @ app.bundle.min.js?v=4466:224

callErrorHandler @ GlobalOnErrorHandler.js:61

(anonymous) @ strophe.ping.js:106

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Logger.js:154 2020-12-17T10:03:42.158Z [modules/xmpp/strophe.ping.js] Ping timeout null

o @ Logger.js:154

(anonymous) @ strophe.ping.js:107

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Logger.js:154 2020-12-17T10:03:47.722Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Strophe: request id 10.1 error 0 happened

at Object.r.Strophe.log (strophe.util.js:89)

at Object.error (strophe.umd.js:1392)

at O.Bosh._onRequestStateChange (strophe.umd.js:5017)

o @ Logger.js:154

getGlobalOnErrorHandler @ JitsiMeetJS.js:613

window.onerror @ app.bundle.min.js?v=4466:224

callErrorHandler @ GlobalOnErrorHandler.js:61

r.Strophe.log @ strophe.util.js:89

error @ strophe.umd.js:1392

_onRequestStateChange @ strophe.umd.js:5017

Logger.js:154 2020-12-17T10:03:47.723Z [modules/xmpp/strophe.util.js] <Object.r.Strophe.log>: Strophe: request id 10.1 error 0 happened

o @ Logger.js:154

r.Strophe.log @ strophe.util.js:90

error @ strophe.umd.js:1392

_onRequestStateChange @ strophe.umd.js:5017

Logger.js:154 2020-12-17T10:03:47.724Z [modules/xmpp/strophe.util.js] <Object.r.Strophe.log>: Strophe: request errored, status: 0, number of errors: 1

o @ Logger.js:154

r.Strophe.log @ strophe.util.js:77

warn @ strophe.umd.js:1382

_hitError @ strophe.umd.js:4810

_onRequestStateChange @ strophe.umd.js:5019

http-bind?room=buero:1 Failed to load resource: net::ERR_CONNECTION_RESET

Logger.js:154 2020-12-17T10:03:49.068Z [JitsiConference.js] <u.sendMessage>: Failed to send E2E ping request or response. undefined

o @ Logger.js:154

(anonymous) @ JitsiConference.js:352

sendRequest @ e2eping.js:93

Logger.js:154 2020-12-17T10:03:52.158Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Ping timeout

at strophe.ping.js:106

o @ Logger.js:154

getGlobalOnErrorHandler @ JitsiMeetJS.js:613

window.onerror @ app.bundle.min.js?v=4466:224

callErrorHandler @ GlobalOnErrorHandler.js:61

(anonymous) @ strophe.ping.js:106

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Logger.js:154 2020-12-17T10:03:52.161Z [modules/xmpp/strophe.ping.js] Ping timeout null

o @ Logger.js:154

(anonymous) @ strophe.ping.js:107

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Logger.js:154 2020-12-17T10:03:59.068Z [JitsiConference.js] <u.sendMessage>: Failed to send E2E ping request or response. undefined

o @ Logger.js:154

(anonymous) @ JitsiConference.js:352

sendRequest @ e2eping.js:93

DevTools failed to load SourceMap: Could not load content for https://meeting.HOSTNAME.de/libs/app.bundle.min.map: Load canceled due to load timeout

Logger.js:154 2020-12-17T10:04:02.171Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Ping timeout

at strophe.ping.js:106

o @ Logger.js:154

getGlobalOnErrorHandler @ JitsiMeetJS.js:613

window.onerror @ app.bundle.min.js?v=4466:224

callErrorHandler @ GlobalOnErrorHandler.js:61

(anonymous) @ strophe.ping.js:106

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Logger.js:154 2020-12-17T10:04:02.172Z [modules/xmpp/strophe.ping.js] Ping timeout null

o @ Logger.js:154

(anonymous) @ strophe.ping.js:107

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Logger.js:154 2020-12-17T10:04:09.068Z [JitsiConference.js] <u.sendMessage>: Failed to send E2E ping request or response. undefined

o @ Logger.js:154

(anonymous) @ JitsiConference.js:352

sendRequest @ e2eping.js:93

Logger.js:154 2020-12-17T10:04:12.138Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Ping timeout

at strophe.ping.js:106

o @ Logger.js:154

getGlobalOnErrorHandler @ JitsiMeetJS.js:613

window.onerror @ app.bundle.min.js?v=4466:224

callErrorHandler @ GlobalOnErrorHandler.js:61

(anonymous) @ strophe.ping.js:106

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Logger.js:154 2020-12-17T10:04:12.138Z [modules/xmpp/strophe.ping.js] Ping timeout null

o @ Logger.js:154

(anonymous) @ strophe.ping.js:107

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

http-bind:1 Failed to load resource: the server responded with a status of 504 (Gateway Time-out)

Logger.js:154 2020-12-17T10:04:17.270Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Strophe: request id 11.1 error 504 happened

at Object.r.Strophe.log (strophe.util.js:89)

at Object.error (strophe.umd.js:1392)

at O.Bosh._onRequestStateChange (strophe.umd.js:5017)

o @ Logger.js:154

getGlobalOnErrorHandler @ JitsiMeetJS.js:613

window.onerror @ app.bundle.min.js?v=4466:224

callErrorHandler @ GlobalOnErrorHandler.js:61

r.Strophe.log @ strophe.util.js:89

error @ strophe.umd.js:1392

_onRequestStateChange @ strophe.umd.js:5017

Logger.js:154 2020-12-17T10:04:17.274Z [modules/xmpp/strophe.util.js] <Object.r.Strophe.log>: Strophe: request id 11.1 error 504 happened

o @ Logger.js:154

r.Strophe.log @ strophe.util.js:90

error @ strophe.umd.js:1392

_onRequestStateChange @ strophe.umd.js:5017

Logger.js:154 2020-12-17T10:04:17.275Z [modules/xmpp/strophe.util.js] <Object.r.Strophe.log>: Strophe: request errored, status: 504, number of errors: 2

o @ Logger.js:154

r.Strophe.log @ strophe.util.js:77

warn @ strophe.umd.js:1382

_hitError @ strophe.umd.js:4810

_onRequestStateChange @ strophe.umd.js:5019

Logger.js:154 2020-12-17T10:04:19.070Z [JitsiConference.js] <u.sendMessage>: Failed to send E2E ping request or response. undefined

o @ Logger.js:154

(anonymous) @ JitsiConference.js:352

sendRequest @ e2eping.js:93

Logger.js:154 2020-12-17T10:04:22.149Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: null Script: null Line: null Column: null StackTrace: Error: Ping timeout

at strophe.ping.js:106

o @ Logger.js:154

getGlobalOnErrorHandler @ JitsiMeetJS.js:613

window.onerror @ app.bundle.min.js?v=4466:224

callErrorHandler @ GlobalOnErrorHandler.js:61

(anonymous) @ strophe.ping.js:106

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Logger.js:154 2020-12-17T10:04:22.150Z [modules/xmpp/strophe.ping.js] Ping timeout null

o @ Logger.js:154

(anonymous) @ strophe.ping.js:107

Promise.then (async)

ping @ strophe.ping.js:84

(anonymous) @ strophe.ping.js:99

Any Idea what the Problem can be? 90% Jitsi works. But always have some people complaining.
I made Teamviewer and everything was allowed (Audio, Cam)

hello

looks like the port 10000/UDP problem.
Check connectivity with

(server)
sudo systemctl stop jitsi-videobridge2
nc -l 10000 -u
(workstation)
echo "123" | nc -u (your public address) 10000

on the workstations having the problem. If it does not work (no ‘123’ on the server console), ensure that turn is working. Coturn setup as changed lately (one month or so) and these changes need corresponding config changes, so maybe it could explain that problems are happening more for you ?

1 Like

Hm thank you for fast reply.
I really appreciate your help!

I just got notice, that the friend is using Handy now, and it works.
And besides, 90% of the participants are working always. I only get Feedback that 1 of the 10 Peoples had issues and could not connect at all.

So Server Problems should be excluded right?
Router from that friend aswell. I think AVG Anti Virus maybe is blocking connection?

Which Ports must be open on Client Side?

Coturn?
My config shows this ( i had changed them few month ago):

// The STUN servers that will be used in the peer to peer connections
        stunServers: [
            { urls: 'stun.1und1.de:3478' },
            { urls: 'stun.t-online.de:3478' },
            { urls: 'stun.nextcloud.com:443' }
        ],

and:

   // Use XEP-0215 to fetch STUN and TURN servers.
    // useStunTurn: true,

turn is not active or … Sorry. I don’t understand i think

yes that’s probably the case - it’s why I advised you to check it on the problematic workstations.
coturn can be set up see here
turn is a general solution that will solve the problem for blocked ports, however if you have only a few affected people you may consider solving the problem at the firewall level, it will be more efficient as UDP is best performance wise.

1 Like

Thank you. I will consider that. But the manual says:

One-to-one calls should avoid going through the JVB for optimal performance and for optimal resource usage. This is why we’ve added the peer-to-peer mode where the two participants connect directly to each other. Unfortunately, a direct connection is not always possible between the participants. In those cases you can use a TURN server to relay the traffic (n.b. the JVB does much more than just relay the traffic, so this is not the same as using the JVB to “relay” the traffic).

I turned p2p off per default, to prevent Problems, but my main Problem is many users ~5-10 Users.
One of them having Problems often.

Should i still follow the Article you send me? Is that all or do I need a second server?
Is this article only about forcing the turn thing to Port 443? If so, thats a good Idea. I understand than that Clients often have 443 open but not higher other Ports. Am i right?

Just in Case:

  • My Server Firewall has Port 443 open already:

          root@meeting:~# ufw status
          Status: active
          To                         Action      From
          --                         ------      ----
          OpenSSH                    ALLOW       Anywhere                  
          80/tcp                     ALLOW       Anywhere                  
          443/tcp                    ALLOW       Anywhere                  
          10000:20000/udp            ALLOW       Anywhere                  
          4443/tcp                   ALLOW       Anywhere                  
          3478/udp                   ALLOW       Anywhere                  
          5349/tcp                   ALLOW       Anywhere  
    
  • I have nextcloud stun Server on 443 Port.
    Isn’t that enough? Do i have to create nginx conf aswell?

coturn can be used for stun protocol or turn protocol. In this case it’s about turn protocol. Yes, the article is about using port 443 only (it port 10000 is not usable). And you don’t need a second server, you only need another DNS entry for the turn server, as the switch between turn and jitsi is handled through the server name. Both DNS entries can point to the same IP address. If you use Let’sEncrypt it’s very much possible to have the 2 names on the same certificate (that’s what default Jitsi setup is doing)

Hum, basically turn is not enabled for the guest domain, there is a fix in stable for that. You can put the turncrentials module under guest and see how it goes. Bit yeah the logs show the client cannot reach jvb.

Hi, thank you! How to enable that for Guest? Is there any Article for that?
And what do you mean with Stable? Isn’t this a stable Version? I already made updates today (and jitsi had no new updates today or last days) if i missing somthing, please give me a hint.

Thank you alot!

the hostname i didn’t changed DNS for guest Domain, correct?

Here my NGINX.conf btw:
server_names_hash_bucket_size 64;

server {
    if ($host = meeting.HOSTNAME.de) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name meeting.HOSTNAME.de;
    return 301 https://$host$request_uri;


}
server {
    listen 443 ssl;
    server_name meeting.HOSTNAME.de;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED";

    add_header Strict-Transport-Security "max-age=31536000";
    ssl_certificate /etc/letsencrypt/live/meeting.HOSTNAME.de/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/meeting.HOSTNAME.de/privkey.pem; # managed by Certbot

    root /usr/share/jitsi-meet;
    ssi on;
    index index.html index.htm;
    error_page 404 /static/404.html;

    location = /config.js {
        alias /etc/jitsi/meet/meeting.HOSTNAME.de-config.js;
    }

    location = /external_api.js {
        alias /usr/share/jitsi-meet/libs/external_api.min.js;
    }

    #ensure all static content can always be found first
    location ~ ^/(libs|css|static|images|fonts|lang|sounds|connection_optimization|.well-known)/(.*)$
    {
        add_header 'Access-Control-Allow-Origin' '*';
        alias /usr/share/jitsi-meet/$1/$2;
    }

    # BOSH
    location = /http-bind {
        proxy_pass      http://localhost:5280/http-bind;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $http_host;
    }

    location ~ ^/([^/?&:'"]+)$ {
        try_files $uri @root_path;
    }

    location @root_path {
        rewrite ^/(.*)$ / break;
    }


}

I mean unstable, sorry, not enough coffee :slight_smile:

Nope, but you enabled the guest and that one does not have turncredentials enabled look at your prosody config.

In latest unstable you will not need that, this is what I mean.

1 Like

How to enable unstable, with my own risk and hopefully less Problems :smiley: ?
Or better: How enable turncredentials for guest Domain?
I am looking and searching few hours now and … don’t really understand everything. Long time ago i installed that Jitsi Server, sorry :-S

Share your prosody config masking whatever is not relevant as domain and secrets if any, please.

1 Like
cat /etc/prosody/conf.avail/meeting.HOSTNAME.de.cfg.lua
-- Plugins path gets uncommented during jitsi-meet-tokens package install - that's where token plugin is located
--plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/" }

VirtualHost "meeting.HOSTNAME.de"
        -- enabled = false -- Remove this line to enable this host
        authentication = "internal_plain"
        -- Properties below are modified by jitsi-meet-tokens package config
        -- and authentication above is switched to "token"
        --app_id="example_app_id"
        --app_secret="example_app_secret"
        -- Assign this host a certificate for TLS, otherwise it would use the one
        -- set in the global section (if any).
        -- Note that old-style SSL on port 5223 only supports one certificate, and will always
        -- use the global one.
        ssl = {
                key = "/etc/prosody/certs/meeting.HOSTNAME.de.key";
                certificate = "/etc/prosody/certs/meeting.HOSTNAME.de.crt";
        }
        -- we need bosh
        modules_enabled = {
            "bosh";
            "pubsub";
            "ping"; -- Enable mod_ping
        }

        c2s_require_encryption = false

Component "conference.meeting.HOSTNAME.de" "muc"
    storage = "none"
    --modules_enabled = { "token_verification" }
admins = { "focus@auth.meeting.HOSTNAME.de" }

Component "jitsi-videobridge.meeting.HOSTNAME.de"
    component_secret = "XXXXXXXX"

VirtualHost "auth.meeting.HOSTNAME.de"
    ssl = {
        key = "/etc/prosody/certs/auth.meeting.HOSTNAME.de.key";
        certificate = "/etc/prosody/certs/auth.meeting.HOSTNAME.de.crt";
    }
    authentication = "internal_plain"

Component "focus.meeting.HOSTNAME.de"
    component_secret = "XXXXXXXX"

VirtualHost "guest.meeting.HOSTNAME.de"
    authentication = "anonymous"
    c2s_require_encryption = false

Component "internal.auth.meeting.HOSTNAME.de" "muc"
    storage = "none"
    modules_enabled = { "ping"; }
    admins = { "focus@auth.meeting.HOSTNAME.de", "jvb@auth.meeting.HOSTNAME.de" }

Thank you for taking care. :slight_smile:

Well according to this turn is not enabled at all. Hum, is coturn running at all on your server?

1 Like

uhm, i must admit, no?

# service coturn status
Unit coturn.service could not be found.

I had followed many tutorials in past, i can’t remeber anything telling me something about “coturn”

service turnserver status

# service turnserver status
Unit turnserver.service could not be found.

Official Docs not telling much in my opinion.
Manual Install instruction of Jitsi also nothing relevant.

I found an other Article written from you: https://meetrix.io/blog/webrtc/jitsi/setting-up-a-turn-server-for-jitsi-meet.html Can i follow that Guide? If yes: Whats definition of the Secret? Can i just choose a random letter / number for that value?

And must i enable p2p at the end? Or can i keep it disabled? p2p made many Problems. I rather would keep this off. So i only will activate:

  useStunTurn: true, // Using Turn Server with JVB

EDIT:

Uhm okay :slight_smile:

i did following now:

  1. One Site told, “running # sudo apt install jitsi-meet-turnserver would make everything automatically”.
    I don’t belive that. Seems like it had missing some parts. So i went further:

  2. Edit following configs:

nano /etc/prosody/conf.d/meeting.HOSTNAME.cfg.lua
added turncredentials

 modules_enabled = {
            "turncredentials";
        }

in that Part.
also

VirtualHost "guest.meeting.HOSTNAME.de"
    authentication = "anonymous"
    c2s_require_encryption = false

         modules_enabled = {
            "turncredentials";
        }
  1. nano /etc/jitsi/jicofo/sip-communicator.properties
    inserted:

org.jitsi.videobridge.DISABLE_TCP_HARVESTER=true

  1. nano /etc/jitsi/meet/meeting.HOSTNAME.de-config.js
    uncommented:

    // Use XEP-0215 to fetch STUN and TURN servers.
    useStunTurn: true, //aktiviert 17. Dezember

  2. Restarted every Services

    service jicofo restart
    service prosody restart
    service jitsi-videobridge2 restart

hopefully i am not missing anything. I made a three Men Conference and it seems working everything. One of the Person was the one, which didn’t worked out today!

:slight_smile: If this was correct, thank you for all the help!

secret is shared secret between prosody and coturn.

I have not followed that guide, so I cannot tell you whether it will work or not, you can try …

Default new installation comes with turnserver pre-configured, you may try that on a test machine and transfer the configs … and very important is that the turnserver has the correct certificate for the domain you use for it.

Probably you had problems with p2p because there was no turn. You will need turn for connecting to the bridge only if UDP is disabled in client network.

1 Like

HI, that was my guide, i noted down, exact steps i did.
Seems working now.

But some Customer from GUESTWLAN (usually only port 80, 443 open) was not able to connect.
Same Problem right? High Ports blocking Problem i assume?

Therefore i installed complete new Jitsi Server. Still not working out from Guest WLAN. What am i missing?