Troubleshooting BigBlueButton Issues: A Comprehensive Guide

Explore our complete guide to resolving common BigBlueButton issues. From installation woes to webcam troubles, find practical solutions and community support to keep your virtual classrooms running smoothly.
2 Jul, 2023

Are you having trouble with your BigBlueButton setup? You’re not alone. Many people find themselves in your shoes. But don’t worry; this blog post will help you navigate your way to a solution.

Set Up Your BigBlueButton Server Correctly

The first step to avoid any potential issues with your BigBlueButton server is to follow the instructions for installation meticulously. When done correctly, your installation should run smoothly, setting you up for success right from the start. Remember, the best offense is a good defense!

Inbuilt Tool to the Rescue

Even with a perfect installation, you may still encounter hiccups along the way. That’s where the comprehensive BigBlueButton troubleshooting guide comes in handy:

Running bbb-conf --check: This built-in configuration utility checks your setup to ensure the correct processes are running, and the BigBlueButton components have correctly started​.

Common Issues

1. BigBluebutton Microphone not working

If you are a student, trying to join a BIgBlueButton online class (assuming you are using a Chrome browser):

  1. Your Chrome browser would prompt you to give access to the microphone. Click on “Allow”.
  2. If you have “Blocked” microphone access earlier, follow the steps below to give access to the microphone:
    1. Open Chrome Chrome.
    2. At the top right, click More More and then Settings.
    3. Under “Privacy and security,” click Site settings.
    4. Click Camera or Microphone.
    5. Turn on or off Ask before accessing.
    6. Review your blocked and allowed sites.
    7. To allow a site that you already blocked: Under “Blocked,” select the site’s name and change the camera or microphone permission to “Allow.”
  3. Ensure that you have the latest version of Chrome browser

For other browsers such as Firefox or Safari, you would need to follow a similar process. If you are a BigBlueButton server administrator and some of your users are complaining for not able to use microphone:

  1. You can identify WebRTC related issues for Microphone and Camera by running the diagnosis here: test.webrtc.org
  2. You can check by setting up a test meeting for your users, facing microphone issues, on demo.bigbluebutton.org to ensure that they are not having microphone issues on the demo server.
  3. Is your BigBlueButton server configured behind a firewall? If yes, please follow the steps here to configure BigBlueButton with a firewall. You would need to ensure that your firewall allows port forwarding on the following ports to your BigBlueButton server: TCP(80, 443, 7443) and UDP (16384-32768).
  4. BigBlueButton normally requires a wide range of UDP ports to be available for WebRTC communication. If your users are behind a NAT or a firewall, they may complain of being unable to use the microphone. The TURN protocol is designed to allow UDP-based communication flows like WebRTC to bypass NAT or firewalls by having the client connect to the TURN server, and then have the TURN server connect to the destination on their behalf.
    1. You can use this server (stunServerAddress=51.38.45.26, stunServerPort=3478) in /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini and restart BBB server (bbb-conf –restart), or
    2. You can use google’s default STUN, or
    3. Click here to learn how to setup a TURN server for BigBlueButton to allow users behind restrictive firewalls to connect.

2. Why can’t I hear anything on BigBlueButton

If you are not able to hear anything during a BigBlueButton live session,

  1. First, please ensure that you are using the correct microphone and it is plugged in,
  2. Second, allow the access to the microphone, when promoted by your browser while you are joining the meeting.

3. How to setup BigBlueButton behind a firewall

Please follow the steps here to configure BigBlueButton with a firewall. You should configure your firewall before Installing BigBlueButton; otherwise, you may get errors during the installation and will be unable to test BigBlueButton after the installation completes. When BigBlueButton is protected behind a firewall, you need to configure the firewall to forward the following incoming connections to BigBlueButton: TCP(80, 443, 7443), and UDP (16384-32768) Check here to install and configure the UFW firewall on Ubuntu.

4. How to start BigBlueButton (or, stop)

Start all the BigBlueButton processes:

$ bbb-conf --start

Stop all the BigBlueButton processes.

$ bbb-conf --stop

5. Why BigBlueButton only shows NGINX page

During installation of BigBlueButton the packaging scripts attempt to assign the correct IP address during setup. However, if the IP address changes (such as when rebooting a VM), or the first IP address was not the correct IP address for the server, you may see a “Welcome to nginx” page.

To fix this issue, please follow the steps below:

 $ sudo bbb-conf --setip 
$ sudo bbb-conf --clean
$ sudo bbb-conf --check
$ sudo bbb-conf --restart

6. How to resolve webcam not found

If you have a built in, an external webcam or multiple webcams, you can share it in BigBlueButton. When you join a BigBlueButton online class, your browser will prompt you to allow access to webcam. The browser permissions will usually appear in the upper right hand corner of the browser; be sure to select allow. Once you have allowed the browser access, you will have to choose the device and share. If you have more than one webcam device connected you may need to select the default device from the drop down. You can also choose the Quality before selecting Share. If you are receiving the message “The webcam is in use by another application” or “NotReadableError: Could not start video source” check that your webcam is not in use by another application such as Skype or Facebook video chat. To clear any access to your webcams, the easiest step is to restart your computer. This clears any access to your webcam so that the browser can access it. If you still face webcam issues, please ensure that you have the latest version of Chrome, FireFox, or Edge (which as of version 18 is based on Chromium). If there is an error setting up a media connection with the BigBlueButton server, the user will get “Error 1020: media could not reach the server”. The issue is network-related (usually due to a firewall). Click here to resolve firewall related issues.

7. How to resolve audio echo

BigBlueButton uses the built-in acoustic echo cancellation, so in most cases, you should not hear any echo from other users.

If your users’ are facing audio issues, you may want to check their upload speed. Please tell your user(s) to check hsi upload speed at http://speedtest.net/. Your users need to have (at least) 0.5 Mbits/sec upload speed and 1.0 Mbits/sec download speed.

Also, are your users using a headset? If the audio is coming out through the speakers into
a microphone, it can cause echo. Hence, the best solution is to ask all users to use a headset – this will ensure no background noise or echo.

If some specific student is causing an echo and disturbing the whole class, the best way to solve this problem is to mute the user by clicking the microphone icon to the left of his name.

For best audio quality, tell your users to use Chrome or FireFox browsers. Both these browsers support web real-time communications (WebRTC) audio. BigBlueButton will use WebRTC for audio if the user is on a Chrome or FireFox browser.

8. High CPU usage even with no meeting running

On your BigBlueButton server you may notice high CPU usage even when no meeting us running.

One possible reason for high CPU usage is that your meeting recordings are getting processed. You can monitor the status of processing with the following command:
$ bbb-record –watch

To ensure that processing doesn’t interfere with your on-going live meetings, you may change the schedule for processing as outlined here.

9. Facing the ICE 1007 Error

Your browser and FreeSWITCH try to negotiate ports to use to stream the media. When that negotiation fails, you may face an ICE 1007 error.

ICE 1007 error may be caused because either:

  1. NAT is blocking the connection, or
  2. Firewall is blocking the UDP connection/ports

Make the following changes to resolve 1007 error:

Open file opt/freeswitch/etc/freeswitch/sip_profiles/external.xml and locate the following section:

<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
<param name="ext-sip-ip" value="$${local_ip_v4}"/>  

Change that to:

<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>

After saving your chances, restart BBB with the following command:

$ bbb-conf --restart

10. Facing 1020 media could not reach the server error

If your BigBlueButton server is behind a Firewall or a NAT, Make sure you follow steps below:

Try adding a public stun server, in /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini

stunServerAddress=203.183.172.196
stunServerPort=3478

You may click here for the list of public stun servers (some may be offline so please check if the server you are going to use is available) or use Google’s (stun.l.google.com, port 19302) or try this (51.38.45.26, port 3478).

Still better, you may set up a turn server as detailed here and check if it’s working by clicking here.

Increase your media negotiation timeouts. Recommend setting is to set baseTimeout to 30000 in /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml

Enable dynamic camera profiles. Needs 2.2.22 or later.

Enable video pagination. Needs 2.2.23 or later.

Also, check the discussion here for additional help.

11. My recording are not processing anymore

Most common reason for your recordings not processing could be that you simply ran out of hard disk space on your server.

Try freeing up disk space, then running the following command:

$ sudo bbb-conf --restart

12. How check the total recording size

BigBlueButton published files are saved in “/var/bigbluebutton/published/” directory. You can use linux “du” command to check folder size:

$ du -sh /var/bigbluebutton/published/MEETING_FOLDER_NAME

13. Huge log file [FreeSWITCH]

If your FreeSWITCH log file, located at /opt/freeswitch/log/freeswitch.log, is getting huge, check it out for any unwanted traffic when there is no BigBlueButton user:

$ tail -f /opt/freeswitch/log/freeswitch.log

If so, you may want to set UFW Firewall rules, as detailed here.

14. Integrate BigBlueButton into your application

Here are some pointers for you to integrate BigBlueButton into your application:

  1. Step 1: Create a meeting by making a request to BBB server for this url – http://yourserver.com/bigbluebutton/api/create?name=Test&meetingID=test01&checksum=1234
  2. Step 2: Join a meeting by making a request to BBB server for this url – http://yourserver.com/bigbluebutton/api/join?meetingID=test01&password=mp&fullName=John&checksum=1234

Check-out the official document for more information about parameters that you can pass to create and join a meeting.

15. Transfer existing published recordings

To quickly copy your existing recordings on an older BBB server to a new BBB server, transfer the contents of the /var/bigbluebutton/published and /var/bigbluebutton/unpublished directories. In addition, to preserve the backup of the original raw media, you should transfer the contents of the /var/bigbluebutton/recording/raw directory.

Here is an example set of rsync commands that would accomplish this; run these on the new server to copy the files from the old server.

$ rsync -e "ssh -i bbb_ssh_key_old_server” -rP root@old-bbb-server:/var/bigbluebutton/published/ /var/bigbluebutton/published/
$ rsync -e "ssh -i bbb_ssh_key_old_server" -rP root@old-bbb-server:/var/bigbluebutton/unpublished/ /var/bigbluebutton/unpublished/
$ rsync -e "ssh -i bbb_ssh_key_old_server” -rP root@old-bbb-server:/var/bigbluebutton/recording/raw/ /var/bigbluebutton/recording/raw/

Before executing the above rsync command, please copy the private SSH key of the old BBB server to a file named bbb_ssh_key_old_server on the new BBB server.

You may also need to update the UFW firewall rule on the old BBB server to allow for RSYNC (runs on port 873) connection from the new BBB server. To achieve this, execute the command below:$ ufw allow from OLD_BBB_SERVER_IP to any port 873

16. How to watch a recorded session in BigBlueButton

You can watch your BigBlueButton recorded session at the following url:

https://BBB_HOST/playback/presentation/2.0/playback.html?meetingId=MEETING_ID

Where,

  • BBB_HOST: The domain or IP of your BigBlueButton server
  • MEETING_ID: Internal meeting id assigned by BigBlueButton. If you know the external meeting id, which is assigned by your UI – Class++, Moodle, Canvas or your custom UI to access BigBlueButton – you can find the internal meeting id by executing this command: $sudo bbb-record –tointernal “EXTERNAL_MEETING_ID”

To watch a recording, the meeting has to be recorded when it is live. Click here to check how to record a meeting.

You can open the link above in Google Chrome or Mozilla Firefox browser to watch a recorded session. On your browser, individual components – video, chat and presentation – are played using HTML, Javascript and CSS libraries.

Please be aware that, with the default BigBlueButton installation, there is no single file (webm or mp4) that you can download.

17. General troubleshooting

Check whether the following ports are open at UFW firewall on your BBB server:

  • TCP: 22, 80, 443, 7443
  • UDP: 16384:32768

If your BBB server behind NAT then first un-comment the line externalAddress=10.20.30.40 in in the /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini file and replace the IP with your external IP address. Then restart bbb-conf –restart

In case you face error 1020 on Safari, please be aware that IPv6 can be disabled on your BBB host and it will still function for iOS devices.

Execute bbb-conf –check and check for the output.
Change wss-binding: 111.111.111.111:7443 to wss-binding: EXTERNAL_IP:7443
Change ext-rtp-ip: $${local_ip_v4} to ext-rtp-ip: $${external_rtp_ip}
Change ext-sip-ip: $${local_ip_v4} to ext-sip-ip: $${external_sip_ip}

In case you face error 1020 on Safari or your BBB server is behind NAT, check to see if you are getting Stun service.
Note down Stun server IP and Port from the file /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
Install Stun client: sudo apt install stun-client
Execute: sudo stun stunAddressAsInKurento:stunPortAsInKurento -v
If you receive code 0x0001c means Stun service is not working.

You may consider installing your own Turn server.

Upgrade your kernel to 4.4.0-187.217
Execute to verify: uname -r

Check that your server has (at least) 4 CPU cores.
Execute to verify: cat /proc/cpuinfo | awk ‘/^processor/{print $3}’ | wc -l

Setup SSL/HTTPS. Otherwise, you may face errors such as blank screen on join meeting or not able to use a webcam.

Are you still using Flash client? Click here to make HTML5 client default.

If you upgraded BigBlueButton to the latest version and are facing issues in joining the meeting, do a bbb-conf –setip

If you are using Greenlight and face a 404 error page after rebooting, the container is probably not running. Do as follows:
$ cd greenlight
$ docker-compose down
$ docker-compose up -d

Sometimes when you reboot, your server IP address may change and you may face 404 error. To resolve this issue, execute the following commands:
$ sudo bbb-conf –setip
$ sudo bbb-conf –clean
$ sudo bbb-conf –check
Also, you should consider using a hostname (not IP address) for your BigBlueButton server. That way, you can also use Let’s Encrypt (via bbb-install.sh) to get a SSL certificate.

If you find that Libreoffice temp files are filling the disk space, you can delete these files using a cron job that runs a command such as
find /tmp/*.tmp -mtime +5 -exec rm {} \;

Please ensure that you are running the latest version of BigBlueButton as that would have many bugs and security fixes. Any problem you might be facing in older versions might have been already addressed.

If everything above fails, just reinstalling BigBlueButton should be enough, but a fresh ubuntu
install won’t hurt if things were messed up.

Leverage the BigBlueButton Community

When the going gets tough, don’t forget to leverage the power of the BigBlueButton community. There are three active mailing lists on Google Group that you can use:

  • BigBlueButton-Dev: A space for developers to discuss changes to the BigBlueButton source, understand its architecture, and propose feature requests.
  • BigBlueButton-Setup: A forum for administrators of a BigBlueButton server. Topics include installation, configuration, firewall access, and setting up 3rd party integrations.
  • Bigbluebutton-Users: An open space for end-user questions. Here, you can ask anything about using BigBlueButton.

Just remember to provide as much information as possible when seeking help and be patient. Your solution might

Finished browsing

be just around the corner!

In addition to the community, you can also reach out to BigBlueButton experts from HigherEdLab.com. They are always happy to help and provide further guidance.

Conclusion

Navigating BigBlueButton issues doesn’t have to be a nightmare. By following this comprehensive troubleshooting guide, leveraging the power of the BigBlueButton community, and reaching out to experts when necessary, you can conquer any obstacle in your path. Happy troubleshooting!

Remember, when it comes to troubleshooting BigBlueButton, you’re not alone!

You may also like …

BigBlueButton WordPress Help

Discover the BigBlueButton WordPress Plugin, a versatile tool for both online classrooms and corporate meetings. Seamlessly integrate with BigBlueButton servers, create unlimited classes, initiate sessions with a click, and enjoy extensive customization. Experience effortless hosting with enhanced security, personalized branding, and no impact on site performance. Elevate your virtual engagement effortlessly.

Save 40% on BigBlueButton Hosting

Enjoy a 40% reduction in your hosting expenses compared to AWS, Digital Ocean, and other hosting providers, enabling you to invest more in your core business. Embrace a 100% uptime, experts-managed online classroom experience today.