Skip to content

VitalPBX Meet - Secure and high quality meetings - Powered by Jitsi Meet

Notifications You must be signed in to change notification settings

VitalPBX/VitalPBX-Meet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 

Repository files navigation

VitalPBX-Meet

VitalPBX Meet - Secure and high quality meetings - Powered by Jitsi Meet

Introduction

VitalPBX Meet is based on Jitsi Meet which is an Open Source Video Conference solution that allows users to hold online meetings. It's developed by the Jitsi project and enables users to conduct video conferences without the need to download an application, as it operates directly from a web browser.

Prerequisites

1.-Hardware Minimum Requirements
• 4GB RAM
• 2.5GHz CPU
• 50GB Disk
• 1GB Net

2.- Software Requirements
• Ubuntu 20.4 recommended
• OpenJDK 11 must be used
• A Valid FQDN Domain (Before starting the installation process, remember that you must have your NS server pointing the domain or sub-domain to the IP of the server where we are going to install VitalPBX Meet)

Installation

Next we are going to download the script to carry out the installation automatically.

wget https://raw.githubusercontent.com/VitalPBX/VitalPBX-Meet/main/vpbxmeet.sh
chmod +x vpbxmeet.sh
./vpbxmeet.sh

Interconnect Jitsi with VitalPBX

How it works

Jigasi registers as a SIP client and can be called or be used by Jitsi Meet to make outgoing calls. Jigasi is NOT a SIP server. It is just a connector that allows SIP servers and B2BUAs to connect to Jitsi Meet. It handles the XMPP signaling, ICE, DTLS/SRTP termination and multiple-SSRC handling for them.

Create an Extension in VitalPBX

Before the next step we must create an extension in VitalPBX and write down the username and password. It is very important that the user format that we are asked for includes the domain, so if for example we create user 2600, the format that we are going to use is 2600@mydomain.com

Outgoing calls

To call someone from Jitsi Meet application, Jigasi must be configured and started like described in the 'Install and run' section. This will cause the telephone icon to appear in the toolbar which will popup a call dialog on click.

First we create a PJSIP extension in VitalPBX, and then we proceed to the installation and configuration of the jigasi module.

apt install jigasi -y  

Finally, we wait for the installation process to finish and proceed to restart the service.

systemctl restart jigasi.service
systemctl restart jitsi-videobridge2

Enable Jitsi Server Authentication

To configure Jitsi Meet to enable authentication, you must follow the following procedure: Changes the /etc/prosody/conf.avail/mydomain.cfg.lua file.

nano -w /etc/prosody/conf.avail/mydomain.com.cfg.lua

Find the line that says ‘VirtualHost mydoamin.com” Underneath that line you’ll see another line that says:

authentication = "jitsi_anonymous" 

Change that line to:

authentication = "internal_plain"  

This disables the anonymous authentication for the ‘main’ server host URL – however, we also need to create a new virtual host for our anonymous guests in order to facilitate their anonymous connections. Scroll to the bottom of the file and add these lines to create the new virtual host with the anonymous login method (use your own FQDN):

VirtualHost "guest.mydomain.com"
    authentication = "anonymous"
    c2s_require_encryption = false 

Next we need to configure our newly created VirtualHost / anonymous domain in our config.js file:

nano -w /etc/jitsi/meet/mydomain.com-config.js

Under the ‘var config = [‘ section (right near the top of the file), you should already see a line that says domain: ‘mydomain.com’, (it’ll say your FQDN, not mine). Just below that line, after the comment, you should see a line that is commented out that starts with ‘anonymousdomain.’ Uncomment that line and add your FQDN with a ‘guest.’ in front of it like this:

anonymousdomain: 'guest.mydomain.com',

Next, we need to tell the Jicofo service to only allow requests from our ‘authenticated’ domain.

nano -w /etc/jitsi/jicofo/logging.properties

Add a new line at the bottom of this file:

org.jitsi.jicofo.auth.URL=XMPP:mydomain.com

For this type security to work I also must edit jicofo.conf

nano -w /etc/jitsi/jicofo/jicofo.conf

Add this before the last "}"

  authentication: {
    enabled: true
    type: XMPP
    login-url: mydomain.com
  }

Now let’s restart our Jitsi services:

systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2

To add users who can create video conferences in Jitsi, run the following command: prosodyctl register jitsi.crosstalksolutions.com So – to create user ‘john’ with password ‘12345’ you would run:

prosodyctl register admin mydomain.com 12345

Now after you create a new conference it will ask you for your username and password, which in this case would be:
User: admin
Password: 12345

Note:

A special thanks to Crosstalk Solution for providing some of the information on how to activate in Jitsi authentication.
https://www.crosstalksolutions.com/how-to-enable-jitsi-server-authentication/

About

VitalPBX Meet - Secure and high quality meetings - Powered by Jitsi Meet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages