Additional JVB with websocket errors which can not work for conference call

Hi Team,

I already setup a self-host server A with JMS and JVB together, and it can work for conference call successfully
Then I setup additional JVB on another server B, the new JVB can successfully register to JMS on server A. but when I stop the JVB on server A and only use the new JVB on server B to setup conference call, it failed.

The issue is that every endpoint can join the conference but can not receive remote endpoints’s video and audio, and following errors on chrome console are reported and a web notification show up as below screen-shot.

Would you please check these errors and help to share your suggestion how to debug it, Thanks in advance.

====chrome console errors====
Logger.js:154 2023-01-08T03:22:27.929Z [modules/RTC/BridgeChannel.js] <WebSocket.e.onclose>: Channel closed: 1006
r @ Logger.js:154
e.onclose @ BridgeChannel.js:424
BridgeChannel.js:87 WebSocket connection to ‘wss://jitsi.domain.com/colibri-ws/default-id/6e3648854f7eca12/91043086?pwd=2rmasikskj6hac7p2bbusscem1’ failed:
_initWebSocket @ BridgeChannel.js:87
t @ BridgeChannel.js:106
Logger.js:154 2023-01-08T03:22:30.343Z [modules/RTC/BridgeChannel.js] <WebSocket.e.onclose>: Channel closed by server
Logger.js:154 2023-01-08T03:22:30.343Z [modules/RTC/BridgeChannel.js] <WebSocket.e.onclose>: Channel closed: 1006
r @ Logger.js:154
e.onclose @ BridgeChannel.js:424
BridgeChannel.js:87 WebSocket connection to ‘wss://jitsi.domain.com/colibri-ws/default-id/6e3648854f7eca12/91043086?pwd=48mdh9gam6u0tinces1ov7k59t’ failed:
_initWebSocket @ BridgeChannel.js:87
t @ BridgeChannel.js:106
Logger.js:154 2023-01-08T03:22:47.782Z [modules/RTC/BridgeChannel.js] <WebSocket.e.onclose>: Channel closed by server

jvb_error

1 Like

Hi emrah, Thanks a lot for your quick response, I will follow your tips and debug my issue, will feedback if I have any progress.

Hi @emrah ,

I am still struggling on this error, and when i grep jvb.log on issue server B, I noticed below two error log info, not sure whether you have any experience on what’s going wrong about them:

===ISSUE1====
JVB 2023-01-08 11:25:59.124 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli] AbstractEndpoint.expire#311: Expiring.
JVB 2023-01-08 11:25:59.125 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli] Endpoint.expire#1140: Spent 0 seconds oversending
JVB 2023-01-08 11:25:59.125 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli] Transceiver.teardown#353: Tearing down
JVB 2023-01-08 11:25:59.125 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli] RtpReceiverImpl.tearDown#347: Tearing down
JVB 2023-01-08 11:25:59.125 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli] RtpSenderImpl.tearDown#318: Tearing down
JVB 2023-01-08 11:25:59.125 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli] DtlsTransport.stop#186: Stopping
JVB 2023-01-08 11:25:59.125 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=82vrk1gm7mj7eo] IceTransport.stop#252: Stopping
JVB 2023-01-08 11:25:59.125 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=82vrk1gm7mj7eo ufrag=82vrk1gm7mj7eo] Agent.setState#946: ICE state changed from Running to Terminated.
JVB 2023-01-08 11:25:59.126 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=82vrk1gm7mj7eo ufrag=82vrk1gm7mj7eo name=stream-ab0f163a componentId=1] MergingDatagramSocket.close#142: Closing.
JVB 2023-01-08 11:25:59.126 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli] Endpoint.expire#1158: Expired.
JVB 2023-01-08 11:25:59.129 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a local_ufrag=fvn241gm7mjoeo ufrag=fvn241gm7mjoeo] Agent.gatherCandidates#647: Gathering candidates for component stream-ab0f163a.RTP.
JVB 2023-01-08 11:25:59.130 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a] Endpoint.#344: Created new endpoint isUsingSourceNames=true, iceControlling=true
JVB 2023-01-08 11:25:59.381 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli] DtlsTransport.setSetupAttribute#120: The remote side is acting as DTLS client, we’ll act as server
JVB 2023-01-08 11:25:59.381 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=fvn241gm7mjoeo] IceTransport.startConnectivityEstablishment#199: Starting the Agent without remote candidates.
JVB 2023-01-08 11:25:59.381 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=fvn241gm7mjoeo ufrag=fvn241gm7mjoeo] Agent.startConnectivityEstablishment#736: Start ICE connectivity establishment.
JVB 2023-01-08 11:25:59.381 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=fvn241gm7mjoeo ufrag=fvn241gm7mjoeo] Agent.initCheckLists#972: Init checklist for stream stream-ab0f163a
JVB 2023-01-08 11:25:59.381 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=fvn241gm7mjoeo ufrag=fvn241gm7mjoeo] Agent.setState#946: ICE state changed from Waiting to Running.
JVB 2023-01-08 11:25:59.381 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=fvn241gm7mjoeo] IceTransport.iceStateChanged#342: ICE state changed old=Waiting new=Running
JVB 2023-01-08 11:25:59.382 INFO: [77] [confId=5b432d3515cf62fd conf_name=alex@conference.domain.com epId=ab0f163a stats_id=Alejandra-fli local_ufrag=fvn241gm7mjoeo ufrag=fvn241gm7mjoeo] ConnectivityCheckClient.startChecks#147: Start connectivity checks.

====ISSUE2====
java.lang.Exception: Address discovery through STUN failed
at org.jitsi.videobridge.health.JvbHealthChecker.check(JvbHealthChecker.kt:39)
at org.jitsi.videobridge.health.JvbHealthChecker.access$check(JvbHealthChecker.kt:25)
at org.jitsi.videobridge.health.JvbHealthChecker$healthChecker$1.invoke(JvbHealthChecker.kt:31)
at org.jitsi.videobridge.health.JvbHealthChecker$healthChecker$1.invoke(JvbHealthChecker.kt:31)
at org.jitsi.health.HealthChecker.run(HealthChecker.kt:144)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.run(RecurringRunnableExecutor.java:216)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.runInThread(RecurringRunnableExecutor.java:292)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor$1.run(RecurringRunnableExecutor.java:328)

It looks like JVB cannot find its external IP. Do you disable or update STUN_MAPPING_HARVESTER_ADDRESSES in /etc/jitsi/videobridge/sip-communicator.properties?

Hi emrah,

I cat my /etc/jitsi/videobridge/sip-communicator.properties in my issue server B, please check below info for that.
I copy this file from the jvb of server A which can work well and only change the nickname and add org.jitsi.videobridge.xmpp.user.shard-1.DISABLE_CERTIFICATE_VERIFICATION=true

====sip-communicator.properties====
org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
org.jitsi.videobridge.ENABLE_STATISTICS=true
org.jitsi.videobridge.STATISTICS_TRANSPORT=muc
org.jitsi.videobridge.xmpp.user.shard.HOSTNAME=jitsi.domain.com
org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.jitsi.domain.com
org.jitsi.videobridge.xmpp.user.shard.USERNAME=jvb
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=vsF4JFNF
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.jitsi.domain.com
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=jvb3
org.jitsi.videobridge.xmpp.user.shard-1.DISABLE_CERTIFICATE_VERIFICATION=true