Back to Top

Guide for Krayin CRM VoIP

Updated 16 August 2024

Krayin CRM VoIP module allows the user to call over a broadband Internet connection and the user can also perform Inbound routes.

With Krayin CRM VoIP you can call between the users and this module also gives the functionality to restrict the permission of the user.

CRM is a system that is used to manage customer interaction throughout the customer life cycle between the customer and sales department through different sources/channels.

Additionally, if you want the store administrator to generate leads via their WhatsApp number. You can check Krayin CRM WhatsApp module.

Feature

  • Support 1 to 1 calls between the user.
  • Call recording is also available.
  • Admin can restrict the permission of the user.
  • Users can download the call recordings.
  • Inbound routes to call directly to the customer.

Start your headless eCommerce
now.
Find out More

Krayin – Laravel CRM

Krayin is built on the most popular PHP framework available in the market today named Laravel, since Krayin inherits features of Laravel, this makes Krayin super flexible and scalable CRM software.

krayin dashboard

With the code-driven approach and also the fully customizable structure, you can easily add/change anything and can even deploy your code in the Krayin CRM.

Krayin ->

Github Link.

Documentation Link.

Readme File(For Installation).

Asterisk – Installation

To install Asterisk 18 on Ubuntu 20.04, you can follow these steps:

1: Update the package index upgrade the system and install the required dependencies

<code>sudo apt update -y

sudo apt upgrade -y

apt-get install unzip git sox gnupg2 curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev libedit-dev uuid-dev subversion -y</code>

2: Install Asterisk:

cd ~
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
tar -zxvf asterisk-18-current.tar.gz

3: Change to the Asterisk source directory and install the required dependencies with the following command:

cd asterisk-18.* contrib/scripts/get_mp3_source.sh contrib/scripts/install_prereq install

4: Run the following command to configure Asterisk:

./configure

Next, set the menu options with the following command and set add-ons, enable core sound modules, music on hold packages, and extra sound packages:

make menu select
Once all the components are installed, build Asterisk with the following command:

make -j2

Step 5:

Install Asterisk using the following command:

make install

Next, install configs and samples using the following command:

make samples
make config
ldconfig

Step 6: Configure Asterisk:

you must create a separate user and group for Asterisk. You can create them with the following command:

groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk

Next, add some required users to the Asterisk group with the following command:

usermod -aG audio,dialout asterisk

Set Permissions:

Now, set proper permissions and ownership using the following command:

chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib/asterisk


Next, edit the /etc/default/asterisk file and set the asterisk user as a default user:

nano /etc/default/asterisk

Change the following lines:

AST_USER="asterisk"
AST_GROUP="asterisk"

Save and close the file, then edit the Asterisk default configuration file and define the “run as” user and group:

nano /etc/asterisk/asterisk.conf

Change the following lines:

The user to run as.

runuser = asterisk ;

The group to run as.

rungroup = asterisk ;

Save and close the file, then restart the Asterisk service and enable it to start at system reboot with the following command:

systemctl restart asterisk
systemctl enable asterisk

Next, verify the status of the Asterisk service with the following command:

systemctl status asteriskkrayin CRM Configuration

In some cases, you should get the following error:

radcli: rc_read_config: rc_read_config: can’t open /etc/radiusclient-ng/radiusclient.conf: No such file or directory

You can resolve this error using the following commands:

sed -i 's";\[radius\]"\[radius\]"g' /etc/asterisk/cdr.conf
sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cdr.conf
sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.conf

Next, stop and start the Asterisk service again with the following command:

systemctl stop asterisk
systemctl start asterisk

Next, connect to the Asterisk command-line interface with the following command:

asterisk -rvv

Install other required packages like apache, php and composer.

1. install Apache
sudo apt-get install apache2

Now we need to configure apache document root for standard user home directory like we can create a www/html directory in the home directory of standard user instead of root directory.

We need to change the apache document root in the configuration file of apache2 on path /etc/apache2/apache2.conf from /var/www/html to /homw/username/www/ and we must set AllowOverride to ALL.

Next we need to set the document root path to /home/vagrant/www/html/public in /etc/apache2/sites-available/000-default.conf 

Next we need to provide permission on apache document root to asterisk user and need to set apache run user to asterisk in the configuration file present on path /etc/apache2/envvars and after all steps given above, we need to enable rewrite module using command "a2enmod rewrite" and restart apache2 service using command "service apache2 restart" 

2. install php 8.2
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
apt-get -y install php8.2 php8.2-curl php8.2-intl php8.2-gd php8.2-xml php8.2-common php8.2-xsl php8.2-mbstring php8.2-zip php8.2-xml php8.2-bz2 php8.2-common php8.2-phpdbg php8.2-mysql php8.2-fpm php8.2-cli php8.2-cgi libpshp8.2-embed libapache2-mod-php8.2 php8.2-mailparse php8.2-xdebug php8.2-imap php8.2-imagick php8.2-redis php8.2-apcu php8.2-bcmath php8.2-gmp php8.2-soap php8.2-sqlite3

3. install the composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer


4. Configuring Asterisk for WebRTC Clients

please read the asterisk official documentation for the same.

https://docs.asterisk.org/Configuration/WebRTC/Configuring-Asterisk-for-WebRTC-Clients/

Laravel VoIP API

Requirements

  • SERVER: Apache 2
  • RAM: 2 GB or higher.
  • PHP: 8.2 or higher.
  • For SQLite users: 3 or higher.
  • Composer: 2 or higher.

Note:

  • PBX: It is an open-source that gives the tools to build a phone system tailored to their needs. PBX refers to the private telephone network within a country. We will integrate it with VoIP while setting up the package.
  • Lines: The connection line needs to be set and users need to be purchased at their end.
  • Common Number: You must have a common number. That number will be visible to their customers. Users need to be purchased at their end.

Installation and Configuration

Execute these commands below, in order

composer install
  • Find the .env file in the root directory and change the APP_URL param to your domain.
  • Also, Configure the Database parameters inside the .env file.
php artisan voip:install

Krayin VoIP

The Krayin VoIP Extension is a powerful addition to your Krayin CRM, the extension enables calling features over the internet.

Requirements

  • Krayin: v1.2.5

Installation

To install the Krayin VoIP Extension, follow these steps:

Unzip the respective extension zip and then merge "packages" folders into project root directory..

Open the composer.json file and add the following line under the 'psr-4' section: "Webkul\\VoIP\\": "packages/Webkul/VoIP/src"

In the config/app.php file, add the following line under the 'providers' section: Webkul\VoIP\Providers\VoIPServiceProvider::class,

Run the following commands to complete the setup: composer dump-autoload php artisan migrate php artisan vendor:publish --force -> Press the number before "Webkul\VoIP\Providers\VoIPServiceProvider" and then press enter. php artisan optimize:clear

Add below view render events on following path.In packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php after line no. 20{!! view_render_event('admin.layouts.nav-top.quick-create.before') !!}In packages/Webkul/Admin/src/Resources/views/settings/users/create.blade.php after line no. 216{!! view_render_event('admin.settings.users.create.form_controls.permission.tab.after') !!}In packages/Webkul/Admin/src/Resources/views/settings/users/edit.blade.php after line no. 231{!! view_render_event('admin.settings.users.edit.form_controls.permission.tab.after', ['admin' => $admin]) !!}

After following these steps, the Krayin VoIP Extension should be successfully installed.

Module configuration

After installing the module, the store admin will first configure the module.

On the Krayin Dashboard, the admin will navigate to the Setting -> Other Setting section.

krayin CRM Configuration

Then click on VOIP.

krayin CRM Configuration

In the General section, the admin will :-

Status: Enable/Disable the module.

Secure WebSocket Server (TLS): Enter the Secure WebSocket Server (TLS).

WebSocket connection is used, then the use of Transport Layer Security (TLS) in the WebSocket Secure connection ensures that an HTTP CONNECT command is issued when the browser is configured to use an explicit proxy server.

WebSocket Port: Enters the WebSocket Port.

The WebSocket handshake operates over HTTP, so the port is whatever the HTTP/WebSocket server wants to use

WebSocket Path: Enters the WebSocket Path.

A WebSocket path is essentially the part of the URL that specifies the endpoint on the server where the WebSocket connection will be established.

Domain: Enter the Domain.

After this the admin will Configure the API setting.

krayin CRM Configuration

Here the admin will:-

Email: Enters the Email.

Password: Enters the password.

Host URL: Enter the VoIP server Host URL.

Then click on save.

Also, the admin can sync users to VOIP. By clicking on sync users to VOIP placed on the top of API Credentials.

krayin CRM Configuration

Adding user in Krayin CRM VOIP

For adding users in Krayin VOIP, the admin navigates to Settings -> Users.

In the users, the admin will click on the Create User.

krayin CRM Configuration

Now, the admin will create a new user by:-

In General Section:

  • The admin will enter the name of the new user.
  • Enters the Email of the user.
  • Enable the status of the user.
  • Enter the password, then Enter the confirmed password.

After this, the admin will save the user. Then the admin will grant permission to the user.

krayin CRM Configuration

Here the admin will:-

  • Groups: Select the groups.
  • Role: The admin selects the role for the user as Administrator/User.
  • View Permission: Set the permission for the respected Role.

Now, the admin will set The VoIP setting for the user.

krayin CRM Configuration

Here is the admin Will:

  • SIP user: Enter the SIP User.
  • SIP Password: Enter the password.

Then, click on the save as a user.

The admin can check the list of the user.

krayin CRM Configuration

User – Workflow

Now the user logged in to the Krayin CRM VoIP by entering their credentials.

crayin crm user login

After login, the user will navigate to the VoIP section. Then the user will click on the Trunks.

Here the user will get the list of Trunks.

VoIP Trunks are phone lines that transmit calls over the Internet. A VoIP provider can assign a local number to one or more cities or countries and route it to the PBX phone system.

Usually, VoIP trunks are cheaper than traditional PSTN trunks.

crayin crm user trunks

The users can also create trunks, by clicking on Create Trunk.

Here the user will:

  • Enter the User Name.
  • Enter the Password.
  • Enter the Server ID.
  • Enter the Server Port.
krayin CRM VoIP

Then, the user will save the Trunk.

The Trunk has been successfully created.

Now, the user will navigate to Inbound Routes.

voip feature krayin crm

The user can also create new Inbound Routes. By clicking on Create Inbound Routes.

krayin CRM VoIP

Call Recording

The admin and the user can check the call recording between the users or with the customer.

For this, they have to navigate to VoIP -> Call Recordings.

krayin CRM VoIP

Call Through Krayin CRM VoIP

The user can check their contact list.

call on krayin VoIP

In the Krayin CRM VoIP, the user can check the recent call logs.

call on krayin VoIP

The user can call through Krayin CRM VoIP. For this the user will enter the number in the dial pad.

call on krayin VoIP

Then, click on the call icon.

On the other side

The user/ customer will pick up the call.

call on krayin VoIP

By clicking on the Accept(Green) button. They pick up the call and the call recording will start.

call on krayin VoIP

Support

So, that is all about Krayin CRM VoIP. If you have any queries regarding the plugin, contact us at Webkul Support System.

Current Product Version - 1.0.0

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.

Back to Top

Message Sent!

If you have more details or questions, you can reply to the received confirmation email.

Back to Home

Table of Content