BigBlueButton module ==================== To enable video calls, we integrate the BigBlueButton (BBB) software. venueless implements simple load balancing across multiple BBB servers, which is why the frontend always needs to convert a room or call ID into an actual meeting URL explicitly. BBB Rooms --------- To join the video chat for a room, a client can push a message like this:: => ["bbb.room_url", 1234, {"room": "room_1"}] <- ["success", 1234, {"url": "https://…"}] The response will contain an URL for the video chat. A display name needs to be set, otherwise an error of type ``bbb.join.missing_profile`` is returned. If the BBB server can't be reached, ``bbb.failed`` is returned. In a room-based BBB meeting, moderator and attendee permissions are assigned based on world and room rights. Private conversations --------------------- If a private conversation includes a chat message referring to a call ID, you can get the call URL like this: => ["bbb.call_url", 1234, {"call": "f160bf4f-93c4-4b50-b348-6ef61db4dbe7"}] <- ["success", 1234, {"url": "https://…"}] The response will contain an URL for the video chat. A display name needs to be set, otherwise an error of type ``bbb.join.missing_profile`` is returned. If the BBB server can't be reached or the call does not exist or you do not have permission to join, ``bbb.failed`` is returned. In a private meeting, everyone has moderator rights. Recordings ---------- If the user has the ``room:bbb.recordings`` permission, you can access recordings with the following command:: => ["bbb.recordings", 1234, {"room": "f160bf4f-93c4-4b50-b348-6ef61db4dbe7"}] <- [ "success", 1234, { "results": [ { "start": "2020-08-02T19:30:00.000+02:00", "end": "2020-08-02T20:30:00.000+02:00", "participants": "3", "state": "published", "url": "https://…" } ] } ] The response will contain an URL for the video chat. A display name needs to be set, otherwise an error of type ``bbb.join.missing_profile`` is returned. If the BBB server can't be reached or the call does not exist or you do not have permission to join, ``bbb.failed`` is returned. In a private meeting, everyone has moderator rights.