Integrating Rocket.Chat with Pexip Infinity

Rocket.Chat can integrate with Pexip Infinity via its external policy API to quickly and easily add a Pexip VMR to their chat, enabling any meeting to be held over a secure video conference. Users can host their meeting in a single-use VMR that is created specifically for the meeting and only available for its duration.

Network architecture and firewalls

The diagram below summarizes the connectivity required between the components of Pexip Infinity and a Rocket.Chat workspace.

The Pexip integration app is a Rocket.Chat application that is downloaded from the Rocket.Chat Marketplace. It handles all communications and call requests between Rocket.Chat platform and Pexip Infinity.

When the user starts a video meeting in Rocket.Chat, the Pexip integration app launches a web browser on the user's device and initiates a video call to a Pexip Conferencing Node. This triggers an external policy request from Pexip Infinity to Rocket.Chat and the policy server responds with the meeting parameters (service type, themes, alias, PINs and so on) and a single-use VMR is created specifically for the meeting.

In all cases ensure that you have permitted an HTTPS, port 443 connection from the Pexip Infinity Conferencing Nodes to the Rocket.Chat external policy server.

Assumptions and prerequisites

The deployment instructions assume that you have:

  • Signed up to the Rocket.Chat platform and have access to an Admin account.

  • Performed a basic installation and configuration of Pexip Infinity. Any of Pexip Infinity's deployment models may be used (on-premises, cloud-hosted etc). See installation overview for more information. Your Pexip Infinity deployment must have the following:

Integration process

The configuration of the Rocket.Chat and the Pexip Infinity installations needs to align precisely (with certain shared configuration values) for the integration to work correctly.

  1. From the Rocket.Chat instance, enable and configure the Pexip App to use Pexip Infinity for video calls. Note that Pexip App is a Rocket.Chat application. For the purpose of this guide, Pexip App is referred to as the Pexip Integration app.

  2. From Pexip Infinity, create the following:

    • Policy profile - to link the Rocket.Chat external policy to Pexip Infinity.

    • Event Sink- to monitor the conference status.

    • Theme - to apply Rocket.Chat themes or branding.

      Note that changes made to the Pexip Infinity platform take approximately 60 seconds to synchronize.

  3. You have completed the integration process. Log into a Rocket.Chat web browser or Rocket.Chat desktop client and click the handset icon to start a call. For more information see Conference Call User's Guide.

Configuring the Pexip integration app in Rocket.Chat

You need to configure the Base URL so Rocket.Chat can route the calls to the correct Pexip Infinity address.

  1. From the Rocket.Chat instance, enable the Pexip integration app. See https://docs.rocket.chat/guides/rocket.chat-conference-call/conference-call-admin-guide/pexip-app#2.-set-up-the-app for more information.

  2. Go to the Settings tab and configure the following information:

    • Base URL -https://<FQDN>.

      This FQDN must match the FQDN of your Conferencing Node.

      If you are using multiple Conferencing Nodes, then we recommend setting up a common hostname and associated round robin DNS SRV records. The TLS certificate installed on each Conferencing Node must include this common hostname in addition to the node's individual FQDN. See DNS record examples for more information.

    • API Username and API Password - specify the credentials required to access the external policy server. You will need this information to create a Policy profile.

  3. In the Details tab, the highlighted part of the URL in the GET events and POST events section is required to create a Policy profile and Event Sink.

Configuring a policy profile and an event sink in Pexip Infinity

You only need to create one policy profile and one event sink for each Rocket.Chat workspace.

To configure the policy profile:

  1. Go to Call control > Policy profiles.
  2. Select Add Policy profile and then configure that profile. The options are:

    Option Description
    Name The name used to refer to this policy profile in the Pexip Infinity Administrator interface.
    Description An optional description of the policy profile.
    External policy server
    URL

    Enter the GET URL from the Rocket.Chat-Pexip integration app. Example: https://policy.example.com/api/apps/public/UUID

    Username

    Password

    Enter the API Username and API Password from the Rocket.Chat-Pexip integration app.

    Service configuration policy
    Enable external service configuration lookup

    Ensure this option is selected.

    The other configuration options are not required for the Rocket.Chat integration.

  3. Select Save.
  4. Go to Platform > Locations.
  5. Select your location and assign the Policy profile.
  6. Go to System > Event Sinks.

  7. Select Add Event sink and configure the event sink. The options are:

    Option Description
    Name The name used to refer to this event sink. Each event sink must have a unique name.
    Description An optional description of this event sink.
    Version

    Default: Version 2

    URL Use the POST URL from the Rocket.Chat-Pexip app configuration. Example: https://policy.example.com/api/apps/public/UUID/events
    Username and Password Currently, no authentication is required so leave these fields blank.
    Verify TLS Ensure this option is selected.
    Location Select the location used for Rocket.Chat integration.
  8. Select Save.

Changing the branding and themes of a video conference in Pexip Infinity

The look and feel of the Connect web app and the Pexip Infinity platform can be customized, for example to apply language translations or to change the color scheme for buttons, icons and other graphic indicators on the home page of the web app via branding. The in-call elements, such as the splash screens, are customized via themes.

Themes

The Rocket.Chat external policy server will request a theme called rocket.chat as one of the requirements for the one-time VMR. You can use the Pexip branding portal to apply a range of customizations and then go to Services > Themes and select Add theme. The name of your theme must be rocket.chat — see Customizing using themes or more information.

When you upload the theme to Pexip Infinity, you do not need to apply it to any Services or Call Routing Rules.

If there is no theme with the name rocket.chat in Pexip Infinity, the theme set as default in Global Settings is used.

Branding the Connect app

The branding and styling of the Connect apps can be customized to give the Rocket.Chat look and feel. You can do this by applying the branding to Pexip Infinity or using a reverse proxy to host the branding. See Customizing the clients for more information.