Learn how to – Install Siremis Web Management for Kamailio on Ubuntu 20.04/18.04/16.04

Learn how to – Install Siremis Web Management for Kamailio on Ubuntu 20.04/18.04/16.04.

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 ".inc$">
			Require all denied

For domain usage, modify the configuration to add domain sections:

# siremis apache 2.4 conf snippet ...
<VirtualHost *:80>
  ServerName siremis.ownyourlife.com.ng
  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 ".inc$">
     Require all denied

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...

Make sure that following directories have write access for web server user:


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

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.

Leave a Reply