Skip to main content

Alma 9 Vicidial Selfsign Webrtc

I am going to provide step by step guide to integrate, enable and configure the viciphone(a webrtc phone) in vicidial (also applicable to any vicidial based system) using the Self Signed SSL Certificate ,ie without a public-ip and FQDN or accessing the vicidial with internal LAN IP.



1️⃣ Install OpenSSL (if not installed)

sudo dnf install -y openssl


2️⃣ Generate a Private Key

openssl genpkey -algorithm RSA -out selfsigned.key -pkeyopt rsa_keygen_bits:2048

3️⃣ Create a Certificate Signing Request (CSR)

openssl req -new -key selfsigned.key -out selfsigned.csr

It will prompt you for details like:

  • Country Name (e.g., IN)
  • State or Province (e.g., Gujarat)
  • Locality (City)
  • Organization Name
  • Common Name (Domain, e.g., example.com or your server IP)
  • Email Address

You can use localhost or an IP address if needed.


4️⃣ Generate a Self-Signed Certificate

openssl x509 -req -days 365 -in selfsigned.csr -signkey selfsigned.key -out selfsigned.crt


  • -days 365 → Valid for 1 year (Adjust as needed)
  • selfsigned.crt → SSL certificate file
  • selfsigned.key → Private key

5️⃣ Verify the Certificate

openssl x509 -in selfsigned.crt -text -noout


6️⃣ Configure Apache to Use SSL

If you are using Apache:

  • Copy the files:
    sudo cp selfsigned.crt /etc/pki/tls/certs/
    sudo cp selfsigned.key /etc/pki/tls/private/
  • Edit Apache config:

    sudo nano /etc/httpd/conf.d/ssl.conf
    Update:
    SSLCertificateFile /etc/pki/tls/certs/selfsigned.crt SSLCertificateKeyFile /etc/pki/tls/private/selfsigned.key
  • Restart Apache:
    sudo systemctl restart httpd

7️⃣ Allow HTTPS Traffic


sudo firewall-cmd --permanent --add-service=https 
sudo firewall-cmd --reload


optional:- 

Redirect All HTTP to HTTPS connection

Edit the below mentioned file

     nano /etc/httpd/conf.d/default.conf

Add below line after DocumentRoot as shown below

    DocumentRoot /var/www/html
    Redirect permanent / https://yourserverip/   

Note: its My Redirect IP / https://192.168.1.9/


Asterisk configuration to support webrtc:


Edit /etc/asterisk/http.conf and make sure below settings enabled

   nano /etc/asterisk/http.conf

 [general]
enabled=yes
bindaddr=0.0.0.0
bindport=8088
tlsenable=yes
tlsbindaddr=0.0.0.0:8089
tlscertfile=/etc/pki/tls/certs/selfsigned.crt
tlsprivatekey=/etc/pki/tls/private/selfsigned.key

save the file.

To install on your server for the following commands after changing to your web directory:

git clone https://github.com/manish23k/Webphone.git

chmod -R 744 Webphone

chown -R apache:apache Webphone

Vicidial configuration

Make sure the vicidial admin interface is accessible via https
https://192.168.1.9/vicidial/admin.php
Step 5.1
Go to ADMIN --> System settings
Change the Wephone URL

    Wephone URL: /Webphone/Webphone.php


Goto ADMIN -> Servers
configure the External Server IP:
If your server is accessible from outside ie Public ip ,enter your public ip here. if not leave it blank or enter your local server ip.

    Web Socket URL : wss://192.168.1.9:8089/ws

if you are accessing your server with public ip then
Set External Web Socket URL: wss://publicip/fqdn:8089/ws
or Leave it blank


Comments

Popular posts from this blog

Vicidial Scratch installation Alma -9

Step 1 – Download the dependencies   hostnamectl set-hostname xxxxxx.xxxxx.xxx ### Use YOUR SubDomain vi /etc/hosts ##Change domain name for actual server ip (xxx.xxx.xxx.xxx   complete domain name    subdomain only) timedatectl set-timezone Asia/Kolkata yum check-update yum update -y yum -y install epel-release yum update -y yum install git -y yum install -y kernel* sudo dnf install kernel-devel-$(uname -r) -y #Disable SELINUX sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config     reboot Step 2 – Run the Script cd /usr/src/ git clone https://github.com/manish23k/vicidial-install-scripts cd vicidial-install-scripts chmod +x alma-rocky9-ast16.sh ./alma-rocky9-ast16.sh Or the Asterisk 18 version: chmod +x alma-rocky9-ast18.sh ./alma-rocky9-ast18.sh ####For PHP 8 use this script. chmod +x main-installer-php8.sh ./main-installer-php8.sh

How to delete old call logs and other logs in vicidial or goautodial.

Step 1 : SSH to the server using the Putty Step 2:   login to mysql by typing   mysql -p                    (if you dont know password try below command )               mysql -ucron -p1234 Step 3 : select the asterisk database by typing               use asterisk step 4: Run the below command to check total disk occupied by asterisk database                SELECT table_schema AS "asterisk", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema; Step 5 : Run the below command to check disk space consumed by each table in asterisk database SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.TABLES WHERE table_schema = "asterisk" ORDER BY (data_length + inde...

Install the No-IP client (Dynamic Update Client) on AlmaLinux 9

 Install the No-IP client (Dynamic Update Client) on AlmaLinux 9 1. Install Required Packages First, install the necessary packages to compile the client from source. sudo dnf install gcc make wget tar 2. Download the No-IP DUC (Dynamic Update Client) Download the latest version of the No-IP DUC. cd /opt wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz 3. Extract the Downloaded File Extract the downloaded tarball. tar -zxvf noip-duc-linux.tar.gz cd noip-2.1.9-1/ 4. Compile the Client Run the following commands to compile the client. sudo make install 5. Configure the No-IP Client After installation, you’ll be prompted to enter your No-IP account credentials (email and password) and choose the hostname(s) to update. If not, you can manually run the configuration: sudo /usr/local/bin/noip2 -C 6. Start the No-IP Client To start the client: sudo /usr/local/bin/noip2 7. Verify Installation To confirm that the No-IP DUC is running, use: sudo /usr/local/bin/noip2 -S 8. Set Up...