Evg
April 13, 2020, 10:54am
#1
Hello!
I setup jitsi, jibri with XMPP_DOMAIN example.com domain, and I have trouble with stream on youtube:
jibri try visit link: https://example.com/room_name
But my web configuration some difficult, web use link: https://example.com/meet/room_name
I found this comment in jibri:
// When jibri gets a request to start a service for a room, the room
// jid will look like:
// roomName@optional.prefixes.subdomain.xmpp_domain
// We’ll build the url for the call by transforming that into:
// https://xmpp_domain/subdomain/roomName
// So if there are any prefixes in the jid (like jitsi meet, which
// has its participants join a muc at conference.xmpp_domain) then
// list that prefix here so it can be stripped out to generate
// the call url correctly
How I can pass subdomain to JIBRI ?
xranby
April 13, 2020, 10:58am
#2
first: since you are using apache or nginx and the webserver is connecting to the prosody xmpp using bosh you will need to put in /etc/prosody/conf.d/yourdomain.com.cfg.lua in the top line:
consider_bosh_secure = true;
Evg
April 13, 2020, 12:11pm
#3
xranby:
consider_bosh_secure
Sorry, but how can help me this option ?
I don’t know, how set prefix subdomain, that jibri visit example.com/meet/ not example.com
xranby
April 13, 2020, 5:39pm
#4
The conversion from the Jid to the URL is perfromed in jibri XmppUtils.kt
fun getCallUrlInfoFromJid(roomJid: EntityBareJid, stripFromRoomDomain: String, xmppDomain: String): CallUrlInfo {
try {
// The call url is constructed from the xmpp domain, an optional subdomain, and a callname like so:
// https://domain/subdomain/callName
// The url domain is pulled from the xmpp domain of the connection sending the request
var domain = roomJid.domain.toString()
// But the room jid domain may have a subdomain that shouldn't be applied to the url, so strip out any
// string we've been told to remove from the domain
domain = domain.replaceFirst(stripFromRoomDomain, "", ignoreCase = true)
// Now we need to extract a potential call subdomain, which will be anything that's left in the domain
// at this point before the configured xmpp domain.
val subdomain = domain.subSequence(0, domain.indexOf(xmppDomain, ignoreCase = true)).trim('.')
// Now just grab the call name
val callName = roomJid.localpart.toString()
return when {
subdomain.isEmpty() -> CallUrlInfo("https://$xmppDomain", callName)
else -> CallUrlInfo("https://$xmppDomain/$subdomain", callName)
}
the Jid is made up of the roomname@muc
So in order to use a subdomain
you use change the muc row in:
/etc/jitsi/meet/*-config.js
to
muc: ‘meet.example.com ’
then you make sure that you do not strip out meet. in the jibri conf
the XmppUtils getCallUrlInfoFromJid will turn that into
https://example.com/meet/roomname
Ark74
April 13, 2020, 6:47pm
#5
You might wanna try this Jibri installer .
Maybe give some feedback.
hi
just a quick one, do you run this as root OR sudo?
Ark74
April 13, 2020, 9:45pm
#7
Any, as long as both have admin rights.
thanks, will give it a spin
i cloned it, but will just the quick_jibri_installer.sh do?
Ark74
April 13, 2020, 9:51pm
#9
It will call the rest if needed.
But yeah run it from within the cloned folder
so its basically an ALL-IN-ONE server… Jitsi & jibri server
cool…
another dumb question
i presume I still have to port forward for acme, & other ports on my firewall
Ark74
April 13, 2020, 9:57pm
#13
Yeah, I think I should add to the Readme to avoid issues.
not a biggie but will be useful are: (not exhaustive, but i saw during my 1st run)
you may want to use apt-get instead of just apt, as you’re using a script & the script throws a warning…
in the part where it asks, you may want to default to en.
In letsencrypt, please provide an option for Staging, as one can try different options and not run out of rate limits
I misunderstood the nextcloud part as something similar to dropbox, that you can store recordings in an existing nextcloud setup
during dropbox question, you may want to show this URL https://www.dropbox.com/developers/apps so that they can create an app & get their key
Ark74
April 13, 2020, 10:26pm
#15
If you will we can discuss everything on other subject to avoid hijack this thread.
Regards
Evg
April 14, 2020, 9:27am
#16
You mean, I need change string:
Component “muc.example.com ” “muc”
to:
Component “muc.meet.example.com ” “muc”
?
I try, but when I join to room, I got exception jicofo
Evg
April 15, 2020, 12:00pm
#17
I solved this.
Need change in prosody configration:
Component “muc.example.com ” “muc”
to:
Component “muc.meet.example.com ” “muc”
and in web configs set new muc string
1 Like
Berti1
May 20, 2020, 12:16pm
#18
Hi Evg!
I have the same problem. Can you help me in detail?
I have a topic about this. Can you check it, please?
Additional information:
I have in /etc/prosody/prosody.cfg.lua:
Component "internal.auth.mysite.com" "muc"
modules_enabled = {
"ping";
}
storage = "null"
muc_room_cache_size = 1000
VirtualHost "recorder.mysite.com"
modules_enabled = {
"ping";
}
authentication = "internal_plain"
and I have in /etc/prosody/conf.d/mysite.com.cfg.lua:
Component "conference.mysite.com" "muc"
storage = "none"
modules_enabled = {
"muc_meeting_id";
"muc_domain_mapper";
-- "token_verification";
}
admins = { "focus@auth.mysite.com" }
muc_room_locking = false
muc_room_default_public_jids = true
-- internal muc component
Component "internal.auth.mysite.com" "muc"
storage = "none"
modules_enabled = {
"ping";
}
admins = { "focus@auth.mysite.com", "jvb@auth.mysite.com" }
muc_room_locking = false
muc_room_default_public_jids = true
What should I change in these files and in config.json on Jibri side to work?
Thank you in advance!
xranby
May 20, 2020, 12:27pm
#19
First change prosody /etc/prosody/conf.d/mysite.com.cfg.lua configuration:
change this line to
Component "conference.meet.mysite.com" "muc"
after that you need to change the muc row in:
/etc/jitsi/meet/*-config.js
to
muc: ‘meet.mysite.com’
the muc is the name of the multi-user-chat room used on the prosody server.
the reason this work is because the subdomain is extracted from the muc setting as mentioned earlier:
The conversion from the Jid to the URL is perfromed in jibri XmppUtils.kt
the Jid is made up of the roomname@muc
So in order to use a subdomain
you use change the muc row in:
/etc/jitsi/meet/*-config.js
to
muc: ‘meet.example.com ’
then you make sure that you do not strip out meet. in the jibri conf
the XmppUtils getCallUrlInfoFromJid will turn that into
https://example.com/meet/roomname
Berti1
May 20, 2020, 1:13pm
#20
xranby very thank you! It’s working!
There was a lot of testing about it without I would have asked this problem earlier in this forum.
Once again, thank you :).
1 Like