Instalación de Kamailio 4.3.4 en CentOS 6.7 64bit

Hoy veremos como instalar el Proxy SIP Kamailio en un servidor CentOS 6.7 64bit. Alguna características:

  • Registrar Server
  • Location Server
  • Proxy Server
  • SIP Application Server
  • Redirect Server

Empezamos con la preparación del sistema (UN VPS de 1GB de RAM alquilado con DigitalOcean). Se accede vía SSH al VPS y se inicia actualizando el sistema:

yum update -y

Se instalan los repositorios Epel:

yum install epel-release -y

Se guardan los cambios y se continua con la configuración de la zona horaria para Colombia (personalizar según su país):

rm /etc/localtime

ln -s /usr/share/zoneinfo/America/Bogota /etc/localtime

Se instala el editor Nano y wget:

yum install nano wget -y

Se configura el idioma (español):

nano /etc/sysconfig/i18n

se borra el contenido del archivo y se pegan las líneas que siguen:

LANG="es_CO.iso88591"
SYSFONT="latarcyrheb-sun16"

Se guardan los cambios.

Se instala el paquete del network time protocol para tener actualizada la hora del servidor:

yum install ntp -y

Se configura para que arranque en automático:

chkconfig ntpd on

Se inicia:

service ntpd start

Se crea la partición de Swap ya que en los VPS de Digital Ocean no viene por defecto:

dd if=/dev/zero of=/swapfile bs=1024 count=512k

mkswap /swapfile

swapon /swapfile

Se configura la partición de swap para que arranque con el sistema:

nano /etc/fstab

al final del archivo se añade la línea que sigue:

/swapfile swap swap defaults 0 0

Se cambian los permisos del archivo recién creado:

chmod 0600 /swapfile

Se reinicia el sistema:

reboot

Se vuelve a acceder al VPS vía SSH y se instalar algunas dependencias necesarias para la compilación de Kamailio:

yum install mysql mysql-devel mysql-server gcc gcc-c++ bison bison-devel flex make expat expat-devel net-snmp-devel -y

yum install libxml2 libxml2-devel openssl-devel xmlrpc-c-devel lynx pcre pcre-devel ncurses-devel ncurses-libs gdb git -y

yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils -y

yum install unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl-devel –y

Se descarga la ultima versión estable de Kamailio (4.3.4):

cd /usr/src

git clone -b 4.3 git://git.kamailio.org/kamailio kamailio

Se entra en la carpeta credad

cd kamailio

Se prepara la compilación del sistema indicando que el programa se instalará a partir de la carpeta raíz del VPS:

make PREFIX="/" cfg

target architecture <x86_64>, host architecture <x86_64>
making config...
rm -f modules.lst
make --no-print-directory modules.lst
saving modules list...

Se modifica el archivo que sigue:

nano modules.lst

cambiando esta línea:

include_modules=

para que quede:

include_modules= db_mysql

Se guardan los cambios. De esta forma se compilará también el modulo para MySQL. Se continua con la compilación e instalación:

make all

make install

Se instala el archivo de configuración de sistema y el script de inicio de Kamailio para CentOS:

cd pkg/kamailio/centos/6

cp kamailio.sysconfig /etc/sysconfig/kamailio

nano kamailio.init

Se modifica esta línea:

KAM=/usr/sbin/kamailio

para que quede:

KAM=/sbin/kamailio

Se guardan los cambios y se continua con la activación del script de arranque:

cp kamailio.init /etc/init.d/kamailio

chmod +x /etc/init.d/kamailio

chkconfig --add kamailio

chkconfig kamailio on

Luego se crea grupo y usuario Kamailio (como configurado en el archivo /etc/sysconfig/kamailio:

groupadd kamailio

useradd -s /bin/false -g kamailio kamailio

Se crea la carpeta donde Kamailio guardará su identificador de proceso:

mkdir /var/run/kamailio

chown -Rf kamailio:kamailio /var/run/kamailio

Se inicia MySQL y se pone en seguridad:

service mysqld start

mysql_secure_installation

image

image

chkconfig mysqld on

Se modifica el archivo de configuración de Kamailio para la creación de la base de datos:

nano /etc/kamailio/kamctlrc

Se modifica esta línea:

# DBENGINE=MYSQL

para que quede:

DBENGINE=MYSQL

Se crea la base de datos kamailio y todas las tablas con el siguiente comando:

/sbin/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
                userblacklist htable purple uac pipelimit mtree sca mohqueue
                rtpproxy? (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.

Para crear un archivo de LOG dedicado:

nano /etc/rsyslog.conf

antes de esta linea:

local7.*                                                /var/log/boot.log

se añade:

local0.*                                                -/var/log/kamailio.log

touch /var/log/kamailio.log

service rsyslog restart

Se abre el archivo de configuración de Kamailio:

nano /etc/kamailio/kamailio.cfg

Se modifica esta linea:

#listen=udp:10.0.0.10:5060

para que quede:

listen=udp:IPPublica:5060

Se corrobora que el archivo de configuración esté bien:

kamailio -c /etc/kamailio/kamailio.cfg
loading modules under config path: //lib64/kamailio/modules/
0(13016) INFO: <core> [sctp_core.c:75]: sctp_core_check_support(): SCTP API not enabled - if you want to use it, load sctp module
Listening on
             udp: 159.203.134.45:5060
Aliases:
             udp: kamailio.voztovoice.org:5060

config file ok, exiting...

Se inicia:

service kamailio start
Iniciando kamailio:                                        [  OK  ]

Si todo sale bien, deberían obtener la respuesta que aparece arriba.

Próximamente otros artículos acerca de Kamailio.

Me comentan.

Vota el Articulo: 

No votes yet
Evalúa la calidad del articulo

1 Comment

Subscribe to Comments for "Instalación de Kamailio 4.3.4 en CentOS 6.7 64bit" Subscribe to VozToVoice - All comments