(Last Updated On: September 10, 2018)

In this guide, you’ll learn to Install Siremis on Ubuntu 18.04 LTS (Bionic Beaver). 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 18.04 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 18.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

Install PHP

sudo apt-get install php php-mysql php-gd php-curl php-xml libapache2-mod-php php-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 18.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 make-guile

Clone the repository

# cd /var/www
# 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
# make apache24-conf

Modify output and place it on /etc/apache2/sites-enabled/siremis.conf

# siremis apache 2.4 conf snippet ...
<VirtualHost *:80>
        ServerName siremis.computingforgeeks.com
        ServerAdmin [email protected]
        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:

# 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

# 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

# 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

# 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 [email protected] IDENTIFIED BY 'Password';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit
Bye

Siremis Web Installation

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.

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.