Bigbluebutton server on windows

Содержание
  1. Setup a TURN server
  2. Required Hardware
  3. Required Software
  4. Required DNS Entry
  5. Required Ports
  6. Generating TLS certificates
  7. Configure coturn
  8. Configure Log Rotation
  9. Restart coturn
  10. Configure BigBlueButton to use your TURN server
  11. Test you TURN server
  12. BigBlueButton — Бесплатная вебинарная комната на своем сервере
  13. Основные Преимущества BBB
  14. Устанавливается На Ваш Сервер
  15. Никаких Ограничений И Скрытых Лимитов
  16. Имеет Современный Адаптивный Дизайн
  17. Как проводить вебинары?
  18. Как настроить сервис?
  19. Возможности BigBlueButton
  20. Быстрый Запуск
  21. Высокое Качество
  22. Демонстрация Экрана
  23. Живой Чат и Заметки
  24. Интерактивная Доска
  25. Опросы и тестирование
  26. Тарифы на наши Услуги
  27. DEMO Версия
  28. Аренда
  29. Установка
  30. Как Мы Работаем
  31. Регистрация Домена
  32. Покупка Сервера
  33. Заказ Установки
  34. Отзывы Клиентов
  35. Языковой Клуб
  36. Дмитрий Иванов
  37. Станислав Муневич
  38. Ляля Абдуллина
  39. Нам Доверяют
  40. Вопросы — Ответы
  41. Дополнительные Услуги
  42. Before you install
  43. Installing BigBlueButton 1.0
  44. 1. Update your server
  45. 2. Install PPA for LibreOffice 4.4 and libssl
  46. 3. Install key for BigBlueButton
  47. 4. Install ffmpeg
  48. 5. Install BigBlueButton
  49. ImageMagick security issues
  50. 6. Install API Demos
  51. 7. Install Client Self-Check
  52. 8. Enable WebRTC audio
  53. 9. Do a Clean Restart
  54. Upgrading BigBlueButton 0.9/1.0
  55. Configuring HTTPS on BigBlueButton
  56. Configure BigBlueButton to use a domain name
  57. Obtain an SSL certificate
  58. Configure nginx to use HTTPS
  59. Configure FreeSWITCH & WebRTC
  60. Configure BigBlueButton to load session via HTTPS
  61. Edit Demo Files
  62. Restart BigBlueButton
  63. Test your HTTPS configuration
  64. Troubleshooting Installation
  65. Run sudo bbb-conf –check
  66. Could not get your microphone for a WebRTC call
  67. Tomcat7 takes a long time to startup
  68. Errors with packages
  69. Some packages could not be installed error (libpython3.4)
  70. Welcome to nginx
  71. BigBlueButton does not load
  72. Audio not working
  73. Conference not found errors
  74. No Symbolic Link
  75. Voice Application failed to register with sip server
  76. Client WebRTC Error Codes
  77. Not running: nginx
  78. Reprocess Recordings from 0.81
  79. Re-process raw recordings from an old server
  80. Transfer existing published recordings from an 0.81 server
  81. Root partition too small
  82. Unable to create presentation
  83. Installing previous versions

Setup a TURN server

BigBlueButton normally requires a wide range of UDP ports to be available for WebRTC communication. In some network restricted sites or development environments, such as those behind NAT or a firewall that restricts outgoing UDP connections, users may be unable to make outgoing UDP connections to your BigBlueButton server.

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.

In addition, the TURN server implements the STUN protocol as well, used to allow direct UDP connections through certain types of firewalls which otherwise might not work.

Using a TURN server under your control improves the success of connections to BigBlueButton and also improves user privacy, since they will no longer be sending IP address information to a public STUN server.

Required Hardware

The TURN protocol is not CPU or memory intensive. Additionally, since it’s only used during connection setup (for STUN) and as a fallback for users who would otherwise be unable to connect, the bandwidth requirements aren’t particularly high. For a moderate number of BigBlueButton servers, a single small VPS is usually sufficient.

Having multiple IP addresses may improve the results when using STUN with certain types of firewalls, but is not usually necessary.

Having the server behind NAT (for example, on Amazon EC2) is OK, but all incoming UDP and TCP connections on any port must be forwarded and not firewalled.

Required Software

We recommend using a minimal server installation of Ubuntu 20.04. The coturn software requires port 443 for its exclusive use in our recommended configuration, which means the server cannot have any dashboard software or other web applications running.

Stable versions of coturn are already available in the Ubuntu packaging repositories for version 20.04 and later, and it can be installed with apt-get:

Note: coturn will not automatically start until configuration is applied (see below).

Required DNS Entry

You need to setup a fully qualified domain name that resolves to the external IP address of your turn server. You’ll use this domain name to generate a TLS certificate using Let’s Encrypt (next section).

Required Ports

On the coturn server, you need to have the following ports (in addition port 22) available for BigBlueButton clients to connect (port 3478 and 443) and for coturn to connect to your BigBlueButton server (32768 — 65535).

Ports Protocol Description
3478 TCP/UDP coturn listening port
443 TCP/UDP TLS listening port
32768-65535 UDP relay ports range

Generating TLS certificates

You can use certbot from Let’s Encrypt to easily generate free TLS certificates. To setup certbot enter the following commands on your TURN server (not your BigBlueButton server).

You can then run a certbot command like the following to generate the certificate, replacing with the domain name of your TURN server:

Current versions of the certbot command set up automatic renewal by default. To ensure that the certificates are readable by coturn , which runs as the turnserver user, add the following renewal-hook to Let’s Encrypt. First, create the directory /etc/letsencrypt/renewal-hooks/deploy .

Next, create the file /etc/letsencrypt/renewal-hooks/deploy/coturn with the following contents. Replace with the hostname of your TURN server.

Make this file executable.

Configure coturn

coturn configuration is stored in the file /etc/turnserver.conf . There are a lot of options available, all documented in comments in the default configuration file. We include a sample configuration below with the recommended settings (refer to the default configuration file for more information on the settings)..

Use the file below for /etc/turnserver.conf and make the following changes:

  • Replace with the hostname of your TURN server, and
  • Replace with the realm of your TURN server, and
  • Replace to a random value for a shared secret (you can generate one by running openssl rand -hex 16 )
  • Replace with the external IP of your TURN server

This configuration file assumes your TURN server is not behind NAT and has a public IP address.

We need to create dph.pem file,

To increase the file handle limit for the TURN server and to give it the ability to bind to port 443, add the following systemd override file. First, create the directory.

and then then create /etc/systemd/system/coturn.service.d/override.conf with the following contents

Configure Log Rotation

To rotate the logs for coturn , install the following configuration file to /etc/logrotate.d/coturn

And create the associated log directory

Restart coturn

With the above steps completed, restart the TURN server

Ensure that the coturn has binded to port 443 with netstat -antp | grep 443 . Also restart your TURN server and ensure that coturn is running (and binding to port 443 after restart).

Configure BigBlueButton to use your TURN server

You must configure bbb-web so that it will provide the list of turn servers to the web browser. Edit the file /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml using the contents below and make edits:

  • replace both instances of with the hostname of the TURN server, and
  • replace with the secret you configured in turnserver.conf .

Restart your BigBlueButton server to apply the changes.

Going forward, when users connect behind a restrictive firewall that prevents outgoing UDP connections, the TURN server will enable BigBlueButton to connect to FreeSWITCH and Kurento via the TURN server through port 443 on their firewall.

Test you TURN server

By default, your browser will try to connect directly to Kurento or FreeSWITCH using WebRTC. If it is unable to make a direct connection, it will fall back to using the TURN server as one of the interconnectivity connectivity exchange (ICE) candidates to relay the media.

Use FireFox to test your TURN server. FireFox allows you to disable direct connections and require fallback to your TURN server. Launch FireFox, open about:config , and search for ‘relay . You should see a parameter media.peerconnection.ice.relay_only . Set this value to true`.

With FireFox configured to only use a TURN server, open a new tab and join a BigBlueButton session, and share your webcam. If your webcam appears, you can verify that FireFox is using your TURN server by opening a new tab and choosing about:webrtc . Click show details and you’ll see a table for ICE Stats. The successful connection, shown at the top of the table, should have (relay-tcp) in the Local Candidate column. This means the video connection was successfully relayed through your TURN server.

If, however, you received a 1020 (unable to establish connection) when sharing a webcam the browser may not be able to connect to the TURN server or the TURN server is not running or configured correctly. Check the browser console in FireFox. If you see

then FireFox was unable to communicate with your TURN server, or your TURN server was not running or configured correctly.

To ensure that your firewall is not blocking UDP connections over port 443, open a new tad visit https://test.bigbluebutton.org/, launch a test session, and try sharing your webcam. the browser may not be able to connect to the TURN server or the TURN server is not running or configured correctly.

The TURN server also acts as a STUN server, so you can first check that the STUN portion is working using the stunclient . Run the following commands below and substitute with the hostname of your TURN server.

If successful, you should see output for stunclient should be similar to the following.

If you get an error, check that coturn is running on the TURN server using systemctl status coturn.service . Check the logs by doing tail -f /var/log/turnserver/coturn.log . You can get verbose logs by adding verbose to /etc/turnserver.conf and restarting the TURN server systemctl restart coturn.service

You can test your TURN server using the trickle ICE page. This gives you a log of the relay candidates as they are returned from ICE gathering. To test using this page, you need to generate some test credentials. Run the following BASH script and substitute with the hostname of your TURN server and with the password for your TURN server.

BigBlueButton — Бесплатная вебинарная комната на своем сервере

Устанавливается на Выделенный или Виртуальный сервер для проведения вебинаров, онлайн занятий, онлайн консультаций и видеоконференций.

Основные Преимущества BBB

BigBlueButton — это облачная платформа по функционалу не уступающая ни одному сервису для проведения вебинаров.

Устанавливается
На Ваш Сервер

После установки, платформа для Вас полностью Бесплатна. Вы платите только за свой сервер.

Никаких Ограничений
И Скрытых Лимитов

Пропускная способность зависит только от мощности Вашего сервера и элементов инфраструктуры.

Имеет Современный
Адаптивный Дизайн

Платформа BigBlueButton работает через браузер и адаптируется под мобильные устройства и планшеты.

Как проводить вебинары?

Из этого видео Вы узнаете об основных возможностях BigBlueButton во время проведения онлайн лекций и вебинаров.

Создание одной или нескольких вебинарных комнат

Основные и скрытые функции управления трансляцией

Формат презентаций и подключение нескольких вебкамер

Отключение функций участников и передача прав спикерам

Как настроить сервис?

В этом видео мы расскажем какие настройки есть в панели управления и как администратору настроить сервис под себя.

Установка логотипа и цветовой гаммы личного кабинета

Включение и отключение функций в вебинарной комнате

Управление спикерами и слушателями онлайн занятий

Команды для управления функциями сервиса через консоль

Заказов на Установку

Ответов на Сообщения

Возможности BigBlueButton

BigBlueButton имеет все необходимые инструменты для проведения вебинаров для неограниченного количества посетителей.

Быстрый Запуск

Создать новый вебинар можно за несколько секунд, а для входа нужно перейти по ссылке и указать имя

Высокое Качество

Подключайте одну или несколько Вебкамер и запустите трансляцию в HD формате

Демонстрация Экрана

Включите показ всего экрана или отдельной программы для демонстрации в реальном времени

Живой Чат и Заметки

Общайтесь с участниками через онлайн чат и оставляйте важную информацию в заметках

Интерактивная Доска

Рисуйте, подчеркивайте и комментируйте записи на слайдах презентации или на белой доске

Опросы и тестирование

Проводите опросы и тестирование, прямо во время трансляции и сразу же публикуйте результаты

Тарифы на наши Услуги

Если у Вас есть какие то вопросы, можете задать их нам через Online чат на нашем сайте.

DEMO Версия

Пользуйтесь на здоровье!

1 Аккаунт Спикера

1 Вебинарная Комната

15 мин. Длительность Вебинара

До 5 Участников в Комнате

Интеграция Через API Ключи

Аренда

Купите аккаунт на нашем сервере

1 Аккаунт Спикера

1 Вебинарная Комната

2 Часа Длительность Вебинара

До 50 Участников в Комнате

Интеграция Через API Ключи

Установка

Услуга установки на Ваш сервер

/единоразово (вместо 3500₽)

До 300 Участников в Комнате

Интеграция Через API Ключи

Как Мы Работаем

ОБЯЗАТЕЛЬНО изучите инструкцию прежде чем покупать Сервер и оплачивать установку.

Регистрация Домена

Вы можете использовать свой домен или мы можем предоставить Вам поддомен на bigbluebutton.ru

Покупка Сервера

Для установки нужно купить сервер, соответсвующий минимальным параметрам по Инструкции.

Заказ Установки

Как только домен и сервер готовы, Вы можете создать заявку и оплатить установку BigBlueButton.

Отзывы Клиентов

Отзыв это лучшая награда за проделанную работу.

Установили в течение дня. В процессе помогли с устранением неполадок 🙏

Языковой Клуб

Отличная работа, прекрасная тех поддержка отвечаете и в выходные, подгоняете ленивых работников хостинга. просто приятно с вами сотрудничать. Спасибо!

Дмитрий Иванов

КБГУ им. Бербекова ’99

С огромной благодарностью за отличную работу! Теперь и у нашей школы есть свой инструмент для проведения online уроков. Интегрируем BigBlueButton на школьную платформу Moodle. Впереди ещё тестирование ресурса, но есть предчувствие, что все будет отлично!

Станислав Муневич

Хочу выразить огромную благодарность! Подключились к платформе, не все было вначале гладко, но наши замечания, а порой претензии были выслушаны, и приняты адекватно. Работают оперативно, всегда на связи. Проводим дистанционно уроки, по-тихоньку подключаем всю школу. Спасибо за ваш труд!

Ляля Абдуллина

Уфимская Средняя Школа

Нам Доверяют

Вопросы — Ответы

Ваши вопросы Вы можете задать через онлайн чат на сайте. Так же можете связаться с нами используя эти контакты:

Телефон и WhatsApp: 8 950 313 49 49

Дополнительные Услуги

По мимо заказа установки BigBlueButton Вы можете заказать дополнительные услуги по настройке сервера.

Before you install

The prerequisites for BigBlueButton 1.0 server are

  • Ubuntu 14.04 64-bit server
  • 4 GB of memory with swap enabled (8 GB is better)
  • Quad-core 2.6 GHZ CPU (or faster)
  • TCP ports 80, 1935, 9123 are accessible
  • UDP ports 16384 — 32768 are accessible
  • Port 80 is not in use by another application
  • 500G of free disk space (or more) for recordings
  • 100 Mbits/sec bandwidth (symmetrical)
  • Dedicated (bare metal) hardware (not virtualization)

If you intend to setup BigBlueButton for development, then installation in a virtualized environment works well. For development, you probably don’t need a VM with 500G of free disk space; 50G would be sufficient. However, if you intend to run BigBlueButton in production, we recommend installation on a dedicated (bare metal) server. BigBlueButton uses FreeSWITCH for processing the incoming real-time packets for audio, and FreeSWITCH works best in a non-virtualized environment (see FreeSWITCH recommended configurations).

For users we recommend (a minimum of) 1.0 Mbits/sec download speed and 0.5 Mbits/sec upload speed.

In addition to ensuring your server meets the above requirements, there are a few more checks. First, the locale of the server must be en_US.UTF-8. To verify , enter the following command

If you don’t see LANG=»en_US.UTF-8″ , then enter the following commands.

and logout and log back into your SSH session (this will reload your configuration). Run cat /etc/default/locale again and verify you see only the single line LANG=»en_US.UTF-8″ . Note: if you see an additional line LC_ALL=en_US.UTF-8 , then remove the setting for LC_ALL before continuing.

Check that your server is running 64-bit.

Check your version of Ubuntu is Ubuntu 14.04.

We have designed, developed, installed, and tested BigBlueButton 1.0 on Ubuntu 14.04 64-bit (Trusty Tahr). In other words, we have neither installed nor tested BigBlueButton on a different release of Ubuntu (and it will likely not work).

Installing BigBlueButton 1.0

If you have already installed an earlier build of 0.9/1.0 then see upgrading BigBlueButton 0.9

A few words about the installation steps below. You must completely finish each step before proceeding to the next. If you encounter an error at any step, STOP and double-check you’ve entered the proper commands, and don’t continue onto the next step as you’ll only compound the errors. If you can’t resolve the error (use Google to search for the error messages), then post a description of the error to the bigbluebutton setup mailing list and the community will help.

1. Update your server

Login to your server via SSH. You need to have an account that can execute commands as root (via sudo). First, ensure that you have trusty multiverse in your sources.list . Do the following.

and you should see an uncommented line for the multiverse repository, which may look like

Don’t worry if your URL is different, what’s important is you see an uncommented link that contains multiverse. If you don’t, then execute the following line to add the multiverse repository to your sources.list file.

Before proceeding further, do a dist-upgrade to ensure all the current packages on your server are up-to-date.

If you’ve not updated in a while, apt-get may recommend you reboot your server after dist-upgrade finishes. Do the reboot before proceeding to the next step.

If you are installing BigBlueButton on EC2 (good for testing, but for production we recommend using a physical server for better performance), Amazon EC2 provides an external and internal IP address. After you install BigBlueButton, complete the steps outlined here.

2. Install PPA for LibreOffice 4.4 and libssl

Ubuntu 14.04 installs LibreOffice 4.2.x by default, but we want to use LibreOffice 4.4 for improved stability on conversion of Microsoft Office documents to PDF.

To add the repository for LibreOffice 4.4, enter the following commands:

Also, Chrome 52 (currently in beta) will rquire ECDSA keys in the audio connection between the browser and FreeSWITCH server. In order for FreeSWITCH to support ECDSA key (and let the user connect with WebRTC audio on Chrome 52+), you need to add the follwing PPA

3. Install key for BigBlueButton

You need to give your server access to the BigBlueButton package repository. First, add the BigBlueButton key

Next, add the BigBlueButton repository URL.

Finally, update the package list.

4. Install ffmpeg

BigBlueButton 1.0 uses ffmpeg to create components of the playback files (the audio, video, and desktop sharing components).

To install ffmpeg, create a file called install-ffmpeg.sh and copy-and-paste in the following script.

Next, make the script executable and run it.

After the script finishes, check that ffmpeg is installed by typing the command ffmpeg -version . You should see the following

5. Install BigBlueButton

We’re now ready to install BigBlueButton 1.0 Type

This single command is where all the magic happens. This command installs all of BigBlueButton’s components with their dependencies.

Type ‘Y’ and press enter to install. If you get an error message

you can ignore it as you’ll do a clean restart of all the BigBlueButton components in step 9.

ImageMagick security issues

The version of ImageMagick included with Ubuntu 14.04 is vulnerable to CVE-2016-3714, which can result in remote code execution. To mitigate the issue, please edit the file /etc/ImageMagick/policy.xml and ensure that it has the following contents:

Run convert -list policy to confirm that the security policies have been applied.

Some additional policies to limit resource consumption may also be useful, see ImageMagick Policy Configuration for details.

6. Install API Demos

This step is optional.

If you want to interactively test your BigBlueButton server (as opposed to using an 3rd party integration), you can install a set of API demos.

You’ll need the bbb-demo package installed if you want to join the Demo Meeting from your BigBlueButton server’s welcome page. This is the same welcome page you see at demo server.

Later on, if you wish to remove the API demos, you can enter the command

7. Install Client Self-Check

This step is optional

BigBlueButton has a self-check utility that can help diagnose networking and configuration issues that may prevent a user from launching BigBlueButton. To install the client self-check page:

This is the same welcome page you see at client self-check.

Later on, if you wish to remove the client self-check page, you can enter the command

8. Enable WebRTC audio

To enable WebRTC audio (you want to do this), do the following

9. Do a Clean Restart

To ensure BigBlueButton has started cleanly, enter the following commands:

The —clean option will clear out all the log files for BigBlueButton. The —check option will grep through the log files looking for errors.

The output from sudo bbb-conf —check will display your current settings and, after the text, “ Potential problems described below “, print any potential configuration or startup problems it has detected.

Here is a sample output from a new install on a server with hostname demo.bigbluebutton.org.

The command sudo bbb-conf —check will also point out potential problems that may be actual problems or warnings. Here, it warns you you currently have the API demos installed, which would enable anyone with access to the server to launch sessions.

At this point, you could try out your server by opening http://demo.bigbluebutton.org with your web browser (FireFox or Chrome recommended as they support WebRTC audio). There is, in fact, a demo server running at http://demo.bigbluebutton.org if you want to try out BigBlueButton.

If BigBlueButton didn’t install or run, see troubleshooting installation.

Upgrading BigBlueButton 0.9/1.0

If already have a BigBlueButton 0.81 server, these instructions will not upgrade your server. You need to install on a clean installation of 1.0 on Ubuntu 14.04 64-bit and follow the steps previous in this document.

To upgrade your BigBlueButton 0.9 server, first setup BigBlueButton repository URL as instructed in Step 3.. Next, add the package repository for LibreOffice 4.4 (if you’ve not already done this). To check if you have libreoffice 4.3, enter the command dpkg -l | grep libreoffice and you should see a version 4.4.X of libreoffice.

then enter the following commands to upgrade to LibreOffice 4.4 (you need only do these commands once).

Next,before you upgrade your BigBlueButton 1.0 server (or upgrade 0.9 to 1.0), you need to ensure you have libssl1.0.2 installed to enable FreeSWITCH to support ECDSA keys (see more information). To check, do the following command

If you only see libssl1.0.0 , then do the following

After the install you should see the libssl1.0.2 package.

Your now ready to upgrade. To upgrade BigBlueButton 0.9/1.0, do the following:

Respond with ‘Y’, if you get prompted to update any configuration file during the upgrade

Configuring HTTPS on BigBlueButton

You’ll want to add HTTPS support to your BigBlueButton server for increased security. Also, as of Chrome 47, Chrome users will be unable to share their microphone via WebRTC unless BigBlueButton is loaded via HTTPS.

Configure BigBlueButton to use a domain name

In order to obtain a valid SSL certificate for your server, you must configure the server to use a domain name that you own or control.

For the purposes of documentation, we will be using the domain name “example.com”, with a BigBlueButton server hosted at “bigbluebutton.example.com”.

Please run the commands as root.

Once you have a domain name and have configured it with a DNS host, add an A record pointing to your server. You can then use the bbb-conf setip command to configure BigBlueButton to use that domain name, for example:

Obtain an SSL certificate

In order to serve BigBlueButton over HTTPS, you need to have a valid SSL certificate. A domain validated (sometimes called “class 1”) certificate with a 2048 bit RSA key and SHA-256 checksum is the current recommended minimum, and it should be sufficient.

There are a number of providers that you could obtain a certificate from. Many domain name sales companies also offer certificates.

Some well known large providers of SSL certificates include Comodo, Symantec, GoDaddy, GlobalSign, and DigiCert. In addition, free SSL certificates are available from StartSSL and CACert, with some caveats: StartSSL certificates can’t be revoked without paying a service fee, and most people do not have the root for CACert installed in their web browser.

Each provider will give you a series of steps for generating the certificate, but they will normally include generating a private key and certificate request locally, sending the certificate request to be signed, and then receiving back the signed certificate after they have performed any required verification steps.

To install the certificate in BigBlueButton, you will need to have files for the certificate, private key, and any intermediate certificates in PEM format.

Configure nginx to use HTTPS

Depending on your CA, you should now have 2 or more files, as follows:

  • Certificate
  • Private key
  • Intermediate certificate (there may be more than one, or could be none)

The next step is to install the files on the server.

Create the directory /etc/nginx/ssl:

And now create the private key file for nginx to use (replace the hostname in the filename with your own). In addition, fix the permissions so that only root can read the private key:

And the certificate file. Note that nginx needs your server certificate and the list of intermediate certificates together in one file (replace the hostname in the filename with your own):

In addition, we’ll generate a set of 2048-bit diffie-hellman parameters to improve security for some types of ciphers. This step can take several minutes to complete, particularly if run on a virtual machine.

Now we can edit the nginx configuration to use SSL. Edit the file /etc/nginx/sites-available/bigbluebutton to add the marked lines. Ensure that you’re using the correct filenames to match the certificate and key files you created above.

For reference, note that the SSL settings used above are based on those proposed in https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ and provide support for all modern browsers (including IE8, but not IE6, on Windows XP). Please note that recommended SSL settings are subject to change as new vulnerabilities are found.

Configure FreeSWITCH & WebRTC

Edit the file /opt/freeswitch/conf/sip_profiles/external.xml and look for a line containing “ws-binding”. Edit it to match the following

Now the websocket forwarding address in nginx must be updated. Edit the file /etc/bigbluebutton/nginx/sip.nginx and change the protocol and port on the proxy_pass line as shown:

In addition, the webrtc code in the client must be updated to use the secure websockets connection. Edit the file /var/www/bigbluebutton/client/lib/bbb_webrtc_bridge_sip.js and change the line that selects the ‘ws’ protocol to use ‘wss’ instead:

You have to apply the same change in the bbb-client-check module. Edit the file /var/www/bigbluebutton/check/resources/lib/bbb_webrtc_bridge_sip.js and change the line that selects the ‘ws’ protocol to use ‘wss’ instead:

Configure BigBlueButton to load session via HTTPS

Edit the file /var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties and update the property bigbluebutton.web.serverURL to use https:

You must also update the file /var/www/bigbluebutton/client/conf/config.xml to tell the client to load components via https. Since this is tedious to do by hand, you can use the following command to apply the change:

If you would ever need to revert this change, you can run the reverse command:

Edit Demo Files

Edit /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp to use https.

Restart BigBlueButton

To apply all of the configuration changes made, you must restart all components of BigBlueButton:

Test your HTTPS configuration

In order to ensure you didn’t make any mistakes that could cause security compromises, please test your HTTPS configuration. A well-respected site that can do a series of automated tests is https://www.ssllabs.com/ssltest/ — simply enter your server’s hostname, optionally check the “Do not show results” checkbox if you would like to keep it private, then Submit.

At time of writing, the configuration shown on this page should achieve an “A” ranking in the SSL Labs test page.

Troubleshooting Installation

The following will help you resolve common errors with installation.

Run sudo bbb-conf –check

We’ve built in a BigBlueButton configuration utility, called bbb-conf , to help you configure your BigBlueButton server and troubleshoot your setup if something doesn’t work right.

If you think something isn’t working correctly, the first step is enter the following command.

This will check your setup to ensure the correct processes are running, the BigBlueButton components have correctly started, and look for common configuration problems that might prevent BigBlueButton from working properly.

If you see text after the line ** Potential problems described below ** , then it may be warnings (which you can ignore if you’ve change settings) or errors with the setup.

Could not get your microphone for a WebRTC call

At the time of writing, the current release is Chrome 45. As of Chrome 47 (coming soon), Chrome will require that any access to the user’s micrphone for WebRTC be restricted to sites that are served via HTTPS. Users using Chrome Canary will also have this requirement.

If the user attempts to share their microphone, Chrome will block access and BigBlueButton will report the following error

WebRTC Audio Failure: Detected the following WebRTC issue: Could not get your microphone for a WebRTC call. Do you want to try flash instead?

To enable Chrome to access the user’s microphone, see Coniguring HTTPS on BigBlueButton.

Tomcat7 takes a long time to startup

Tomcat relies on the SecureRandom class (which uses available entropy) to provide random values for its session IDs. On a virtualized server, however, the available entropy can run low and cause tomcat7 to block for a long period before it finishes it’s startup sequence (see Tomcat Entropy Source).

To provide tomcat7 with more entropy, you can install havaged

Errors with packages

Some hosting providers do not provide a complete /etc/apt/source.list . If you are finding your are unable to install a package, try replacing your /etc/apt/sources.list with the following

and try installing BigBlueButton again from the beginning.

Some packages could not be installed error (libpython3.4)

Some installations of Ubuntu 14.04 might have broken python3.4 packages installed. To check if this issue affects you, run the following command:

If you get output that looks similar to the following — in particular, if it mentions the python version “3.4.3-1ubuntu1

14.04.1”, then you are hitting this issue:

To fix this problem, run the following commands:

If those commands complete, you can go back to the installation instructions and try the package that had failed again.

Welcome to nginx

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 reconfigure the BigBlueButton to use the correct IP address or hostname, see BigBlueButton does not load.

BigBlueButton does not load

If your server has multiple network connections, the install scripts may have used the wrong IP for BigBlueButton’s configuration. Another possibility is you want to access BigBlueButton through a hostname (but not IP).

To change all of BigBlueButton’s configuration files to use a different IP address or hostname, enter

For more information see bbb-conf options.

Audio not working

If you are installing BigBlueButton on EC2 or a hosting provider that has a number of network interfaces, you need to tell FreeSWITCH to listen on your external interface on it’s IP address (shown below as EXTERNAL_IP_ADDRESS). You must use the external IP address where EXTERNAL_IP_ADDRESS is show (not the external hostname).

Remove this line

Edit /opt/freeswitch/conf/sip_profiles/external.xml and change

Edit /etc/bigbluebutton/nginx/sip.nginx to

changing EXTERNAL_IP_ADDRESS to your server’s elastic IP address.

Open the following TCP and UPD ports on the local firewall (if you have one installed) and security groups (if your using EC2):

  • TCP — 5066
  • UDP — 16384 to 32768
  • TCP — 7443 (if you have HTTPS enabled)

Conference not found errors

The command sudo bbb-conf —debug searches through the red5, tomcat7, and nginx logs looking for errors and exceptions. However, the messages such as

are innocious and can be ignored.

If you’ve installed/uninstalled BigBlueButton packages, you may get a No Symbolic Link warning from bbb-conf —check :

To solve this, add a symbolic link to nginx for the BigBlueButton site:

Voice Application failed to register with sip server

When doing sudo bbb-conf —check , you may see the warning

This error occurs when bbb-apps-sip isn’t able to make a SIP call to FreeSWITCH. You’ll see this in BigBlueButton when users click the headset icon and don’t join the voice conference.

One possible cause for this is you have just installed BigBlueButton, but not restarted it. The packages do not start up the BigBlueButton components in the right order. To restart BigBlueButton, do the following:

If you don’t want FreeSWITCH to bind to 127.0.0.1, you need to figure out which IP address it’s using. First, determine the IP address FreeSWITCH is monitoring for incoming SIP calls with the following command:

You should see an output such as

In this example, FreeSWITCH is listening on IP address 234.147.116.3. The IP address on your server will be different.

Next, edit /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties and set the value for sip.server.host to the IP address returned from the above command. Save the changes (you’ll need to edit the file as root to save changes).

Restart BigBlueButton using the commands and run the built-in diagnostics checks.

If the above does not resolve your problem, post to the output of the commands sudo bbb-conf —check and ifconfig to bigbluebutton-setup and we’ll help you there. `

Client WebRTC Error Codes

WebRTC offers very high-quality audio. However, the user’s network settings (or firewall) may not allow WebRTC to connect (or keep connected).

Here are the following lists the possible WebRTC error messages that a user may encounter:

  • 1001: WebSocket disconnected — The WebSocket had connected successfully and has now disconnected. Possible Causes:
    • Loss of internet connection
    • Nginx restarting can cause this
  • 1002: Could not make a WebSocket connection — The initial WebSocket connection was unsuccessful. Possible Causes:
    • Firewall blocking ws protocol
    • Server is down or improperly configured
  • 1003: Browser version not supported — Browser doesn’t implement the necessary WebRTC API methods. Possible Causes:
    • Out of date browser
  • 1004: Failure on call — The call was attempted, but failed. Possible Causes:
    • For a full list of causes refer here, http://sipjs.com/api/0.6.0/causes/
    • There are 24 different causes so I don’t really want to list all of them
  • 1005: Call ended unexpectedly — The call was successful, but ended without user requesting to end the session. Possible Causes:
    • Unknown
  • 1006: Call timed out — The library took too long to try and connect the call. Possible Causes:
    • Previously caused by Firefox 33-beta on Mac. We’ve been unable to reproduce since release of FireFox 34
  • 1007: ICE negotiation failed — The browser and FreeSWITCH try to negotiate ports to use to stream the media and that negotiation failed. Possible Causes:
    • NAT is blocking the connection
    • Firewall is blocking the UDP connection/ports
  • 1008: Call transfer failed — A timeout while waiting for FreeSWITCH to transfer from the echo test to the real conference. This might be caused by a misconfiguration in FreeSWITCH, or there might be a media error and the DTMF command to transfer didn’t go through (In this case, the voice in the echo test probably didn’t work either.)
  • 1009: Could not fetch STUN/TURN server information — This indicates either a BigBlueButton bug (or you’re using an unsupported new client/old server combination), but could also happen due to a network interruption.

Not running: nginx

The common reasons for nginx not running are inability to bind to port 80 and configuration errors. To check if port 80 is already in use, use

to see if any process is currently bound to port 80. If so, check to see if another web server is installed. If so, then stop the web server and try to restart nginx. One of the server requirements before you install BigBlueButton is that port 80 is not in use by another application (such as Apache). For details on why this is a requirements, see We recommend running BigBlueButton on port 80.

If port 80 is free, check if your nginx configuration file has errors. Try a restart of nginx

and look for the output of

If you see [ Fail ] , then your nginx configuration files might have a syntax error. Check the syntax of the nginx configuration files using the command

and see if it repots any errors. You can also check the error.log file for nginx to see what errors it gives on startup

Reprocess Recordings from 0.81

With the update from BigBlueButton 0.81 to 0.9, we do not support upgrading a server in place. Instead, we recommend installing a fresh copy of Ubuntu 14.04 for BigBlueButton 0.9.

There are two ways of importing recordings from an old BigBlueButton server to a new one; they are described separately.

Re-process raw recordings from an old server

This is the recommended way of copying recordings, since the recordings will be rebuilt using newer versions of the recording software, enabling new features and fixing bugs that may have been present with the old version. The downside is that this can take a long time, and will use a lot of CPU on your new BigBlueButton server while you wait for the recordings to process.

If your old server has all of the original recording files in the /var/bigbluebutton/recording/raw directory, then you can transfer these files to the new server, for example with rsync:

This example rsync command could be run on the new server, and will copy the recording file from the old server.

There are other ways of transferring these files; for example, you could create a tar archive of the /var/bigbluebutton/recording/raw directory, and copy it with scp, or use a shared NFS mount. Any method should work fine.

You will then need to fix the permissions on the newly copied recordings:

And initiate the recording re-processing

The BigBlueButton server will automatically go through the recordings and rebuild and publish them. You can use the bbb-record —watch command to see the progress.

Transfer existing published recordings from an 0.81 server

If you want to do the minimum amount of work to quickly make your existing recordings on a 0.81 server available on a BigBlueButton 0.9 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.

Other methods of transferring these files can also be used; for example, you could create a tar archive of each of the directories, and transfer it via scp, or use a shared NFS mount.

You will then need to fix the permissions on the newly copied recordings:

If the recordings were copied from a server with a different hostname, you will have to run the following command to fix the stored hostnames. (If you don’t do this, it’ll either return a 404 error, or attempt to load the recordings from the old server instead of the new server!)

Note that this command will restart the BigBlueButton server, interrupting any live sessions.

The transferred recordings should be immediately visible via the BigBlueButton recordings API.

Finally, if you are transferring recordings from a BigBlueButton 0.80 server, they may have been done in an older recording format called “slides”. In order to correctly play back these recordings on a new BigBlueButton server, you will have to install an additional package:

Root partition too small

If the root partition on your BigBlueButton server is too small (for disk space requirements see Before you install), we recommend moving the following directories to an external partition with sufficent disk space.

BigBlueButton processing and storage of recordings:

FreeSWITCH recording of audio files:

And red5 recording of video files:

To make the move, first stop BigBlueButton, then move the above directories to a new location on the external partition, create symbolic links from the original locations to the new locations, and restart BigBlueButton.

Unable to create presentation

If you see the following error in /var/bigbluebutton/bbb-web.log

use the command mount to check that the /tmp director does not have noexec permissions (which would prevent executables from running in the /tmp directory). If you see noexec for /tmp , you need to remount the directory with permissions that enable processes (such as the slide conversion) to execute in the /tmp directory.

Installing previous versions

We recommend installing the latest version of BigBlueButton. However, if you wish to install the previous version, see the following links:

Читайте также:  Проверка драйвера сетевой карты linux
Оцените статью