Lib-jitsi-meet - video bridge region selection

Hi,
I have seen some of load ballancing and cascading tutorials in order to achieve load ballancing based on geo location. It is quite clear how to setup video bridge “region” from here https://github.com/jitsi/jitsi-videobridge/blob/master/doc/octo.md
But how do I pass “region” from custom client app based on your lib-jitsi-meet sdk so the user is sent to the video bridge in his prefered “region”? Many thanks.

Lukas

Open meet.jit.si/config.js and look at deployment info, sumilar part need to be passed to the lib.

@damencho I am having similar issue.

config.js deployomentInfo and octo enabled is being used only when accessing web app, However if using lib-jitsi-meet and connecting over http-bind it is not fetching the those details.

Web App :
`

Jicofo 2020-09-14 07:08:49.570 INFO: [27] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Region info, conference=ff67a9 octo_enabled= true: [[eu-west-2, eu-west-2]]

Lib-jitsi-meet :

Jicofo 2020-09-14 08:40:55.004 INFO: [27] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Region info, conference=ff6e7b octo_enabled= false: [[null, null, null]]

If I pointed my deployment over to beta.meet.jit.si/http-bind it work with no issue, so there must be something else.

I will appriciate it if you can support here.

Best Regards,
Mohamed Abada

Have you added the 'testing { octo: probablity /… ` part?

Try follow this:

See if you manage to solve your issue

Yeah it is added, hence it is working over the web app, as you can figure from the logs above.

Thanks @rn1984, I am not having any issue with OCTO, I have it running perfectly over Web App for months, my issue occur when using lib-jitsi-meet only, whatever I have in config.js is not applied.

When using lib-jitsi-meet you have to send the config.js from the webapp. We are sending the config.js json when we create new jitsiconnections and when we join the room.

Thanks @nemaniarjun I already tried, However, whatever I am sending is not reflecting for some reason.

Is it possible to share a sample of your JSON ?

Any help here ?

new JitsiMeetJS.JitsiConnection("identifier_string", "jwt_toke", "json_given_below");

We use the following JSON as options

{
      hosts: {
        domain: 'meet.jitsi',
        muc: 'muc.meet.jitsi',
      },
      // bosh: 'https://'+domainName+'/http-bind', // FIXME: use xep-0156 for that
      serviceUrl: 'https://' + domainName + '/http-bind',
     clientNode: 'https://'+domainName,

      p2p: {
        enabled: true,
        stunServers: [
         { urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' }
        ],
        preferH264: true
      },
      enableWebsocketResume: true,
      useStunTurn: true,
      openBridgeChannel: 'websocket',

      testing: {
        octo: {
            probability: 1
        }
      }

Hi @nemaniarjun. Thanks for sharing. In your config you don’t pass the deploymentInfo… we are having an issue with jicofo not seeing any region infor from respective clients when connecting via the SDK (js lib) while it works fine when using the default jitsi-meet web client. Can you provide some guidance on how you pass the region info to jicofo?
Thanks

Hey, right now we are not using region based strategy. We are using octo to split over multiple jvbs but are considering them all to be in the same region. That is why we are not sending any region info.

But I expect it to work by adding the deployment info key to the json. Make sure you add it to both the places (when conference is created and when new participants join)

Thanks for your response.
What BridgeSelectionStrategy are you using?

We are using RegionBasedSplitStratergy, but not setting only region for the participants. What this does is assign the most free bridge when the conference needs to move to octo.

Thanks.
Ok, seems like we are facing issues where the web-client works fine and conferences are started with octo when running a conference with SplitBridgeSelectionStrategy for testing
GETing /colibri/stats outputs {...,octo_conferences: 1,...}.
When connecting through the client SDK from electron including {testing:{octo: {probability: 1}} enabled it is not using octo
GETing /colibri/stats outputs {...,octo_conferences: 0,...}.
JVB and jicofo logs show the same.

Any thoughts on how to best troubleshoot? Thanks again