[Solved] OCTO Minor Issue [Regular Installation]

@damencho

DAMN, that was such a small issue.

I corrected the same and that resolved the issue for me. I can see that the participants are placed on different different JVB’s

As of now, still, the stack remains the same with one Public IP for the JMS stack and private ( lan ) IP for the 2-5 machines

Participants successfully join the meeting and are placed on different JVB’s

Just a small issue, that will be the last one

  1. Participants placed on different JVB’s cannot see/ hear participants from different JVB’s

Example,

Participant 1 from JVB1 cannot hear or see what Participant 2, who is placed on JVB2

How can I resolve this issue ?

So you have a single public IP and every jvb is using a different port? And you had set up the port forwarding correctly for every jvb and its corresponding port?

@damencho

  1. Single public IP - Just for machine 1, I have NAT’ed it

  2. Every JVB is using different port >>

Do you mean this setting ?

org.jitsi.videobridge.octo.BIND_PORT=4096

  1. And you had set up the port forwarding correctly for every jvb and its corresponding port? >> I am sorry I didn’t this.

If the machines 2, 3, 4 and 5 contain only jvb2 installations, the ports need to be different ?

Yes, the clients need to be able to directly access jvb, if you are using same public address this is the only solution that I see.

No. There is a property for the single port the bridge uses, by default it is 10000. Port 4096 should be accessible between bridges for octo to work, should not be publicly accessible

@damencho

Where do I find the setting to change the 10000 port in regular vanilla installation ?

Inside the bridge’s sip-communicator.properties, set the port to use as follows:

org.jitsi.videobridge.SINGLE_PORT_HARVESTER_PORT=10001

The default port used is 10000, but with the property above, you can specify a different port for each bridge.

1 Like

And make sure you do the port-forwarding from the public address to the correct internal IP address for every port.

1 Like

@damencho @Freddie

This is my Network Setup

After Correctly portmapping the Public IP to the different JVB ports of every machine, still I see that participants cannot see video of the other participant from other JVB

The participants are getting placed on different JVB’s but unable to see/ hear others.

What do I do next ?

How do you set

org.jitsi.videobridge.octo.BIND_ADDRESS

and

org.jitsi.videobridge.octo.PUBLIC_ADDRESS

@emrah - in my /etc/jitsi/videobridge/sip-communicator.properties

I have this

org.jitsi.videobridge.octo.BIND_ADDRESS=0.0.0.0
org.jitsi.videobridge.octo.PUBLIC_ADDRESS=172.17.2.4

172.17.2.4 is the machine LAN IP ( Not Public )

Are you sure org.jitsi.videobridge.octo.PUBLIC_ADDRESS set correctly for each JVB? It should be the LAN IP which is accessable from the other JVBs. I cannot reproduce the same error, it works with a very similar scenario in my case.

@emrah - Yes, I have set the LAN IP

JVB 1 ( Main JMS Stack )

org.jitsi.videobridge.octo.BIND_ADDRESS=0.0.0.0
org.jitsi.videobridge.octo.PUBLIC_ADDRESS=172.17.2.3
org.jitsi.videobridge.octo.BIND_PORT=4096
org.jitsi.videobridge.REGION=Region1

JVB 2

org.jitsi.videobridge.octo.BIND_ADDRESS=0.0.0.0
org.jitsi.videobridge.octo.PUBLIC_ADDRESS=172.17.2.4
org.jitsi.videobridge.octo.BIND_PORT=4096
org.jitsi.videobridge.REGION=Region2

JVB 3

org.jitsi.videobridge.octo.BIND_ADDRESS=0.0.0.0
org.jitsi.videobridge.octo.PUBLIC_ADDRESS=172.17.2.5
org.jitsi.videobridge.octo.BIND_PORT=4096
org.jitsi.videobridge.REGION=Region3

JVB 4

org.jitsi.videobridge.octo.BIND_ADDRESS=0.0.0.0
org.jitsi.videobridge.octo.PUBLIC_ADDRESS=172.17.2.6
org.jitsi.videobridge.octo.BIND_PORT=4096
org.jitsi.videobridge.REGION=Region4

JVB 5

org.jitsi.videobridge.octo.BIND_ADDRESS=0.0.0.0
org.jitsi.videobridge.octo.PUBLIC_ADDRESS=172.17.2.7
org.jitsi.videobridge.octo.BIND_PORT=4096
org.jitsi.videobridge.REGION=Region5

All the machines (vms) are in the same data center

I can reproduce the same problem when I broke the colilbri websocket config. So check your websocket config for JVBs

@damencho

Considering my architecture, are these settings needed ?

Advanced configuration

If the installation is on a machine behind NAT jitsi-videobridge should configure itself automatically on boot. If three way calls do not work, further configuration of jitsi-videobridge is needed in order for it to be accessible from outside.

Provided that all required ports are routed (forwarded) to the machine that it runs on. By default these ports are (TCP/443 or TCP/4443 and UDP/10000).

The following extra lines need to be added to the file /etc/jitsi/videobridge/sip-communicator.properties :

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>

@tusharsonawane Did you do this? Do you see errors in your console when you’re running a 3-party call?

@Freddie

Thanks for the reply.

  1. I kindoff dont know where do I do the websocket settings, can you guide me here ?

  2. What is happening now is, I am operating my instance from inside the firewall network. I have switched off the other 4 jvbs and only 1 jvb i.e the main JMS stack is working. Now for a single meeting, I have added 3-4 participants ( from the device which is inside the firewall network, same browser (4 tabs) )

They all are getting placed on the same jvb which is expected.

But when I join the 5th participant from a completely different network ( From outside the firewall ), the participant joins, can be seen that it is placed on Region1 ( JVB1 ) but no audio/ video

image

Also the interesting thing is, when I join the 6th participant from a different device which is IN the same network, again the same thing. Participant joins but no audio/ video from any participant

P.S - As mentioned above, I have added the NAT Settings

To view your javascript console, in Chrome, click on:

View-->Developer-->Javascript Console

This brings up the js console tab. Monitor the tab while running a 3-party meeting, see if there are errors.

My bad. The same device different browser test case works, I guess it was a camera issue, I can hear/ see video. Cancelling it from the above comment.

I checked the javascript logs, didnt really get anything that states why the external ( out of the firewall participant ) or the different device in same network participant cannot see or hear anything.

@Freddie

Got this relevant from jvb logs

Unable to find endpoint to send EndpointMessage to: <participant id>

any idea ?

Try disabling e2eping in config.js and see if that helps with this error.

Can you take a screenshot of your js console while running a 3-party call and post?