Allow multiple jibri base url for one prosody host domain?

Is there any reason for not allowing multiple jibri base url for single prosody xmpp host?

If I understand what you’re asking correctly, you can. In jibri.conf, just enter the URLs separated by a comma:

xmpp-server-hosts = ["domain1.com", "domain2.com", domain3.com"]

No, This is an example of multiple prosody host. I am looking for multiple jibri public url for a single xmpp-server-host.

AFAIK, I don’t think it is possible as of now.

I know this is not possible now, Any reason for not allowing this. I can work on this. But wanted to understand from the community first.

what do you mean by ‘jibri public url’ ? why should Jibri have a ‘public’ url ? It’s just a client. Jitsi-meet clients don’t need a public url.

jibri requires baseurl in the config. Which is taken via env variable name PUBLIC_URL.

Here is a sample XMPPEnvConfig.

XmppEnvironmentConfig(
name = getString(“name”),
xmppServerHosts = getStringList(“xmpp-server-hosts”),
xmppDomain = getString(“xmpp-domain”),
baseUrl = if (hasPath(“base-url”)) {
getString(“base-url”)
} else null,
controlLogin = getConfig(“control-login”).toXmppCredentials(),
controlMuc = getConfig(“control-muc”).toXmppMuc(),
sipControlMuc = if (hasPath(“sip-control-muc”)) {
getConfig(“sip-control-muc”).toXmppMuc()
} else null,
callLogin = getConfig(“call-login”).toXmppCredentials(),
stripFromRoomDomain = getString(“strip-from-room-domain”),
usageTimeoutMins = getDuration(“usage-timeout”).toMinutes().toInt(),
trustAllXmppCerts = getBoolean(“trust-all-xmpp-certs”)
)

This is the jitsi-meet URL. PUBLIC_URL = https://meet.example.com.

@Tinkesh_kumar do you want to use jibri with multiple setups? What is your use case?

AFAIK ‘requires’ means ‘is necessary’. From the doc:

        // The base XMPP domain
        xmpp-domain = "xmpp-domain"

        // An (optional) base url the Jibri will join if it is set 
        // base-url = "https://meet.example.com"

there is a single xmpp domain that can be joined, and the public url can be optionally different, but there is only one xmpp server managed.

@gpatel-fr This fix was more for docker I guess rather than for vanilla installation.

it’s coming from this change

Ok, I got it now.
So before the PUBLIC_URL commit, In the case of docker, jibri tried to join https://meet.jitsi/room_name instead of https://meet.example.com/room_name because of the default config that jibri.yml file uses(meet.jitsi is the default) hence causing jibri to not to work properly. I never faced this issue with my docker setup because I always changed the default config meet.jitsi to meet.mydomain.com.

So After this PUBLIC_URL commit, even if you are using the default config in the jibri.yml file and set PUBLIC_URL = https://meet.example.com then jibri started using the correct URL to join the meeting i.e https://meet.example.com/room_name.

IIUC you want to allow multiple domains for your Jitsi setup which is not related with jibri but it’s possible

I have setup a prosody server. Now multiple meeting host can connect to the prosody with different domain names ex:- meet.example1.com, meet.example2.com. Since in the Jibri config, we can pass only one BaseUrl, Jibri will not work for both meet.example1.com & meet.example2.com. Because i can only specify meet.example1.com or meet.example2.com as base url in jibri config.

Is there a way we can change jibri xmpp config at run time?, Because jibri picks up the the xmpp config.
Can we allow to set baseUrl at runtime in XmppAPI, similar to HttpAPI for jibri startup.