Need Help enable MediaSoup on BBB v2.4

345 views
Skip to first unread message

Filipe Oliveira

unread,
Apr 30, 2022, 9:10:41 PM4/30/22
to BigBlueButton-Setup
Hi,

I want to enable MediaSoup on my BBB v2.4.6 but even after I read both bellow links I’m confused.
https://github.com/bigbluebutton/bbb-webrtc-sfu/wiki/Back-of-the-envelope-calculations:-mediasoup

I assume I do not have to follow step 1 and 2, since my server is hosted on a datacenter with a regular public IPv4 (hosted at Hetzner) and I’m not using IPv6.

So what I understand up to now is that I just need to edit the file: /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

I do not understand what means:

New config set at settings.yml:

public.kurento.screenshare.mediaServer (e.g.: Kurento)
public.kurento.videoMediaServer
public.kurento.listenOnlyMediaServer
Add a set of metadata parameters:

meta_media-server-screenshare (e.g.: Kurento)
meta_media-server-video
meta_media-server-listenonly


Ok. But how exactly? What lines d I have to add, edit or remove? Can anyone please provide with a real live example?



Thanks

Jean Pluzo

unread,
May 2, 2022, 8:11:47 AM5/2/22
to BigBlueButton-Setup
Hi,

first of all, if you're really going to be an admin for BBB, it will really help for you to read/learn the yaml syntax.
Regarding your question: there's a post from not log ago which describes exactly your problem and the solution.
Tip: public.kurento.screenshare.... means:
public:
  kurento:
    screenshare: ....
in the yaml file.
Hope this helps.

Regards,

J.

Paulo Lanzarin

unread,
May 2, 2022, 8:21:23 AM5/2/22
to bigbluebu...@googlegroups.com
> I assume I do not have to follow step 1 and 2, since my server is hosted on a datacenter with a regular public IPv4 (hosted at Hetzner) and I’m not using IPv6.

I recommend running step 1 anyways. I've altered that wiki doc to state that it should be run in any scenario.


> So what I understand up to now is that I just need to edit the file: /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

No. Always prefer the override configuration files.
They're detailed here: https://docs.bigbluebutton.org/admin/configuration-files.html#local-overrides-for-configuration-settings.
For all configuration files/dirs in /etc/bigbluebutton: if they're not present yet, just create them. They're yours to control.

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-s...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bigbluebutton-setup/9c024915-f803-424d-af6c-7f244b5861fen%40googlegroups.com.

Filipe Oliveira

unread,
May 14, 2022, 11:43:16 PM5/14/22
to BigBlueButton-Setup
Hi @prlanzarin

Thanks for the info. The issue is that when I try the first step it return an error:

root@myserver ~ # yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.webrtc.listenIps[0].ip "0.0.0.0"
Error: stat /etc/bigbluebutton/bbb-webrtc-sfu/production.yml: no such file or directory
...

Can you please tell me what im doing wrong? What I understand is that I have to run the command using SSH ROOT. 

Also when on the docs says: "Let $SERVER_IPv4 be your server's public IPv4", should I change the 0.0.0.0 or the $SERVER_IPv4 to my own server IPv4, or no? I should run the commands as equal as described with the 0.0.0.0 and the $SERVER_IPv4?

Thanks

Paulo Lanzarin

unread,
May 20, 2022, 12:58:13 PM5/20/22
to bigbluebu...@googlegroups.com
Filipe,

> Can you please tell me what im doing wrong? What I understand is that I have to run the command using SSH ROOT.

Yes. See: `Error: stat /etc/bigbluebutton/bbb-webrtc-sfu/production.yml: no such file or directory`.
Directory or file are not present. As I mentioned before - for all configuration files/dirs in /etc/bigbluebutton: if they're not

present yet, just create them. They're yours to control.

After creating them, re-run the yq command, then restart BBB.

> Also when on the docs says: "Let $SERVER_IPv4 be your server's public IPv4", should I change the 0.0.0.0 or the $SERVER_IPv4 to my own server IPv4, or no? I should run the commands as equal as described with the 0.0.0.0 and the $SERVER_IPv4?

Replace $SERVER_IPv4 by your server's IPv4. Other than that, run the commands exactly as described in the docs. 
Message has been deleted

Filipe Oliveira

unread,
May 21, 2022, 2:39:16 PM5/21/22
to BigBlueButton-Setup
Hi @prlanzarin and all others,

Thanks for the information. I follow all the steps to enable mediasoup on BBB 2.4 and it seems to be working. Anyway I have some doubts if all its 100% properly setup.

I found it strange to receive a waring about Kurento connecting to IPv6 (run the proposed fix commands, but warning remains) and also the values "ext-rtp-ip: $${local_ip_v4}" and "ext-sip-ip: $${local_ip_v4}", not showing the my IP.

Here is the result of my bbb-conf-check and bbb-conf --status after enabling mediasoup. Can anyone please help me and tell me if my setup is correct? Thanks!

root@bbbmsoup:~# bbb-conf --check

BigBlueButton Server 2.4.7 (3065)
                    Kernel version: 4.15.0-177-generic
                      Distribution: Ubuntu 18.04.6 LTS (64-bit)
                            Memory: 16037 MB
                         CPU cores: 8

/etc/bigbluebutton/bbb-web.properties (override for bbb-web)
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
       bigbluebutton.web.serverURL: https://bbbmsoup.mydomain.com
                defaultGuestPolicy: ALWAYS_ACCEPT
                 svgImagesRequired: true
              defaultMeetingLayout: SMART_LAYOUT

/etc/nginx/sites-available/bigbluebutton (nginx)
                       server_name: bbbmsoup.mydomain.com
                              port: 80, [::]:80
                              port: 443 ssl

/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
                       local_ip_v4: 116.203.116.200
                   external_rtp_ip: 116.203.116.200
                   external_sip_ip: 116.203.116.200

/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
                        ext-rtp-ip: $${local_ip_v4}
                        ext-sip-ip: $${local_ip_v4}
                        ws-binding: 116.203.116.200:5066
                       wss-binding: 116.203.116.200:7443

/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
                     playback_host: bbbmsoup.mydomain.com
                 playback_protocol: https
                            ffmpeg: 4.2.4-1ubuntu0.1bbb2~18.04

/etc/bigbluebutton/nginx/sip.nginx (sip.nginx)
                        proxy_pass: 116.203.116.200
                          protocol: http

/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
/etc/bigbluebutton/bbb-webrtc-sfu/production.yml (Kurento SFU - override)
                        kurento.ip: 2a01:4f8:c0c:00e0::1
                       kurento.url: 2a01:4f8:c0c:00e0::1
                    kurento.sip_ip: 2a01:4f8:c0c:00e0::1
               recordScreenSharing: 2a01:4f8:c0c:00e0::1
                     recordWebcams: 2a01:4f8:c0c:00e0::1
                  codec_video_main: 2a01:4f8:c0c:00e0::1
               codec_video_content: 2a01:4f8:c0c:00e0::1

/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
/etc/bigbluebutton/bbb-html5.yml (HTML5 client config override)
                             build: 2561
                        kurentoUrl: wss://bbbmsoup.mydomain.com/bbb-webrtc-sfu
                  enableListenOnly: true
                    sipjsHackViaWs: true

/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server)
                              stun: bbbturn.myturnserver.com


# Potential problems described below
#
# Kurento will try to connect to 2a01:4f8:c0c:00e0::1 but FreeSWITCH is listening on 116.203.116.200 for port 5066
#
# To fix, run the commands
#
# sudo yq w -i /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml freeswitch.sip_ip 116.203.116.200
# sudo chown bigbluebutton:bigbluebutton /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml
#


root@bbbmsoup:~# bbb-conf --status
nginx —————————————————► [✔ - active]
freeswitch ————————————► [✔ - active]
redis-server ——————————► [✔ - active]
bbb-apps-akka —————————► [✔ - active]
bbb-fsesl-akka ————————► [✔ - active]
mongod ————————————————► [✔ - active]
bbb-html5 —————————————► [✔ - active]
bbb-webrtc-sfu ————————► [✔ - active]
kurento-media-server ——► [✔ - active]
bbb-html5-backend@1 ———► [✔ - active]
bbb-html5-backend@2 ———► [✔ - active]
bbb-html5-frontend@1 ——► [✔ - active]
bbb-html5-frontend@2 ——► [✔ - active]
etherpad ——————————————► [✔ - active]
bbb-web ———————————————► [✔ - active]
root@bbbmsoup:~#

Paulo Lanzarin

unread,
May 26, 2022, 12:57:49 PM5/26/22
to bigbluebu...@googlegroups.com
Filipe,


  kurento.ip: 2a01:4f8:c0c:00e0::1
  kurento.url: 2a01:4f8:c0c:00e0::1
  kurento.sip_ip: 2a01:4f8:c0c:00e0::1
  recordScreenSharing: 2a01:4f8:c0c:00e0::1
  recordWebcams: 2a01:4f8:c0c:00e0::1
  codec_video_main: 2a01:4f8:c0c:00e0::1
  codec_video_content: 2a01:4f8:c0c:00e0::1

Those are definitely wrong. I don't exactly how your installation ended up in that state.
You need to set just what was explicitly mentioned in the production.yml file, not put every possible configuration in there.
Let's suppose your server has an IP of 192.0.2.0. This is what production.yml should look like if you just want to setup mediasoup:
```yaml
mediasoup:
  webrtc:
    listenIps:
      - ip: 0.0.0.0
        announcedIp: 192.0.2.0
  plainRtp:
    listenIp:
      ip: 0.0.0.0
      announcedIp: 192.0.2.0
```

So I suggest 1) re-doing your installation via bbb-install 2) re-doing your production.yml file from scratch.


--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-s...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages