Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video Quality Impaired - The bridge Channel has been disconnect #1599

Closed
iarlemozaga opened this issue Sep 11, 2023 · 55 comments
Closed

Video Quality Impaired - The bridge Channel has been disconnect #1599

iarlemozaga opened this issue Sep 11, 2023 · 55 comments

Comments

@iarlemozaga
Copy link

Hello, I'm using Jitsi Docker Version 8922

When its only 2 people connected it pops up everytime the message:

Video Quality Impaired - The bridge Channel has been disconnect

And when there are more than 2 people, the connection it pops up the same alert and everyone lost the video, screenshare and audio.

Does someone knows how to fix that? I already editted my .env added my domain, I'm also forwarding the ports

I've noticed a warning in the logs

docker-jitsi-meet-stable-8922-jvb-1: AllocationSettingsWrapper.setBandwidthAllocationSettings#174: Ignoring assumed-bandwidth-bps, not allowed in config.

Does someone had the same issue? I already tried to find something but no success

@saghul
Copy link
Member

saghul commented Sep 11, 2023

The problem is caused by the users not being able to reach the JVB. Did you set JVB_ADVERTISED_IPS to a correct value?

@iarlemozaga
Copy link
Author

I'm running into a VPS with public ip, I did set the JVB_ADVERTISED_IPS to the public ip, should I set to a different one?

@saghul
Copy link
Member

saghul commented Sep 12, 2023

That should be ok. Is port 10000 filtered somehow?

@iarlemozaga
Copy link
Author

I'm using behind Nginx Proxy Manager, I'm forwarding the 8000 and using SSL with nginx, the ports are openned also in the Firewall, 10000 its openned too

@saghul
Copy link
Member

saghul commented Sep 12, 2023

Port 10000 needs to be open for UDP traffic too, is that the case?

@iarlemozaga
Copy link
Author

Port 10000 Its already openned

@saghul
Copy link
Member

saghul commented Sep 12, 2023

Then we need the browser console logs to further diagnose.

@iarlemozaga
Copy link
Author

Error: 2023-09-12T18:02:08.554Z [modules/RTC/BridgeChannel.js] <e.onclose>: Channel closed: 1001 endpoint closed

Warning: MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 rtc.forwarded_sources_changed listeners added. Use emitter.setMaxListeners() to increase limit

@saghul
Copy link
Member

saghul commented Sep 12, 2023

Check the network tab to see the WS connection attempt.

@iarlemozaga
Copy link
Author

Is that tab?

image

@iarlemozaga
Copy link
Author

image

@saghul
Copy link
Member

saghul commented Sep 14, 2023

Yes. I think it might be triggered by an ICE failure.

Can you please share the full JS console logs?

@iarlemozaga
Copy link
Author

I'm trying to find where it is this full JS logs. Is it that?

image

@saghul
Copy link
Member

saghul commented Sep 23, 2023

Are you using some kind of reverse proxy?

@iarlemozaga
Copy link
Author

Yes, as I said before I'm using Nginx Proxy Manager (also in docker) that version that we use a web GUI.

I checked and I'm using the 8000 port to http to my jitsi and also I enabled websocket support.

Also my domain is from Cloudflare, do you know if maybe is there some config to adjust there?

I saw that in jitsi doc only there is a thing talking about reversy proxy but using the manually bare metal nginx and nothing about Nginx Proxy Manager docker (https://nginxproxymanager.com)

@saghul
Copy link
Member

saghul commented Sep 23, 2023

Sorry I had missed the context.

I have no experience with nginx proxy manager.

You can turn off colibri WS and enable SCTP, that should work.

@iarlemozaga
Copy link
Author

iarlemozaga commented Sep 24, 2023

Thank you, I saw in the Documentation this settings:

ENABLE_SCTP=1
ENABLE_COLIBRI_WEBSOCKET=0
ENABLE_XMPP_WEBSOCKET=0

Where should I add that? I'm using docker version

@saghul
Copy link
Member

saghul commented Sep 24, 2023

In your .env file

@iarlemozaga
Copy link
Author

I added in the .env But I had the same problem showed in the js logs

@saghul
Copy link
Member

saghul commented Sep 25, 2023

Can you please share the full logs?

@iarlemozaga
Copy link
Author

How can I get the full logs?

Update: deleted everything and rebuild with the latest version and the got the same problem

@saghul
Copy link
Member

saghul commented Oct 6, 2023

The full JS console logs.

@iarlemozaga
Copy link
Author

iarlemozaga commented Oct 11, 2023

I'm trying to but I don't know how.

How can I get the full JS console logs? isnt it that logs I've sent before?

@saghul
Copy link
Member

saghul commented Oct 11, 2023

In that screen, select all log levels and copy the text.

@symgryph
Copy link

logs:

docker-jitsi-meet-prosody-1  | 2023-10-21 20:16:01 c2s55708054a090                                              info	Client connected
docker-jitsi-meet-prosody-1  | 2023-10-21 20:16:02 c2s55708054a090                                              info	Authenticated as [email protected]
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.280 INFO: [43] ConferenceIqHandler.handleConferenceIq#85: Conference request for room [email protected], from [email protected]/wbq77OdG-EVz
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.396 INFO: [43] [xmpp_connection=client] XmppProvider.discoverFeatures#248: Discovered features for [email protected]/a9efe561 in 0 ms.
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.397 INFO: [43] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] JitsiMeetConferenceImpl.onMemberJoined#728: Member joined:a9efe561 stats-id=Ezekiel-H3K region=null audioMuted=true videoMuted=true role=PARTICIPANT isJibri=false isJigasi=false isTranscriber=false, room=main
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.397 INFO: [43] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] JitsiMeetConferenceImpl.inviteChatMember#790: Creating participant 820c2b6e with features=[XMPP_CAPS, JSON_SOURCES, RECEIVE_MULTIPLE_STREAMS, REMB, SOURCE_NAMES, TCC, VISITORS_V1, E2EE, RTX, JINGLE, DTLS, JINGLE_RTP, AUDIO, VIDEO, SCTP, JINGLE_ICE, RAYO]
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.398 INFO: [43] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] JitsiMeetConferenceImpl.inviteChatMember#790: Creating participant a9efe561 with features=[XMPP_CAPS, JSON_SOURCES, RECEIVE_MULTIPLE_STREAMS, REMB, SOURCE_NAMES, TCC, VISITORS_V1, RTX, JINGLE, DTLS, JINGLE_RTP, AUDIO, VIDEO, SCTP, JINGLE_ICE, RAYO]
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.399 INFO: [44] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] ColibriV2SessionManager.allocate#276: Allocating for 820c2b6e
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.399 INFO: [44] BridgeSelectionStrategy.select#114: Selected initial bridge Bridge[[email protected]/8c817ce15e2a, version=2.3.44-g8983b11f, relayId=null, region=null, stress=0.00] with reported stress=0.0 for participantProperties=ParticipantProperties(region=null, visitor=false) using strategy SingleBridgeSelectionStrategy
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.400 INFO: [46] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] ColibriV2SessionManager.allocate#276: Allocating for a9efe561
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.400 INFO: [44] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] ColibriV2SessionManager.allocate#322: Selected 8c817ce15e2a, session exists: false
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.401 INFO: [46] BridgeSelectionStrategy.select#127: Existing bridge does not have a relay, will not consider other bridges.
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.401 INFO: [46] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] ColibriV2SessionManager.allocate#322: Selected 8c817ce15e2a, session exists: true
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.409 INFO: [30] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00] EndpointConnectionStatusMonitor.start#58: Starting connection status monitor
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.410 INFO: [30] Videobridge.createConference#283: create_conf, id=50ec61216d4a45e9 meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.413 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e local_ufrag=a3cko1hdaf83fc ufrag=a3cko1hdaf83fc] Agent.gatherCandidates#647: Gathering candidates for component stream-820c2b6e.RTP.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.425 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e] Endpoint.<init>#334: Created new endpoint isUsingSourceNames=true, iceControlling=true
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.431 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 local_ufrag=d43jg1hdaf83fu ufrag=d43jg1hdaf83fu] Agent.gatherCandidates#647: Gathering candidates for component stream-a9efe561.RTP.
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.435 INFO: [44] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe participant=820c2b6e] ParticipantInviteRunnable.doInviteOrReinvite#386: Sending session-initiate to: [email protected]/820c2b6e sources={jvb=[audio=[575684608], video=[2197643558], groups=[]]}
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.438 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561] Endpoint.<init>#334: Created new endpoint isUsingSourceNames=true, iceControlling=true
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:02.446 INFO: [46] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe participant=a9efe561] ParticipantInviteRunnable.doInviteOrReinvite#386: Sending session-initiate to: [email protected]/a9efe561 sources={jvb=[audio=[575684608], video=[2197643558], groups=[]]}
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.645 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8] AllocationSettingsWrapper.setBandwidthAllocationSettings#174: Ignoring assumed-bandwidth-bps, not allowed in config.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.648 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8] AllocationSettingsWrapper.setBandwidthAllocationSettings#174: Ignoring assumed-bandwidth-bps, not allowed in config.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:02.649 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8] AllocationSettingsWrapper.setBandwidthAllocationSettings#174: Ignoring assumed-bandwidth-bps, not allowed in config.
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:03.344 INFO: [46] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe participant=a9efe561] Participant$JingleRequestHandlerImpl.onSessionOrTransportAccept#474: Received session-accept
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:03.346 INFO: [46] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] ColibriV2SessionManager.updateParticipant#548: Updating a9efe561 with transport=org.jitsi.xmpp.extensions.jingle.IceUdpTransportPacketExtension@31fe52c, sources=[audio=[4136810578], video=[921552061, 2989166995, 3273004608, 1400283641, 285635843, 4199804272], groups=[FID[921552061, 2989166995], SIM[921552061, 3273004608, 1400283641], FID[3273004608, 285635843], FID[1400283641, 4199804272]]]
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:03.346 INFO: [46] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] JitsiMeetConferenceImpl.acceptSession#1318: Accepted initial sources from a9efe561: [audio=[4136810578], video=[921552061, 2989166995, 3273004608, 1400283641, 285635843, 4199804272], groups=[FID[921552061, 2989166995], SIM[921552061, 3273004608, 1400283641], FID[3273004608, 285635843], FID[1400283641, 4199804272]]]
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:03.352 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 stats_id=Ezekiel-H3K] DtlsTransport.setSetupAttribute#126: The remote side is acting as DTLS client, we'll act as server
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:03.352 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 stats_id=Ezekiel-H3K local_ufrag=d43jg1hdaf83fu] IceTransport.startConnectivityEstablishment#204: Starting the Agent without remote candidates.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:03.353 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 stats_id=Ezekiel-H3K local_ufrag=d43jg1hdaf83fu ufrag=d43jg1hdaf83fu] Agent.startConnectivityEstablishment#736: Start ICE connectivity establishment.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:03.353 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 stats_id=Ezekiel-H3K local_ufrag=d43jg1hdaf83fu ufrag=d43jg1hdaf83fu] Agent.initCheckLists#972: Init checklist for stream stream-a9efe561
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:03.354 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 stats_id=Ezekiel-H3K local_ufrag=d43jg1hdaf83fu ufrag=d43jg1hdaf83fu] Agent.setState#946: ICE state changed from Waiting to Running.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:03.355 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 stats_id=Ezekiel-H3K local_ufrag=d43jg1hdaf83fu] IceTransport.iceStateChanged#347: ICE state changed old=Waiting new=Running
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:03.355 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 stats_id=Ezekiel-H3K local_ufrag=d43jg1hdaf83fu ufrag=d43jg1hdaf83fu] ConnectivityCheckClient.startChecks#147: Start connectivity checks.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:03.473 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=a9efe561 stats_id=Ezekiel-H3K] AllocationSettingsWrapper.setBandwidthAllocationSettings#174: Ignoring assumed-bandwidth-bps, not allowed in config.
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:05.031 INFO: [44] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe participant=820c2b6e] Participant$JingleRequestHandlerImpl.onSessionOrTransportAccept#474: Received session-accept
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:05.032 INFO: [44] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] ColibriV2SessionManager.updateParticipant#548: Updating 820c2b6e with transport=org.jitsi.xmpp.extensions.jingle.IceUdpTransportPacketExtension@4c0bef5d, sources=[audio=[4289758838], video=[2663303376, 1911568358, 2833703446, 2688060195, 1273035399, 776020876], groups=[FID[2663303376, 1911568358], SIM[2663303376, 2833703446, 2688060195], FID[2833703446, 1273035399], FID[2688060195, 776020876]]]
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:05.033 INFO: [44] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] JitsiMeetConferenceImpl.acceptSession#1318: Accepted initial sources from 820c2b6e: [audio=[4289758838], video=[2663303376, 1911568358, 2833703446, 2688060195, 1273035399, 776020876], groups=[FID[2663303376, 1911568358], SIM[2663303376, 2833703446, 2688060195], FID[2833703446, 1273035399], FID[2688060195, 776020876]]]
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:05.036 INFO: [44] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe participant=820c2b6e] Participant.sendQueuedRemoteSources#352: Sending a queued source-add, sources={a9efe561=[audio=[4136810578], video=[921552061, 2989166995], groups=[FID[921552061, 2989166995]]]}
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:05.036 INFO: [19] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe participant=a9efe561] Participant.sendQueuedRemoteSources#352: Sending a queued source-add, sources={820c2b6e=[audio=[4289758838], video=[2663303376, 1911568358], groups=[FID[2663303376, 1911568358]]]}
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:05.038 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8] DtlsTransport.setSetupAttribute#126: The remote side is acting as DTLS client, we'll act as server
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:05.039 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8 local_ufrag=a3cko1hdaf83fc] IceTransport.startConnectivityEstablishment#204: Starting the Agent without remote candidates.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:05.039 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8 local_ufrag=a3cko1hdaf83fc ufrag=a3cko1hdaf83fc] Agent.startConnectivityEstablishment#736: Start ICE connectivity establishment.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:05.040 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8 local_ufrag=a3cko1hdaf83fc ufrag=a3cko1hdaf83fc] Agent.initCheckLists#972: Init checklist for stream stream-820c2b6e
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:05.040 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8 local_ufrag=a3cko1hdaf83fc ufrag=a3cko1hdaf83fc] Agent.setState#946: ICE state changed from Waiting to Running.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:05.041 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8 local_ufrag=a3cko1hdaf83fc] IceTransport.iceStateChanged#347: ICE state changed old=Waiting new=Running
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:05.041 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8 local_ufrag=a3cko1hdaf83fc ufrag=a3cko1hdaf83fc] ConnectivityCheckClient.startChecks#147: Start connectivity checks.
docker-jitsi-meet-jvb-1      | JVB 2023-10-21 20:16:05.084 INFO: [79] [confId=50ec61216d4a45e9 conf_name[email protected] meeting_id=8036ac00 epId=820c2b6e stats_id=Velda-5V8] AllocationSettingsWrapper.setBandwidthAllocationSettings#174: Ignoring assumed-bandwidth-bps, not allowed in config.
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:05.160 INFO: [46] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe] ColibriV2SessionManager.updateParticipant#548: Updating 820c2b6e with transport=null, sources=[audio=[4289758838], video=[2663303376, 1911568358, 2833703446, 2688060195, 1273035399, 776020876, 1038526, 1125964066, 1309271368, 1435316427, 2101950231, 2930369193], groups=[FID[2663303376, 1911568358], SIM[2663303376, 2833703446, 2688060195], FID[2833703446, 1273035399], FID[2688060195, 776020876], FID[1038526, 1435316427], SIM[1038526, 2101950231, 2930369193], FID[2101950231, 1125964066], FID[2930369193, 1309271368]]]
docker-jitsi-meet-jicofo-1   | Jicofo 2023-10-21 20:16:05.161 INFO: [14] [room[email protected] meeting_id=8036ac00-542a-4b51-b238-281b2031c0fe participant=a9efe561] Participant.sendQueuedRemoteSources#352: Sending a queued source-add, sources={820c2b6e=[audio=[], video=[1038526, 1435316427], groups=[FID[1038526, 1435316427]]]}
docker-jitsi-meet-web-1      | 68.93.137.145 - - [21/Oct/2023:20:16:05 -0500] "GET /xmpp-websocket?room=1st HTTP/2.0" 200 367 "https://video.munn.me/1st" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
docker-jitsi-meet-jibri-1    | Jibri 2023-10-21 20:16:44.909 FINE: [20] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

@mark76ped
Copy link

mark76ped commented Oct 31, 2023

I fixed my issue with this by adding port forwarding between my docker host server and my VPS proxy, as well as changing some values in my .env file.
My setup my be different, but I have a Wireguard tunnel from my on prem server to the cloud 10.99.99.1 and 10.99.99.2 for example.

Ubuntu Server Docker Host:

sudo iptables -t nat -A PREROUTING -p udp --dport 4443 -j DNAT --to <IP of my Proxy Host Server>:4443
sudo iptables -t nat -A PREROUTING -p udp --dport 8080 -j DNAT --to <IP of my Proxy Host Server>:8080
sudo iptables -t nat -A PREROUTING -p udp --dport 8443 -j DNAT --to <IP of my Proxy Host Server>:8443
sudo iptables -t nat -A PREROUTING -p udp --dport 10000 -j DNAT --to <IP of my Proxy Host Server>:10000

Ubuntu Server Proxy Host in the Cloud:

sudo iptables -t nat -A PREROUTING -p udp --dport 4443 -j DNAT --to <IP of my Docker Host Server>:4443
sudo iptables -t nat -A PREROUTING -p udp --dport 8080 -j DNAT --to <IP of my Docker Host Server>:8080
sudo iptables -t nat -A PREROUTING -p udp --dport 8443 -j DNAT --to <IP of my Docker Host Server>:8443
sudo iptables -t nat -A PREROUTING -p udp --dport 10000-j DNAT --to <IP of my Docker Host Server>:10000

Also check to make sure you iptables docker chain include rules to allow such traffic:

Chain DOCKER (2 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             172.23.0.2           tcp dpt:https
ACCEPT     tcp  --  anywhere             172.23.0.2           tcp dpt:81
ACCEPT     tcp  --  anywhere             172.23.0.2           tcp dpt:http
ACCEPT     udp  --  anywhere             172.23.0.2           udp dpt:10000
ACCEPT     udp  --  anywhere             172.23.0.2           udp dpt:8080

///output from '$docker ps' on my on perm Docker Host Server
CONTAINER ID   IMAGE                         COMMAND      CREATED       STATUS                 PORTS                                                                                                                 NAMES
<container ID> jitsi/jicofo:stable-8960-1    "/init"      2 hours ago   Up 2 hours             127.0.0.1:8888->8888/tcp                                                                                              docker-jitsi-meet-stable-8960-1-jicofo-1
<container ID> jitsi/jvb:stable-8960-1       "/init"      2 hours ago   Up 2 hours             127.0.0.1:8080->8080/tcp, 0.0.0.0:10000->10000/udp, :::10000->10000/udp                                               docker-jitsi-meet-stable-8960-1-jvb-1
<container ID> jitsi/web:stable-8960-1       "/init"      2 hours ago   Up 2 hours             0.0.0.0:8000->80/tcp, :::8000->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp                                        docker-jitsi-meet-stable-8960-1-web-1
<container ID> jitsi/prosody:stable-8960-1   "/init"      2 hours ago   Up 2 hours             5222/tcp, 5280/tcp, 5347/tcp                                                                                          docker-jitsi-meet-stable-8960-1-prosody-1

.env file changes:

PUBLIC_URL=10.99.99.1
JVB_ADVERTISE_IPS=<docker container jvb ip>,10.99.99.2<host IP on perm server>,10.99.99.1<host IP on cloud server>,<all public IPs from in front of and behind my Cloudflare proxy>
JVB_STUN_SERVERS=stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,meet-jit-si-turnrelay.jitsi.net:443,stun.nextcloud.com:443,stun.1und1.de:3478,stun.gmx.de:3478,stun.hosteurope.de:3478

@iarlemozaga
Copy link
Author

I use UFW, the ports are already openned but nothing works. How could you use the docker jvb ip if it changes everytime when the container restart?

I just tried with the new jitsi version 9111 that says the went fixed the ws-colibri. But I have the same issue.

@mark76ped
Copy link

On the server you have the Nginx-Proxy-Manager on; what does your PREROUTING iptable look like?
sudo iptables -t nat -L PREROUTING -n -v

The IP changing on the jvb doesn't matter if the routing is set up correctly. What does your ip route look like?

@mark76ped
Copy link

mark76ped commented Dec 21, 2023

But I'm running into a VPS, I use the public ip to redirect in the Nginx Proxy Manager docker.

Is the Jitsi server also the same VPS or on another server/container? If so, add that IP also to your JVB IP config as you did earlier.
If you're running your Jitsi server on another server, you'll need to configure PREROUTING from the VPS to your Jitsi server on port 10000.

sudo iptables -t nat -A PREROUTING -p udp --dport 4443 -j DNAT --to <IP of your Jitsi host Server>:4443
sudo iptables -t nat -A PREROUTING -p udp --dport 8080 -j DNAT --to <IP of your Jitsi host Server>:8080
sudo iptables -t nat -A PREROUTING -p udp --dport 8443 -j DNAT --to <IP of your Jitsi host Server>:8443
sudo iptables -t nat -A PREROUTING -p udp --dport 10000-j DNAT --to <IP of your Jitsi host Server>:10000

@keesfluitman
Copy link

keesfluitman commented Jan 3, 2024

@iarlemozaga
i had it working. Now suddenly it stopped working again too. I have no idea why.

01/03/2024 10:17:22 PM JVB 2024-01-03 22:17:22.894 SEVERE: [17] [confId=8ec0d28e8ef92a2c [email protected] meeting_id=8fd4ad60 epId=2b7a07c0 stats_id=Franco-el1] Endpoint.scheduleEndpointMessageTransportTimeout$lambda$30#702: EndpointMessageTransport still not connected.

I downed all containers, did a docker-compose up -d again, and now it works? don't ask me!
01/03/2024 10:29:34 PM JVB 2024-01-03 22:29:34.915 INFO: [74] [confId=e3729871a9e6175 [email protected] meeting_id=29210b7d epId=df09c056 stats_id=Adrian-lZ2] TlsServerImpl.notifyClientVersion#210: Negotiated DTLS version DTLS 1.2 01/03/2024 10:29:34 PM JVB 2024-01-03 22:29:34.921 INFO: [78] [confId=e3729871a9e6175 [email protected] meeting_id=29210b7d epId=df09c056 stats_id=Adrian-lZ2] AllocationSettingsWrapper.setBandwidthAllocationSettings#174: Ignoring assumed-bandwidth-bps, not allowed in config. 01/03/2024 10:29:34 PM JVB 2024-01-03 22:29:34.939 INFO: [50] [confId=e3729871a9e6175 [email protected] meeting_id=29210b7d epId=5dd94249 stats_id=Adrian-lZ2] Endpoint$setupDtlsTransport$3.handshakeComplete#425: DTLS handshake complete 01/03/2024 10:29:34 PM JVB 2024-01-03 22:29:34.940 INFO: [74] [confId=e3729871a9e6175 [email protected] meeting_id=29210b7d epId=df09c056 stats_id=Adrian-lZ2] Endpoint$setupDtlsTransport$3.handshakeComplete#425: DTLS handshake complete 01/03/2024 10:29:34 PM JVB 2024-01-03 22:29:34.996 INFO: [79] JitsiOpenSslProvider.<clinit>#52: jitsisrtp successfully loaded for OpenSSL 1.1 01/03/2024 10:29:35 PM JVB 2024-01-03 22:29:35.003 INFO: [79] Aes.createCipher#433: Will employ AES implemented by OpenSSL for AES/GCM/NoPadding. 01/03/2024 10:29:35 PM JVB 2024-01-03 22:29:35.004 INFO: [80] Aes.createCipher#433: Will employ AES implemented by OpenSSL for AES/CTR/NoPadding.

contact me personally if you wanna chat about it.

@Fopsala
Copy link

Fopsala commented Jan 8, 2024

In my setup I used nginx-rproxy in front of docker-jitsi-meet. I had the same issue like described in the title with every account using my jitsi instance, after updating from stable-8960-1 to stable-9111. The Console at the developer tools showed issues with colibri-ws. So I switched from using websockets to SCTP. This solved the issue, but few accounts were disconnected every few seconds. So I reactivated using websockets und disabled using sctp again and configured a websocket like described here but instead of addressing proxy_pass https://localhost:8443; I target http://jvb:9090, so I'm bypassing jitsi-meet-web and accessing jvb directly from the rproxy. Idea is taken from #1531. That also solved the issue described at the title. If it also solves the disconnecting of Chrome/Jitsi-Meet-Desktop-APPs will be shown tomorrow...

@hamletmun
Copy link

Probably you could upgrade to stable-9111 and use the old regular expression
However, it is considered unsafe now (see #1645)
COLIBRI_WEBSOCKET_REGEX="[a-zA-Z0-9-\._]+"

@iarlemozaga
Copy link
Author

Probably you could upgrade to stable-9111 and use the old regular expression However, it is considered unsafe now (see #1645) COLIBRI_WEBSOCKET_REGEX="[a-zA-Z0-9-\._]+"

I already did a fresh install with this new version 9111 and the same error persists

@saghul
Copy link
Member

saghul commented Jan 30, 2024

What changes do you make in your deployment? How are you deploying this? Is there any proxy involved?

@arianox
Copy link

arianox commented Feb 2, 2024

For me, it always seems to work the first time I start the Docker containers. But when I shut down the containers and start them up again, I get exactly this error.

Version: stable-9220-1

@iarlemozaga
Copy link
Author

What changes do you make in your deployment? How are you deploying this? Is there any proxy involved?

I'm using the same way since beginning

Jitsi in docker version behing Nginx proxy manager (also docker)

I already tried to add the nginx proxy manager network in the jitsi compose to make sure that they dont loose connection but nothing changes.

I already tried rebooting machine, cleaning all volumes and settings but only jitsi dont work, the same

Video Quality Impaired error persists and the connection stop immediatly when a 3rd person enter in the call.

@iarlemozaga
Copy link
Author

You can try accessing: https://meet.mozaga.org

@saghul
Copy link
Member

saghul commented Feb 3, 2024

Are you adding rules or whatever is necessary to properly proxy the /colibri-ws route using WebSocket?

@amsnek
Copy link

amsnek commented Feb 6, 2024

on a custom setup, I have the same error message but screensharing/video/audio works normaly
AllocationSettingsWrapper.setBandwidthAllocationSettings#174: Ignoring assumed-bandwidth-bps, not allowed in config.

I did now set the environment Variable:JVB_ADVERTISED_IPS in the env that the videobridge runs in (?), assuming that is correct -> but that had no effect on the error message.

@iarlemozaga
Copy link
Author

Are you adding rules or whatever is necessary to properly proxy the /colibri-ws route using WebSocket?

Yes I did, and nothing changes, the same error persists. I also tried to use another domain to make sure that my domain dont affect but nothing changed again.

@BifbofII
Copy link
Contributor

BifbofII commented Feb 9, 2024

I don't know if this is the same issue that people are having here, but adding depends_on: - jvb in the docker-compose.yml for the web container fixed these symptoms (colibri websocket connection error) for me. The web container runs dig jvb during startup to set up a forwarding route for colibri traffic to the jvb container. However, if jvb is not up yet or an old version is still up, this might leave the ip in the route being wrong. So waiting with starting the web container until jvb is up fixes this issue.

@winguse
Copy link

winguse commented Feb 9, 2024

I am seeing the same error, but my case is a little different than this. I am seeing the colibri-ws url is pointing to something like /colibri-ws//746b5d64c4e468c4/1729ce5a, which the target jvb ip is empty. I am trying to find why it's empty.

@saghul
Copy link
Member

saghul commented Feb 9, 2024

Check the JVB container logs, paste them here please.

@juhojama
Copy link

juhojama commented Feb 16, 2024

Getting the same errors. With two clients connected, after a while the UI says "Video Quality Impaired". When 3rd client connects it crashes for everyone.

JVB container warning logs @saghul :

$ docker compose logs jvb | grep "WARNING"
jvb  | JVB 2024-02-16 09:57:17.370 WARNING: [19] MucClient.createXMPPTCPConnectionConfiguration#117: Disabling certificate verification!
jvb  | JVB 2024-02-16 09:57:18.814 WARNING: [1] ColibriWebSocketService.<init>#51: Websockets enabled, but no domains specified: URLs=[wss://jitsi.example.com/colibri-ws/172.29.0.3], Relay URLs=[]
jvb  | JVB 2024-02-16 09:57:24.517 WARNING: [1] org.glassfish.jersey.server.wadl.WadlFeature.configure: JAXBContext implementation could not be found. WADL feature is disabled.
jvb  | JVB 2024-02-16 09:57:25.219 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.Health registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.Health will be ignored. 
jvb  | JVB 2024-02-16 09:57:25.221 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.Version registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.Version will be ignored. 
jvb  | JVB 2024-02-16 09:57:25.222 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime: A provider org.jitsi.rest.prometheus.Prometheus registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.rest.prometheus.Prometheus will be ignored. 
jvb  | JVB 2024-02-16 09:58:49.989 WARNING: [49] [confId=9b4a2c0c5bece33a [email protected] meeting_id=defa1cc6] Conference.lambda$new$0#246: Took 1549 ms to process an IQ (total delay 1675 ms): <iq xmlns='jabber:client' to='[email protected]/gTQoWIwl6f1o' from='[email protected]/focus' id='anZiQGF1dGgubWVldC5qaXRzaS9nVFFvV0l3bDZmMW8AUUFVQ0ctOAAfhOfBgrjyyg==' type='get'><conference-modify xmlns='jitsi:colibri2' meeting-id='defa1cc6-1b48-4832-bc4d-443323e16e97' name='[email protected]' rtcstats-enabled='false' create='true'><endpoint stats-id='Hannah-SIG' create='true' id='7f5d957b'><media type='audio'><payload-type xmlns='urn:xmpp:jingle:apps:rtp:1' id='111' name='opus' clockrate='48000' channels='2'><parameter name='minptime' value='10'/><parameter name='useinbandfec' value='1'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='transport-cc'/></payload-type><payload-type xmlns='urn:xmpp:jingle:apps:rtp:1' name='telephone-event' clockrate='8000' id='126'/><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' uri='urn:ietf:params:rtp-hdrext:ssrc-audio-level' id='1'/><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' id='5'/><extmap-allow-mixed xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/></media><media type='video'><payload-type xmlns='urn:xmpp:jingle:apps:rtp:1' name='VP8' clockrate='90000' id='100'><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='transport-cc'/></payload-type><payload-type xmlns='urn:xmpp:jingle:apps:rtp:1' name='H264' clockrate='90000' id='107'><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='transport-cc'/><parameter name='profile-level-id' value='42e01f;level-asymmetry-allowed=1;packetization-mode=1;'/></payload-type><payload-type xmlns='urn:xmpp:jingle:apps:rtp:1' name='VP9' clockrate='90000' id='101'><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='transport-cc'/></payload-type><payload-type xmlns='urn:xmpp:jingle:apps:rtp:1' name='rtx' clockrate='90000' id='96'><parameter name='apt' value='100'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/></payload-type><payload-type xmlns='urn:xmpp:jingle:apps:rtp:1' name='rtx' clockrate='90000' id='97'><parameter name='apt' value='101'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='ccm' subtype='fir'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack'/><rtcp-fb xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0' type='nack' subtype='pli'/></payload-type><payload-type xmlns='urn:xmpp:jingle:apps:rtp:1' name='rtx' clockrate='90000' id='99'><parameter name='apt' value='107'/></payload-type><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' uri='http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' id='3'/><rtp-hdrext xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0' uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' id='5'/><extmap-allow-mixed xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/></media><transport ice-controlling='true'/><sources/><capability name='source-names'/></endpoint></conference-modify></iq>
jvb  | JVB 2024-02-16 09:58:50.372 WARNING: [49] [confId=9b4a2c0c5bece33a [email protected] meeting_id=defa1cc6] Conference.lambda$new$0#246: Took 140 ms to process an IQ (total delay 142 ms): <iq xmlns='jabber:client' to='[email protected]/gTQoWIwl6f1o' from='[email protected]/focus' id='anZiQGF1dGgubWVldC5qaXRzaS9nVFFvV0l3bDZmMW8AUUFVQ0ctMTAAH4TnwYK48so=' type='get'><conference-modify xmlns='jitsi:colibri2' meeting-id='defa1cc6-1b48-4832-bc4d-443323e16e97'><endpoint stats-id='Hannah-SIG' id='7f5d957b'><transport><transport xmlns='urn:xmpp:jingle:transports:ice-udp:1' pwd='f39759bb30f10a871e74fef1bd56318c' ufrag='b187b2d5'><fingerprint xmlns='urn:xmpp:jingle:apps:dtls:0' setup='active' hash='sha-256'>FB:84:69:8D:6A:25:0B:52:21:FE:51:9F:FF:EC:E3:56:EC:17:E8:A5:0A:2F:0D:2B:67:CE:93:3A:4F:10:0E:34</fingerprint><rtcp-mux/></transport></transport><sources/></endpoint></conference-modify></iq>
jvb  | JVB 2024-02-16 09:59:03.612 WARNING: [39] Videobridge.getOrCreateConference#440: Will not create conference, conference already exists for meetingId=defa1cc6-1b48-4832-bc4d-443323e16e97
jvb  | JVB 2024-02-16 09:59:03.701 WARNING: [39] Videobridge.getOrCreateConference#460: Conference with meeting_id=defa1cc6-1b48-4832-bc4d-443323e16e97 not found.

Javascript console log on FF 119.0.1 (64 bit):

This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”. my-meeting-room
(TIME) index.html loaded:	 76 my-meeting-room:72:17
2024-02-16T09:15:42.422Z [features/base/media] Start muted: audio, video Logger.js:155:26
2024-02-16T09:15:42.424Z [features/base/media] Start audio only set to false Logger.js:155:26
2024-02-16T09:15:42.513Z [index.web] (TIME) document ready:	 558 Logger.js:155:26
Service worker registered. 
ServiceWorkerRegistration { installing: null, waiting: null, active: ServiceWorker, navigationPreload: NavigationPreloadManager, scope: "https://jitsi.example.com/", updateViaCache: "imports", onupdatefound: null, pushManager: PushManager }
my-meeting-room:55:33
2024-02-16T09:15:42.761Z [features/base/media] <setSinkId/<>:  Error setting sink DOMException: The object can not be found here. Logger.js:155:26
2024-02-16T09:15:42.763Z [features/base/devices] <V0/</</</<>:  Failed to set audio output device.
                        Default audio output device will be used instead NotFoundError: The object can not be found here. Logger.js:155:26
2024-02-16T09:15:42.783Z [modules/RTC/RTCUtils.js] <4794/_getUserMedia/</<>:  onUserMediaSuccess Logger.js:155:26
2024-02-16T09:15:42.797Z [features/base/media] Sync audio track muted state to muted Logger.js:155:26
2024-02-16T09:15:47.138Z [features/base/connection] <sk/</i<>:  Using service URL wss://jitsi.example.com/xmpp-websocket Logger.js:155:26
2024-02-16T09:15:47.144Z [modules/xmpp/xmpp.js] <connectionHandler>:  (TIME) Strophe connecting:	 5189 Logger.js:155:26
2024-02-16T09:15:47.487Z [modules/xmpp/xmpp.js] <connectionHandler>:  (TIME) Strophe connected:	 5532 Logger.js:155:26
2024-02-16T09:15:47.515Z [conference.js] <_setLocalAudioVideoStreams/<>:  Initialized with 0 local tracks Logger.js:155:26
2024-02-16T09:15:47.551Z [modules/xmpp/strophe.jingle.js] <4794/getStunAndTurnCredentials/<>:  getting turn credentials with extdisco:2 failed, trying extdisco:1 Logger.js:155:26
2024-02-16T09:15:47.633Z [modules/xmpp/strophe.jingle.js] <4794/getStunAndTurnCredentials/</<>:  getting turn credentials failed Logger.js:155:26
2024-02-16T09:15:47.633Z [modules/xmpp/strophe.jingle.js] <4794/getStunAndTurnCredentials/</<>:  is mod_turncredentials or similar installed and configured? Logger.js:155:26
2024-02-16T09:15:47.636Z [modules/xmpp/ChatRoom.js] <onPresence>:  (TIME) MUC join started:	 5681 Logger.js:155:26
2024-02-16T09:15:47.692Z [modules/xmpp/ChatRoom.js] <onPresence>:  entered [email protected]/focus 
Object { isReplaceParticipant: 0, affiliation: "owner", role: "moderator", jid: "[email protected]/focus", isFocus: true, isHiddenDomain: false }
Logger.js:155:26
2024-02-16T09:15:47.717Z [modules/xmpp/ChatRoom.js] <onPresence>:  (TIME) MUC joined:	 5763 Logger.js:155:26
2024-02-16T09:15:47.770Z [modules/xmpp/ChatRoom.js] <onMessage>:  Subject is changed to Logger.js:155:26
2024-02-16T09:15:51.829Z [modules/xmpp/ChatRoom.js] <onPresence>:  entered [email protected]/5345191e 
Object { isReplaceParticipant: 0, affiliation: "none", role: "participant", jid: "[email protected]/UTAayKnbf_FO", isFocus: false, isHiddenDomain: false, statsID: "Hannah-SIG", nick: "Account 2" }
Logger.js:155:26
2024-02-16T09:15:51.854Z [conference.js] <_setupListeners/<>:  USER 5345191e connected: 
Object { _jid: "[email protected]/5345191e", _id: "5345191e", _conference: {…}, _displayName: "Account 2", _supportsDTMF: false, _tracks: [], _role: "participant", _status: undefined, _hidden: false, _statsID: "Hannah-SIG", … }
Logger.js:155:26
2024-02-16T09:15:51.926Z [modules/xmpp/strophe.jingle.js] <onJingle>:  (TIME) received session-initiate:	 9971 Logger.js:155:26
2024-02-16T09:15:51.959Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE checking JVB:	 10004 Logger.js:155:26
2024-02-16T09:15:52.007Z [JitsiConferenceEventManager.js] <4794/Hi.prototype.setupRTCListeners/<>:  (TIME) data.channel.opened:	 10053 Logger.js:155:26
2024-02-16T09:15:52.058Z [modules/xmpp/JingleSessionPC.js] <sendIceCandidates>:  JingleSessionPC[session=P2P,initiator=true,sid=08bfa010199f] sendIceCandidates [{"candidate":"candidate:0 1 UDP 2122187007 192.168.1.149 41982 typ host","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:2 1 UDP 2122121471 10.8.0.2 35066 typ host","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:4 1 UDP 2122252543 2001:14ba:720a:d500::2 39197 typ host","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:6 1 TCP 2105458943 192.168.1.149 9 typ host tcptype active","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:7 1 TCP 2105393407 10.8.0.2 9 typ host tcptype active","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:8 1 TCP 2105524479 2001:14ba:720a:d500::2 9 typ host tcptype active","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:0 2 UDP 2122187006 192.168.1.149 49897 typ host","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:2 2 UDP 2122121470 10.8.0.2 42778 typ host","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:4 2 UDP 2122252542 2001:14ba:720a:d500::2 46481 typ host","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:6 2 TCP 2105458942 192.168.1.149 9 typ host tcptype active","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:7 2 TCP 2105393406 10.8.0.2 9 typ host tcptype active","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:8 2 TCP 2105524478 2001:14ba:720a:d500::2 9 typ host tcptype active","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:3 1 UDP 1685921791 185.26.48.109 35066 typ srflx raddr 10.8.0.2 rport 35066","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"},{"candidate":"candidate:3 2 UDP 1685921790 185.26.48.109 42778 typ srflx raddr 10.8.0.2 rport 42778","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"e7ba6b9b"}] Logger.js:155:26
2024-02-16T09:15:52.760Z [modules/RTC/BridgeChannel.js] <sendReceiverVideoConstraintsMessage>:  Sending ReceiverVideoConstraints with {"assumedBandwidthBps":-1,"constraints":{},"defaultConstraints":{"maxHeight":2160},"lastN":-1} Logger.js:155:26
2024-02-16T09:15:52.953Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE checking P2P:	 10999 Logger.js:155:26
2024-02-16T09:15:52.954Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE connected P2P:	 11000 Logger.js:155:26
2024-02-16T09:15:52.962Z [modules/statistics/statistics.js] <4794/Ni.sendAnalyticsAndLog>:  {"type":"operational","action":"established","source":"p2p","attributes":{"initiator":true}} Logger.js:155:26
2024-02-16T09:15:58.951Z [features/base/media] <setSinkId/<>:  Error setting sink DOMException: The object can not be found here. Logger.js:155:26
2024-02-16T09:15:58.951Z [features/base/media] <setSinkId/<>:  Error setting sink DOMException: The object can not be found here. Logger.js:155:26
2024-02-16T09:16:03.494Z [modules/xmpp/JingleSessionPC.js] <sendIceCandidate>:  JingleSessionPC[session=P2P,initiator=true,sid=08bfa010199f] sendIceCandidate: last candidate 2 Logger.js:155:26
WebRTC: ICE failed, add a STUN server and see about:webrtc for more details
2024-02-16T09:16:03.496Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE failed JVB:	 21541 Logger.js:155:26
2024-02-16T09:16:05.609Z [modules/RTC/BridgeChannel.js] <4794/_handleChannel/e.onclose>:  Channel closed: 1001 endpoint closed Logger.js:155:26
2024-02-16T09:16:05.649Z [modules/xmpp/strophe.jingle.js] <onJingle>:  (TIME) received session-initiate:	 23694 Logger.js:155:26
2024-02-16T09:16:05.673Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE checking JVB:	 23718 Logger.js:155:26
2024-02-16T09:16:06.421Z [JitsiConferenceEventManager.js] <4794/Hi.prototype.setupRTCListeners/<>:  (TIME) data.channel.opened:	 24467 Logger.js:155:26
2024-02-16T09:16:06.425Z [modules/RTC/BridgeChannel.js] <sendReceiverVideoConstraintsMessage>:  Sending ReceiverVideoConstraints with {"assumedBandwidthBps":-1,"constraints":{},"defaultConstraints":{"maxHeight":2160},"lastN":-1} Logger.js:155:26
2024-02-16T09:16:06.426Z [modules/RTC/BridgeChannel.js] <sendReceiverVideoConstraintsMessage>:  Sending ReceiverVideoConstraints with {"assumedBandwidthBps":-1,"constraints":{},"defaultConstraints":{"maxHeight":2160},"lastN":-1} Logger.js:155:26
2024-02-16T09:16:11.934Z [modules/statistics/RTPStatsCollector.js] <4794/Pi.prototype.errorCallback>:  Get stats error DOMException: An attempt was made to use an object that is not, or is no longer, usable
    getStats firefox_shim.js:63
    getStats TraceablePeerConnection.js:2667
    t RTPStatsCollector.js:218
Logger.js:155:26
WebRTC: ICE failed, add a STUN server and see about:webrtc for more details
2024-02-16T09:16:16.836Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE failed JVB:	 34881 Logger.js:155:26
2024-02-16T09:16:18.934Z [modules/RTC/BridgeChannel.js] <4794/_handleChannel/e.onclose>:  Channel closed: 1001 endpoint closed Logger.js:155:26
2024-02-16T09:16:18.959Z [modules/xmpp/strophe.jingle.js] <onJingle>:  (TIME) received session-initiate:	 37003 Logger.js:155:26
2024-02-16T09:16:18.985Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE checking JVB:	 37030 Logger.js:155:26
2024-02-16T09:16:19.452Z [JitsiConferenceEventManager.js] <4794/Hi.prototype.setupRTCListeners/<>:  (TIME) data.channel.opened:	 37498 Logger.js:155:26
2024-02-16T09:16:19.458Z [modules/RTC/BridgeChannel.js] <sendReceiverVideoConstraintsMessage>:  Sending ReceiverVideoConstraints with {"assumedBandwidthBps":-1,"constraints":{},"defaultConstraints":{"maxHeight":2160},"lastN":-1} 3 Logger.js:155:26
2024-02-16T09:16:25.659Z [modules/statistics/RTPStatsCollector.js] <4794/Pi.prototype.errorCallback>:  Get stats error DOMException: An attempt was made to use an object that is not, or is no longer, usable
    getStats firefox_shim.js:63
    getStats TraceablePeerConnection.js:2667
    t RTPStatsCollector.js:218
    setInterval handler*4794/Pi.prototype.start RTPStatsCollector.js:235
    startRemoteStats statistics.js:119
    _acceptJvbIncomingCall JitsiConference.js:2243
    onIncomingCall JitsiConference.js:2160
    emit events.js:153
    onJingle strophe.jingle.js:214
    run strophe.umd.js:2507
    handlers strophe.umd.js:3843
    _dataRecv strophe.umd.js:3840
    forEachChild strophe.umd.js:1502
    _dataRecv strophe.umd.js:3838
    _onMessage strophe.umd.js:6187
    onmessage strophe.umd.js:5920
Logger.js:155:26
WebRTC: ICE failed, add a STUN server and see about:webrtc for more details
2024-02-16T09:16:30.192Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE failed JVB:	 48238 Logger.js:155:26
2024-02-16T09:16:32.285Z [modules/RTC/BridgeChannel.js] <4794/_handleChannel/e.onclose>:  Channel closed: 1001 endpoint closed Logger.js:155:26
2024-02-16T09:16:32.313Z [modules/xmpp/strophe.jingle.js] <onJingle>:  (TIME) received session-initiate:	 50358 Logger.js:155:26
2024-02-16T09:16:32.349Z [modules/xmpp/JingleSessionPC.js] <4794/doInitialize/this.peerconnection.oniceconnectionstatechange>:  (TIME) ICE checking JVB:	 50394 Logger.js:155:26
2024-02-16T09:16:32.633Z [JitsiConferenceEventManager.js] <4794/Hi.prototype.setupRTCListeners/<>:  (TIME) data.channel.opened:	 50679 Logger.js:155:26
2024-02-16T09:16:32.638Z [modules/RTC/BridgeChannel.js] <sendReceiverVideoConstraintsMessage>:  Sending ReceiverVideoConstraints with {"assumedBandwidthBps":-1,"constraints":{},"defaultConstraints":{"maxHeight":2160},"lastN":-1} 4 Logger.js:155:26
2024-02-16T09:16:38.963Z [modules/statistics/RTPStatsCollector.js] <4794/Pi.prototype.errorCallback>:  Get stats error DOMException: An attempt was made to use an object that is not, or is no longer, usable
    getStats firefox_shim.js:63
    getStats TraceablePeerConnection.js:2667
    t RTPStatsCollector.js:218
    setInterval handler*4794/Pi.prototype.start RTPStatsCollector.js:235
    startRemoteStats statistics.js:119
    _acceptJvbIncomingCall JitsiConference.js:2243
    onIncomingCall JitsiConference.js:2160
    emit events.js:153
    onJingle strophe.jingle.js:214
    run strophe.umd.js:2507
    handlers strophe.umd.js:3843
    _dataRecv strophe.umd.js:3840
    forEachChild strophe.umd.js:1502
    _dataRecv strophe.umd.js:3838
    _onMessage strophe.umd.js:6187
    onmessage strophe.umd.js:5920
Logger.js:155:26

Docker services:

services:
  jitsi-web:
    container_name: jitsi-web
    image: jitsi/web:stable-9258
    restart: unless-stopped
    volumes:
      - ./jitsi/web:/config:Z
    environment:
      - PUBLIC_URL
      - TZ
    networks:
      - meet.jitsi
      - default
    labels:
      - traefik.enable=true
      - traefik.http.routers.jitsi-web.entrypoints=websecure
      - traefik.http.routers.jitsi-web.rule=Host(`jitsi.example.com`)
      - traefik.http.routers.jitsi-web.tls=true
      - traefik.http.routers.jitsi-web.tls.certresolver=myresolver
      - traefik.http.routers.jitsi-web.service=jitsi-svc
      - traefik.http.services.jitsi-svc.loadbalancer.server.port=80
    depends_on:
      - jvb
  prosody:
    container_name: prosody
    image: jitsi/prosody:stable-9258
    restart: unless-stopped
    volumes:
      - ./jitsi/prosody/config:/config:Z
    environment:
      - JICOFO_AUTH_PASSWORD
      - JVB_AUTH_PASSWORD
      - PUBLIC_URL
      - TZ
    networks:
      meet.jitsi:
        aliases:
          - xmpp.meet.jitsi

  jicofo:
    container_name: jicofo
    image: jitsi/jicofo:stable-9258
    restart: unless-stopped
    volumes:
      - ./jitsi/jicofo:/config:Z
    environment:
      - JICOFO_AUTH_PASSWORD
      - TZ
    depends_on:
      - prosody
    networks:
      - meet.jitsi

  jvb:
    container_name: jvb
    image: jitsi/jvb:stable-9258
    restart: unless-stopped
    volumes:
      - ./jitsi/jvb:/config:Z
    environment:
      - JVB_ADVERTISE_IPS
      - JVB_AUTH_PASSWORD
      - PUBLIC_URL
      - TZ
    depends_on:
      - prosody
    networks:
      - meet.jitsi
    labels:
      - traefik.enable=true
      - traefik.udp.routers.jvb-rtr.entrypoints=video
      - traefik.udp.routers.jvb-rtr.service=jvb-svc
      - traefik.udp.services.jvb-svc.loadbalancer.server.port=10000

@saghul
Copy link
Member

saghul commented Feb 16, 2024

Sorry we can't support custom setups. You are skipping a ton of env variables.

@santavizma
Copy link

@winguse
From all I have read, Your issue might be new COLIBRI_WEBSOCKET_REGEX
/colibri-ws/({{ $COLIBRI_WEBSOCKET_REGEX }})/(.*)
If Your jvb containers are called jvb, then it will find right IP, but if the naming is different, then adjustments have to be done.

Same issue: #1650
Commit: 825730d

@santavizma
Copy link

@juhojama solved it by restarting turn server.

@santavizma
Copy link

santavizma commented Feb 26, 2024

Upgrade from stable-8960 to stable-9258 (stable-9220 gave same issues)

Jitsi work with 2/3/4+ users, but I get po-pup as mentioned in Issue title and Console logs:

BridgeChannel.js:91 WebSocket connection to 'wss://<jitsi_host_url>/colibri-ws/<jvb_IP>/6051a3d5c1b5fca4/cb639d46?pwd=43jir9t4rdo7ir2dmkd3s250bn' failed:
_initWebSocket @ BridgeChannel.js:91
t @ BridgeChannel.js:122
BridgeChannel.js:393 2024-02-26T15:56:00.282Z [modules/RTC/BridgeChannel.js] <e.onclose>: Channel closed: 1006

JVB Logs
jitsi.txt

Any advise?

@santavizma
Copy link

Note: stable-9078 works as expected

@alexmaras
Copy link

alexmaras commented Mar 10, 2024

The change from #1645 made it so that I had to set the COLIBRI_WEBSOCKET_REGEX env variable to the same value as my JVB_WS_SERVER_ID.

Without this config change, it uses dig to resolve the IP of the hostname (jvb) and becomes something like 10.39.0.44. Then, when the web container starts, it writes to web/nginx/meet.conf which gets a block like:



# colibri (JVB) websockets
location ~ ^/colibri-ws/(10.39.0.44)/(.*) {
    tcp_nodelay on;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    proxy_pass http://$1:9090/colibri-ws/$1/$2$is_args$args;
}

All of my web calls go to /colibri-ws/jvb/blah, so this never matches any, and the connections fail. Setting COLIBRI_WEBSOCKET_REGEX to jvb replaces (10.39.0.44) with ($WHATEVER_VALUE_YOU_PUT_HERE), so I can make it match on the literal string jvb again, which then resolves to the hostname in the podman pod correctly.

This has fixed the issue where the Video Quality Impaired popup comes up over and over.

@saghul saghul closed this as completed Mar 10, 2024
@damionsteen
Copy link

COLIBRI_WEBSOCKET_REGEX

I'm using nginx reverse proxy. I set COLIBRI_WEBSOCKET_REGEX env variable to the same value as my JVB_WS_SERVER_ID
I also /etc/hosts -> 10.52.0.188 jvb .... thats the internal IP of vm that JVB is running on.

I also used NGINX to forward 10000 udp to the jvb VM

I see in the websocket request (in the browser) the request is:

wss://myservernamehere.com/colibri-ws/jvb/1658435c7.... (looks good)

I'm still getting the "Video Quality Impared popup"

Any other thoughts?

@alexmaras
Copy link

@damionsteen the best thing to do is check the meet.conf file that lives in the web container, and make sure the regex is correct. It should have location ~ ^/colibri-ws/(jvb)/(.*) { in there. If it's a different value, something isn't working.

If that's working, you can then use dig and curl inside the web container to try to contact the jvb container with that same request, and see if that seems to flow through.

@bj1983
Copy link

bj1983 commented Apr 9, 2024

Hi,
i have the same problem in docker-jitsi-meet version stable-9364 like iarlemozaga.

JVB:
WARNING: [39] Videobridge.getOrCreateConference#460: Conference with meeting_id=defa1cc6-1b48-4832-bc4d-443323e16e97 not found.

Client:
[modules/RTC/BridgeChannel.js] <4794/_handleChannel/e.onclose>: Channel closed: 1001 endpoint closed Logger.js:155:26

No i saw the last post of alexmars with the meet.conganf location ~ ^/colibri-ws/(jvb)/(.*) {.

I then checked it by my self. In my meet.conf is the docker-IP of the jvb and that is the problem, that should not work:
location ~ ^/colibri-ws/(10.110.35.3)/(.*) {

I changed it to this, exec into the web-container and restarted the nginx webserver and it works now!

# colibri (JVB) websockets
location ~ ^/colibri-ws/(jvb)/(.*) {
    tcp_nodelay on;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    proxy_pass http://$1:9090/colibri-ws/$1/$2$is_args$args;
}

@Sajjal09
Copy link

Sajjal09 commented Aug 5, 2024

image

when second user join the room then I am getting this error Video Quality Impaired - The bridge Channel has been disconnecting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests