Hi,
We try to build 2 region with jitsi, first is ap-southeast-3 (indonesia) and ap-southeast-1 (singapore)
we already setup multiple jitsi videobridge and connect to single jitsi-meet, jicofo and prosody
Server Detail :
jitsi-master = jitsi-meet, jicofo, prosody
jvb-public-1 = jitsi-videobridge2 (region ap-southeast-1)
jvb-public-2 = jitsi-videobridge2 (region ap-southeast-3)
My question is it possible to setup like if people coming from indonesia
it’s coming to JVB region ap-southeast-3 and the rest will used JVB region ap-southeast-1
For my understanding,
We need octo to handle this with jicofo bridge, but if i’m testing with ip singapore, i’m still pointing to JVB region ap-southeast-3, not to jvb ap-southeast-1
Or shoud we install jitsi-meet in every region?
Or using nginx geoip for select jvb ?
Any recomendation ??
our setup like this
jicofo.conf
bridge {
selection-strategy = RegionBasedBridgeSelectionStrategy
topology-strategy = SingleMeshTopologyStrategy
}
meet-config.js
deploymentInfo: {
shard: "shard1",
region: "ap-southeast-1",
userRegion: "ap-southeast-1",
},
testing {
octo: { probability: 1 }
}
jvb config
JVB_OPTS="--apis=rest,xmpp"
jvb.conf
octo {
enabled = true
bind-address = "10.101.25.84"
public-address = "108.xxx.xxx.xxx"
bind-port = "4096"
region = "ap-southeast-3"
}
relay {
enabled = true
region = "ap-southeast-3"
relay-id = "jvb-017bb8b7051b66bcc.meet.xxxxx.xx"
}
Thanks,
Best Regards,
Yadi
You need a way clients to report their region. There are several posts in the forum explaining how to achieve that.
ah i see… thanks, will search about that.
There are several posts in the forum explaining it. What we use is route53 that gives you the closest server. So there are haproxies in every region that is supported and they add an HTTP header before forwarding the request to the nginx, where nginx fills in the userRegion based on that header while config.js is server-side included.
So when one opens a conference in us-east, and the shard that is used is us-east and a second participant joins from us-west that participant will hit the haproxi…
Search for: haproxy userRegion
1 Like
Thank you, it’s working now.
Edit Nginx Config
server_names_hash_bucket_size 64;
geoip_country /usr/share/GeoIP/GeoIP.dat;
geoip_proxy_recursive on;
geoip_proxy 0.0.0.0/0;
map $geoip_country_code $user_aws_region {
default ap-southeast-1;
ID ap-southeast-3;
SG ap-southeast-1;
IN ap-southeast-1;
}
and in this lines
proxy_set_header GEOIP_COUNTRY_CODE $geoip_country_code;
location = /config.js {
alias /etc/jitsi/meet/meet.pintar.co-config.js;
}
Edit config.js
deploymentInfo: {
shard: "shard1",
region: "SG",
userRegion: '<!--# echo var = "user_aws_region" default=""-->',
},
Restarting all of them, will be pick right jvb based on geoip
After testing, we can join to another jvb, but we can’t hear anything from others jvb
example with room test
5 people join to jvb region ap-southeast-1
5 people join to jvb region ap-southeast-3
we only can hear audio with people in same jvb region, others jvb region can’t hear our voice (audio not sending cross jvb).
perhaps i’m missing something?
Thanks,
Best Regards,
Yadi
After implement this feature, i think it’s working now.
Testing on local with diffrent network and jvb, i can hear my voice.
2022-12-14 16:17:20.090 INFO: [665] [confId=4d6a6ff9517e7238 conf_name=devops@conference.meet.test meeting_id=023a0b4c relayId=13.250.111.151 local_ufrag=5fu721gk7up47a ufrag=5fu721gk7up47a] ConnectivityCheckClient.processSuccessResponse#764: Nomination confirmed for pair: 10.101.210.121:10000/udp/host -> 10.0.79.200:55984/udp/host (stream-13.250.111.151.RTP)
JVB 2022-12-14 16:17:20.090 INFO: [665] [confId=4d6a6ff9517e7238 conf_name=devops@conference.meet.test meeting_id=023a0b4c relayId=13.250.111.151 local_ufrag=5fu721gk7up47a ufrag=5fu721gk7up47a name=stream-13.250.111.151] CheckList.handleNominationConfirmed#406: Selected pair for stream stream-13.250.111.151.RTP: 10.101.210.121:10000/udp/host -> 10.0.79.200:55984/udp/host (stream-13.250.111.151.RTP)
JVB 2022-12-14 16:17:20.090 INFO: [665] [confId=4d6a6ff9517e7238 conf_name=devops@conference.meet.test meeting_id=023a0b4c relayId=13.250.111.151 local_ufrag=5fu721gk7up47a ufrag=5fu721gk7up47a] Agent.checkListStatesUpdated#1901: CheckList of stream stream-13.250.111.151 is COMPLETED
Edited: Thanks to @damencho , very helpfull