In this guide, you’ll learn to Install Siremis on Ubuntu 20.04/18.04 LTS Linux server. Siremis is a web management interface for Kamailio SIP Server. It allows you to provision user profiles, routing rules, view accounting, registered phones, display charts, and to communicate with SIP server via xmlrpc.
If you’re following this guide, I believe you have Installed Kamailio SIP server on Ubuntu Linux server. Once you have a working Kamailio SIP server, you install Siremis to ease its administration. Here are the complete features of Kamailio as listed on the official website:
Main features of Siremis
- It provides system and database administration tools for Kamailio SIP Server
- subscriber, database aliases and speed dial management
- location table view
- dispatcher (load balancer), prefix-domain translation and least cost routing (lcr) management
- access control lists (user groups) and permissions management
- accounting records and missed calls vies
- manage call data records (generated from acc records)
- hash table, dial plan table and user preferences table management
- offline message storage, presence service and sip trace views
- communication with Kamailio SIP Server via XMLRPC
- communication with Kamailio SIP Server via JSONRPC
- communication with FreeSWITCH via event socket
- create and display charts from statistic data stored by Kamailio
- user location statistics charts
- SIP traffic load charts
- memory usage charts
- accounting records charts and summary table
- SQL-based CDR generation and rating billing engine
Install Siremis on Ubuntu 20.04/18.04/16.04
Siremis requires Apache web server and PHP installed on the host system. You also need CURL module is to use JSONRPC command panel. Download and Install these dependencies.
sudo apt-get update
sudo apt-get install apache2
sudo a2enmod rewrite
sudo systemctl restart apache2
Install PHP
sudo apt-get install php libapache2-mod-php php-{mysql,gd,curl,xml,pear}
Install XML_RPC
package for XMLRPC command panel
$ sudo pear install XML_RPC2
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
downloading XML_RPC2-1.1.4.tgz ...
Starting to download XML_RPC2-1.1.4.tgz (68,296 bytes)
.................done: 68,296 bytes
downloading HTTP_Request2-2.3.0.tgz ...
Starting to download HTTP_Request2-2.3.0.tgz (119,717 bytes)
...done: 119,717 bytes
downloading Cache_Lite-1.8.2.tgz ...
Starting to download Cache_Lite-1.8.2.tgz (33,873 bytes)
...done: 33,873 bytes
downloading Net_URL2-2.2.1.tgz ...
Starting to download Net_URL2-2.2.1.tgz (20,010 bytes)
...done: 20,010 bytes
install ok: channel://pear.php.net/Cache_Lite-1.8.2
install ok: channel://pear.php.net/Net_URL2-2.2.1
install ok: channel://pear.php.net/HTTP_Request2-2.3.0
install ok: channel://pear.php.net/XML_RPC2-1.1.4
Download and Install Siremis on Ubuntu 20.04/18.04/16.04
When you’re done with the installation of dependencies, download Siremis tarball or clone the code from Github. This installation will be done from Github repository source code. This will give us the latest release.
sudo apt-get -y install make
Clone the repository
$ cd /var/www $ sudo git clone https://github.com/asipto/siremis Cloning into 'siremis'... remote: Counting objects: 8594, done. remote: Compressing objects: 100% (5/5), done. remote: Total 8594 (delta 0), reused 1 (delta 0), pack-reused 8589 Receiving objects: 100% (8594/8594), 12.63 MiB | 19.41 MiB/s, done. Resolving deltas: 100% (4900/4900), done.
Generate Apache Virtualhost configuration
$ cd siremis $ sudo make apache24-conf | sudo tee /etc/apache2/sites-enabled/siremis.conf
Confirm the output written on /etc/apache2/sites-enabled/siremis.conf
$ cat /etc/apache2/sites-enabled/siremis.conf
# siremis apache 2.4 conf snippet ...
Alias /siremis "/var/www/siremis/siremis"
<Directory "/var/www/siremis/siremis">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
<FilesMatch "\.xml$">
Require all denied
</FilesMatch>
<FilesMatch "\.inc$">
Require all denied
</FilesMatch>
</Directory>
For domain usage, modify the configuration to add domain sections:
# siremis apache 2.4 conf snippet ...
<VirtualHost *:80>
ServerName siremis.geeksforgeeks.org
ServerAdmin webmaster@localhost
DocumentRoot /var/www/siremis
Alias /siremis "/var/www/siremis/siremis"
<Directory "/var/www/siremis/siremis">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
<FilesMatch "\.xml$">
Require all denied
</FilesMatch>
<FilesMatch "\.inc$">
Require all denied
</FilesMatch>
</Directory>
</VirtualHost>
Create .htaccess
and Siremis configuration files by running:
$ sudo make prepare24 updating htaccess file for apache 2.4 ... deploying htaccess files for apache 2.4 in subdirs ... updating app.inc file... creating folders... done
Make sure that following directories have write access for web server user:
siremis/log siremis/session siremis/files siremis/themes/default/template/cpl
This is done by executing make chown
command
$ sudo make chown changing onwner to www-data:www-data ... chown -R www-data:www-data .
Configure Database
Create Kamailio database if you didn’t do it during Kamailio installation
$ sudo kamdbctl create MySQL password for root: INFO: test server charset INFO: creating database kamailio ... INFO: granting privileges to database kamailio ... INFO: creating standard tables into kamailio ... INFO: Core Kamailio tables succesfully created. Install presence related tables? (y/n): y INFO: creating presence tables into kamailio ... INFO: Presence tables succesfully created. Install tables for imc cpl siptrace domainpolicy carrierroute drouting userblacklist htable purple uac pipelimit mtree sca mohqueue rtpproxy rtpengine? (y/n): y INFO: creating extra tables into kamailio ... INFO: Extra tables succesfully created. Install tables for uid_auth_db uid_avp_db uid_domain uid_gflags uid_uri_db? (y/n): y INFO: creating uid tables into kamailio ... INFO: UID tables succesfully created.
Create DB user which will have full access to siremis Database
$ sudo mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 166 Server version: 10.3.9-MariaDB-1:10.3.9+maria~bionic-log mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> GRANT ALL PRIVILEGES ON siremis.* TO siremis@localhost IDENTIFIED BY 'Password'; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> QUIT Bye
Siremis Web Installation on Ubuntu 20.04/18.04/16.04
Enable the Apache rewrite module and restart apache.
$ sudo a2enmod rewrite Enabling module rewrite. $ sudo systemctl restart apache2
Visit http://yourwebserver.com/siremis/ to access the web page and start the installation wizard. When you do it the first time, you’ll be redirected to an installation wizard. Follow the steps.
All system checks should pass.
On Database configuration, select all options like below
When done, login with:
username: admin Password: admin
Change the default password admin on the first login by clicking My Account at the top of the page.
Post Installation Tips
- Remove the install directory: siremis/install
If you want to run again installation wizard:
- restore directory: siremis/install
- remove file: siremis/install.lock
Enjoy administration of Kamailio with Siremis. For further visit Kamailio/Siremis Knowledgebase.