zulip/docs/production/video-calls.md

103 lines
3.8 KiB
Markdown
Raw Normal View History

# Video call providers
Zulip makes it convenient to [start a
call](https://zulip.com/help/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](https://zulip.com/integrations/doc/jitsi), a fully-encrypted,
100% open source video conferencing solution.
- [Zoom](https://zulip.com/integrations/doc/zoom)
- [BigBlueButton](https://zulip.com/integrations/doc/big-blue-button)
By default, Zulip uses the [cloud version of Jitsi Meet](https://meet.jit.si/)
as its call provider. This page documents the configurations required to support
other [video call integration options](https://zulip.com/help/start-a-call) on a
self-hosted Zulip server.
:::{note}
It is possible to disable the video and voice call buttons for your
organization by [setting the call
provider](https://zulip.com/help/start-a-call#change-your-organizations-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](https://zulip.com/help/start-a-call#use-a-self-hosted-instance-of-jitsi-meet).
No server configuration changes are required.
## Zoom
To use the [Zoom](https://zoom.us) integration on a self-hosted
installation, you'll need to register a custom Zoom app as follows:
1. Select [**Build App**](https://marketplace.zoom.us/develop/create)
at the Zoom Marketplace.
1. Create an app with the **OAuth** type.
- Choose an app name such as "ExampleCorp Zulip".
- Select **User-managed app**.
- Disable the option to publish the app on the Marketplace.
- Click **Create**.
1. Inside the Zoom app management page:
- On the **App Credentials** tab, set both the **Redirect URL for
OAuth** and the **Whitelist URL** to
`https://zulip.example.com/calls/zoom/complete` (replacing
`zulip.example.com` by your main Zulip hostname).
- On the **Scopes** tab, add the `meeting:write` scope.
You can then configure your Zulip server to use that Zoom app as
follows:
1. In `/etc/zulip/zulip-secrets.conf`, set `video_zoom_client_secret`
to be your app's "Client Secret".
1. In `/etc/zulip/settings.py`, set `VIDEO_ZOOM_CLIENT_ID` to your
app's "Client ID".
1. 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](https://zulip.com/help/start-a-call#change-your-organizations-call-provider)
in the Zulip organizations where you want to use it.
## BigBlueButton
To use the [BigBlueButton](https://bigbluebutton.org/) video call
integration on a self-hosted Zulip installation, you'll need to have a
BigBlueButton server and configure it:
1. Get the Shared Secret using the `bbb-conf --secret` command on your
BigBlueButton Server. See also [the BigBlueButton
documentation](https://docs.bigbluebutton.org/admin/customize.html#extract-the-shared-secret).
2. Get the URL to your BigBlueButton API. The URL has the form of
`https://bigbluebutton.example.com/bigbluebutton/` and can also be
found using the `bbb-conf --secret` command.
You can then configure your Zulip server to use that BigBlueButton
Server as follows:
1. In `/etc/zulip/zulip-secrets.conf`, set `big_blue_button_secret`
to be your BigBlueButton Server's shared secret.
2. In `/etc/zulip/settings.py`, set `BIG_BLUE_BUTTON_URL` to your
to be your BigBlueButton Server's API URL.
3. 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](https://zulip.com/help/start-a-call#change-your-organizations-call-provider)
in the Zulip organizations where you want to use it.