This pairing brokers the connection between the BBB HTML plugin and the appliance application to connect the device that is installed in a physical lecture room into the running BigBlueButton meeting.
First, create a python virtual environment and install the dependencies with pip:
python3 -m venv env
. env/bin/activate
pip install -r requirements.txt
Then you can run the server for testing purposes using:
quart run
The communication with the BBB server requires TLS. So in order to get this to work with the HTML plugin and the appliance application you need to proxy the pairing server with a webserver with a valid SSL certificate.
You can e.g. run the pairing server on an existing BigBlueButton server.
In this case you just add a file /etc/bigbluebutton/nginx/hybrid.nginx
with the following contents on the BBB server:
location /hybrid {
proxy_pass http://127.0.0.1:5000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
⚠ Be aware that this project is currently a proof-of-concept that is not yet suited to run in a real production environment.
You need only one room integration server per BigBlueButton cluster. So this software does not need to run on a BigBlueButton Server but it is not forbidden to do so.
To run it in production, you can use any ASGI compatible application server such as hypercorn.
Install the test dependencies in a virtual environment:
python3 -m venv test-env
. test-env/bin/activate
pip install -r requirements.txt
pip install -r requirements-test.txt
Then you can execute the tests with:
python -m pytest