6.4 KiB
Video call providers
Zulip makes it convenient to start a call with the click of a button, using the call provider of your choice. The call providers supported by Zulip are:
- Jitsi Meet, a fully-encrypted, 100% open source video conferencing solution.
- Zoom
- BigBlueButton
By default, Zulip uses the cloud version of Jitsi Meet as its call provider. This page documents the configurations required to support other video call integration options on a self-hosted Zulip server.
:::{note} You can disable the video and voice call buttons for your organization by setting the call provider to "None". :::
Jitsi
You can configure Zulip to use a self-hosted instance of Jitsi Meet by providing the URL of your self-hosted Jitsi Meet server in organization settings. No server configuration changes are required.
Zoom
To use a Zoom integration on a self-hosted installation, you'll need to register a custom Zoom application for your Zulip server. Zulip supports two types of custom Zoom apps:
-
Server to Server OAuth app: Easiest to set up, but requires users to be part of the Zoom organization that created the application in order to create calls.
-
General OAuth app: Recommended for settings where the limitations of the Server to Server OAuth app are problematic (e.g., this is used by Zulip Cloud).
Server to Server OAuth app
This Zoom application type, introduced in Zulip 10.0, is easiest to set up, and is ideal for most installations that self-host Zulip. To create Zoom meeting links in Zulip messages using this integration, users will will need to be members of your Zoom organization and use the same email address in Zulip that they have registered with Zoom.
You can set up this integration as follows:
-
Select Build App at the Zoom Marketplace. Create a Server to Server OAuth App.
-
Choose an app name such as "ExampleCorp Zulip".
-
In the Information tab:
- Add a short description and company name.
- Add a name and email for the developer contact information.
-
In the Scopes tab, add the
meeting:write:meeting:admin
andmeeting:write:meeting:master
scopes. -
In the Activation tab, activate your app. You can now configure your Zulip server to use the app.
General OAuth app
This Zoom application type is more flexible than the server-to-server integration. However, current Zoom policy requires all General OAuth apps to go through the full Zoom Marketplace review process, even for unlisted apps that will only be used by a single customer. As a result, you have to do quite a bit of publishing overhead work in order to create this type of Zoom application for your Zulip server.
-
Select Build App at the Zoom Marketplace. Create a General App.
-
In the Basic Information tab:
- Choose an app name such as "ExampleCorp Zulip".
- Select User-managed app.
- In the OAuth Information section, set the OAuth Redirect URL
to
https://zulip.example.com/calls/zoom/complete
(replacingzulip.example.com
by your main Zulip hostname).
-
In the Scopes tab, add the
meeting:write:meeting
scope. -
Switch to the Production tab and complete the information needed for the Zoom App Marketplace Review Process in the App Listing and Technical Design tabs.
-
Submit your app for review. Select the Publish the app by myself option on the App Submission page so that the app will be unlisted.
-
Once your app has been approved by the Zoom app review team, then you can proceed to configure your Zulip server to use the app.
Configure your Zulip server
-
In
/etc/zulip/zulip-secrets.conf
, setvideo_zoom_client_secret
to be your app's "Client Secret". -
In
/etc/zulip/settings.py
, setVIDEO_ZOOM_CLIENT_ID
to your app's "Client ID". If your using a Zoom Server to Server OAuth app, setVIDEO_ZOOM_SERVER_TO_SERVER_ACCOUNT_ID
to be your app's "Account ID". -
Restart the Zulip server with
/home/zulip/deployments/current/scripts/restart-server
.
This enables Zoom support in your Zulip server. Finally, configure Zoom as the video call provider in the Zulip organizations where you want to use it.
BigBlueButton
To use the BigBlueButton video call integration on a self-hosted Zulip installation, you'll need to have a BigBlueButton server (version 2.4+) and configure it:
-
Get the Shared Secret using the
bbb-conf --secret
command on your BigBlueButton Server. See also the BigBlueButton documentation. -
Get the URL to your BigBlueButton API. The URL has the form of
https://bigbluebutton.example.com/bigbluebutton/
and can also be found using thebbb-conf --secret
command.
You can then configure your Zulip server to use that BigBlueButton Server as follows:
-
In
/etc/zulip/zulip-secrets.conf
, setbig_blue_button_secret
to be your BigBlueButton Server's shared secret. -
In
/etc/zulip/settings.py
, setBIG_BLUE_BUTTON_URL
to your to be your BigBlueButton Server's API URL. -
Restart the Zulip server with
/home/zulip/deployments/current/scripts/restart-server
.
This enables BigBlueButton support in your Zulip server. Finally, configure BigBlueButton as the video call provider in the Zulip organizations where you want to use it.