Install kamailio from source Centos
<strong>Dependencies :</strong><br></br>
Yum install bison pcre-devel libpcap-devel```
**Installation :**
1. Go to /usr/local/src/
2. Download The latest version of kamailio 3.1.2 from source :
[Download Latest Kamailio Source Here](http://www.kamailio.org/pub/kamailio/latest/src/kamailio-3.1.2_src.tar.gz)
or type wget http://www.kamailio.org/pub/kamailio/latest/src/kamailio-3.1.2_src.tar.gz
tar -zxvf kamailio-3.1.2_src.tar.gz
cd kamailio-3.1.2
make FLAVOUR=kamailio cfg```
or if you want to include extra modules which are not installed by default you can type :
<br></br>
make FLAVOUR=kamailio include_modules="db_mysql dialplan" cfg```
` make all<br></br>`` make install`
Now you have kamailio installed at :
/usr/local/etc/kamailio and you have executables at /usr/local/sbin
8. Edit kamctlrc and set the database engine type
vi /usr/local/etc/kamailio/kamctlrc
DBENGINE=MYSQL```
- Create the initial database for kamailio :
kamdbctl create
- copy the init scripts :
cp /usr/local/src/kamailio-3.1.2/pkg/kamailio/rpm/kamailio.init /etc/init.d/kamailio<br></br>
chmod 755 /etc/init.d/kamailio<br></br>
cp /usr/local/src/kamailio-3.1.2/pkg/kamailio/rpm/kamailio.default /etc/default/kamailio```
``
`vi /etc/default/kamailio `
`RUN_KAMAILIO=yes``vi /etc/init.d/kamailio `
and update :
`KAM=/usr/local/sbin/kamailio`
9./usr/local/etc/kamailio/kamailio.cfg edit this file to fit your requirements.
**If you want to install a web interface for it ( SIREMIS ) follow the tutorial below : **
[Download Latest Siremis Here](http://siremis.asipto.com/pub/downloads/siremis/siremis-3.2.0.tgz "Siremis 3.2.0")
1. cd /usr/local/src
2. wget http://siremis.asipto.com/pub/downloads/siremis/siremis-3.2.0.tgz
3.tar -zxvf siremis-2.0.0.tgz
4.mv siremis-2.0.0 /var/www/html/siremis
5.cd /var/www/html/siremis
6. make apache-conf :: this will print the snippet to be added to your apache configuration file.
7. vi /etc/httpd/conf/httpd.conf and append the output of above command to the bottom.
8. make prepare
9. Assign write permissions to the following directories :
siremis/log
siremis/session
siremis/files
siremis/themes/default/template/cpl
10. Restart apache
11. Browse to http://yourserverip/siremis and follow the wizard for installation.
**Important: **make sure you check update sip database.
**Note :** default login are admin /admin and you have to have php-gd installed for captcha.
GRANT ALL PRIVILEGES ON siremis.* TO siremis@localhost IDENTIFIED BY ‘siremisrw’; ( use to create user for the web)
After successfull installation remove the install directory and install.lock file.
**Install Accounting : **
Add additional parameter to the module acc in kamailio.cfg as shown below :
modparam(“acc”, “db_extra”,
“src_user=$fU;src_domain=$fd;dst_user=$rU;dst_domain=$rd;src_ip=$si”)
If you selected to update db while installing siremis, you will have a stored procedure named kamailio_cdrs. You can call this procedure at intervals using cron or timer in kamailio.cfg .
**Hint :** If you want to use cron, you can just create a shell script which will do the sql query
eg. vi call_cdr.sh
mysql -h ‘localhost’ -u root –p’password ’databasename -e “call kamailio_cdrs()”
now put an entry into cron
crontab -e
5 * * * * /path/to/call_cdr.sh 2>&1 >> /cdr_log.sh
This will call the stored procedure every five minute.
**Advanced option to call stored procedure kamailio_cdrs()**
#vi /usr/local/etc/kamailio.cfg
loadmodule “rtimer.so”
loadmodule “sqlops.so” ( load these two modules)
Create module parameters :
modparam(“rtimer”, “timer”, “name=cdr;interval=300;mode=1;”)
modparam(“rtimer”, “exec”, “timer=cdr;route=CDR”)
modparam(“sqlops”,”sqlcon”,
“cd=>mysql://openser:openserrw@localhost/openser”)
and create a route block named CDR
route[CDR] {
sql_query(“cd”,“call kamailio_cdrs()”,”ra”);
}
Now the timer will call the route[CDR] every 5 minute and will execute the stored procedure.
**Install Commands Panel : **
1. Load module : loadmodule “mi_datagram.so” in kamailio.cfg
2. pass module parameter to listen to udp port :
modparam(“mi_datagram”, “socket_name”, “udp:127.0.0.1:8033”)
Save and restart kamailio.
You can configure the available commands at :
siremis/modules/ser/service/siremisMICommands.xml
**Install Charts Panel : **
If you want charts you can follow the tutorial to configure that.
Edit kamailio.cfg to add this :
loadmodule “rtimer.so”
loadmodule “sqlops.so”
loadmodule “cfgutils.so”
…
modparam(“rtimer”, “timer”, “name=tst;interval=300;mode=1;”)
modparam(“rtimer”, “exec”, “timer=tst;route=STATS”)
modparam(“sqlops”,”sqlcon”,
“ca=>mysql://openser:openserrw@localhost/openser”)
…
route[STATS] {
sql_query(“ca”,
“insert into statistics (time_stamp,shm_used_size,shm_real_used_size,”
“shm_max_used_size,shm_free_used_size,ul_users,ul_contacts) values ($Ts,”
“$stat(used_size),$stat(real_used_size),$stat(max_used_size),”
“$stat(free_size),$stat(location-users),$stat(location-contacts))”,
“ra”);
**Restart kamailio and you are done.**
The chart is configured in an xml file at siremis/modules/ser/service/siremisCharts.xml
Thank you