This plugin allow the user to record a conference in the Vbrick platform. Once the user click on the recording button, Vbrick will join to the VMR as a SIP/RTMP participant and will record the call.
The host user will see a new button in the toolbar and the first time that the user click on it, the plugin will ask for the user to login.
When the user click on that button, a dialog will appear to introduce the user credentials:
After the user introduce the credentials, the user will be able to start the recording:
When the user click on the recording button, the recording will start:
You must add an OAuth API Key This plugin uses an OAuth login flow to authenticate with Vbrick. Follow the steps outlined in the Vbrick documentation to Create an API Key:
-
Open Vbrick webpage. This is the same that you have to define in the url.
-
Go to
ADMIN > System Settings > API Keys. -
Click on
+ Add Key. -
Introduce the following parameters:
-
name: It's only a label to identify the key.
-
key: It's the value that we will use as
client_idin the configuration. -
authorized redirect uris: This is the
redirect_uriin the configuration and should be in the following exact format, replacing<pexip-domain>with the URL of your Pexip deployment and<branding-path>with the web app path where this plugin will be included.https://<pexip-domain>/<branding-path>/oauth-redirect
-
-
Click on
Create.
In order to use this plugin for recording our Pexip deployment should comply with the following requirements:
- All the VMRs to record should contain a SIP alias. For example, if we
have a VMR with alias
meetin pexipdemo.com. We should also have another with the following formatmeet@pexipdemo.com. - You will need to configure the call routing to accept SIP incoming INVITES. Go to the Pexip Management node and create a new call routing (Services > Call Routing).
- You will need to configure the call routing to allow RTMP Outgoing calls. The Destination alias match should be a regex matching the the RTMP Recorder's domain
Use the Branding helper page to generate a plugin configuration and add it to a branding package zip file.
If building from source you may need to run npm run build && npm run build:helper to generate this file
You have to define a configuration file in public/config.json before building using npm run build (or manually add to the /dist folder after building)
Here is an example of configuration:
{
"vbrick": {
"url": "https://<vbrick-domain>",
"client_id": "<vbrick-client-id>",
"redirect_uri": "https://<pexip-domain>/<branding-path>/oauth-redirect"
},
"recording_type": "sip",
"infinity": {
"sip_domain": "<pexip-domain>"
}
}You have to define the following parameters under the vbrick section:
- url: The Vbrick environment to use.
- client_id: The key to access Vbrick.
- redirect_uri: Indicates where to redirect after a successful authentication. The domain of this URL take into account that we need to specify the same domain as the one used for our app and the branding.
In the infinity section we only have one parameter:
- sip_domain: Indicates the domain to use in the SIP URI to make the
recording. Vbrick will establish call to
sip:<conference_alias>@<sip_domain>.
By default this plugin records via SIP (Video Conference Recording), which is a Vbrick Rev Cloud-only feature. Vbrick On-Prem has a separate RTMP Recorder Service that works with this plugin (contact your Vbrick Customer Success Manager for more information).
To configure:
- Change the
recording_typevalue inconfig.jsonfromsiptortmp - Add the following section to
config.json
"recorder": {
"url": "https://<rtmp-recorder-domain>",
"route": "<route>",
"display_name": "Vbrick Recorder",
"legacy_dialout_api": false
}You have to define the following parameters under the recorder section:
- url: the URL of the Vbrick On-Prem RTMP Recorder service.
- route: The
routethat corresponds to the manual recording settings configured in the Recorder Service (default:vmr) - display_name: The name of the recorder shown in the participant list
- legacy_dialout_api: Whether to use 'rtmp' or 'auto' for the dial out protocol
To add the plugin to a a branding package:
- Create a folder
plugins/vbrick/relative to themanifest.jsonfile - Put the contents of the
distfolder into thevbrickfolder - Add a
pluginssection to the JSON file and point to the plugin'sindex.htmlfile:
"plugins": [
{
"src": "plugins/vbrick/index.html",
"sandboxValues": ["allow-same-origin","allow-popups","allow-forms"]
}
]- Ensure that
"handleOauthRedirects"is set totrue
The development server reads configuration values from vite.json instead of config.json during development.
- Make a copy of
example.vite.jsonand rename tovite.json - Update
vite.jsonas per the Plugin Configuration steps. - Update
infinity_urlandbranding_pathwith the URL of your pexip deployment and an existing Web app path (it doesn't need to have the vbrick plugin installed yet) - When following the configuring the Vbrick API Key steps add
https://localhost:5173/<branding-path>/oauth-redirectto the list of "Authorized Redirect URIs"
The first step is to download and compile all the dependencies:
npm install
Now we can launch the development server:
npm start
We can generate the dist folder with the build with the following command:
npm build
After running npm build we can generate a helper HTML page (builder/branding-helper.html) that automatically creates a config.json file in the correct format and adds the plugin to a branding zip file by running this command:
npm run build:helper



