====== Install Kamailio On Debian ======
Kamailio packages are included in the official Debian Stable repository. At the time of writing the initial version of this tutorial, Debian Stable codename is Jessie, version 8.x.
The focus of this tutorial is to install Kamailio with MySQL backend.
===== APT Install Commands =====
apt-get update
apt-get install mysql-server
apt-get install kamailio kamailio-mysql-modules
===== Config Files =====
Configuration files are located in **/etc/kamailio/** folder.
==== Kamctlrc ====
The **/etc/kamailio/kamctlrc** is the configuration file for **kamctl** and **kamdbctl**. You need to edit it and set the **SIP_DOMAIN** to your SIP service domain (or IP address if you don't have a DNS hostname associated with your SIP service).
Set also the **DBENGINE** to be MYSQL and adjust other setting as you want.
==== Kamailio.cfg ====
The **/etc/kamailio/kamailio.cfg** is the configuration file for **kamailio**. Edit it to enable some of the features shipped with it.
To enable use of MySQL backed, user authentication and persistent user location, add after the first line:
#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
===== Create Database =====
To create the database structure needed by Kamailio, run:
kamdbctl create
===== Startup Scripts =====
==== Init.d Scripts ====
Depending on startup system, you may have an **/etc/init.d/kamailio** script that you can use to start/stop kamailio.
First you should edit **/etc/default/kamailio** and adjust the setting for kamailio startup script, in particular the one that enables kamailio to start.
/etc/init.d/kamailio start
/etc/init.d/kamailio stop
==== Systemd Scripts ====
If the default startup system is systemd, then kamailio can be managed via systemctl:
systemctl start kamailio
systemctl stop kamailio
First you may also need to edit **/etc/default/kamailio** and adjust the setting for kamailio startup script, in particular the one that enables kamailio to start.
If you edit the systemd unit file in order to add your own functions, you need to make sure that you make a copy of the unit file in **/etc/systemd/system** in order to avoid any updates in packages to overwrite your modified file with the standard one.
===== Adding Subscribers =====
To add subscribers (users), you can use the **kamctl** command:
kamctl add userid password
Like:
kamctl add alice secret
===== Alternative APT Repositories =====
You can check the list of APT repositories offered by Kamailio project for various Debian or Ubuntu versions:
* [[packages:debs|DEBS: Debian - Ubuntu]]