Enviado por admin el
En este sitio ya se ha hablado de Homer SIP Capture Server. Volvemos a hablar de él porque está casi lista la versión 5 que trae muchas novedades:
- Captura datos protocolo RTCP
- Diseño completamente nuevo de la GUI
- Instalación mucho más sencilla (por lo menos en CentOS 7)
Empezamos con la preparación del sistema (UN VPS de 1GB de RAM alquilado con DigitalOcean – CentOS 7.1 64bit). Se accede vía SSH al VPS y se inicia actualizando el sistema:
yum update -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 configura el idioma (español):
localectl set-locale LANG=es_CO.iso88591
Se instala el paquete del network time protocol para tener siempre actualizada la hora del servidor.
yum install ntp -y
Se configura para que arranque en automático utilizando el nuevo sistema de arranque de CentOS 7 Systemd:
systemctl enable ntpd
ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.target.wants/ntpd.service'
Se inicia:
systemctl start ntpd
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 servidor vía SSH y se instalan los repositorios de Homer, Kamailio y MySQL (se necesita una versión mayor o igual a la 5.6):
curl https://bintray.com/sipcapture/homer-yum/rpm -o /etc/yum.repos.d/sipcapture.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
198 198 0 198 0 0 514 0 --:--:-- --:--:-- --:--:-- 2788
curl http://download.opensuse.org/repositories/home:/kamailio:/v4.3.x-rpms/Ce... -o /etc/yum.repos.d/kamailio.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
104 1046 0 1046 0 0 3512 0 --:--:-- --:--:-- --:--:-- 7020
yum install -y epel-release https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
Con el comando que sigue se instala Homer, Kamailio, MySQL con relativa configuración, el servidor Web y todas las configuraciones que se necesitan:
yum install -y homer-httpd
Como una vez terminada la instalación la contraseña del usuario root de MySQL no estará configurada, se pone en seguridad el motor de base de datos:
mysql_secure_installation
Se entra en la carpeta de la configuración de Kamailio:
cd /etc/kamailio
se modifica el archivo de configuración para la captura de datos que es el que Kamailio leerá cuando se inicie:
nano kamailio-sipcapture.cfg
Se modifica esta línea:
#!substdef "!HOMER_LISTEN_IF!0.0.0.0!g"
en lugar de 0.0.0.0 se pone la IP publica del servidor si los datos se reciben sobre esa IP, sino la IP Privada. Se guardan los cambios y se reinicia Kamailio a través del servicio sipcapture configurado en systemctl:
systemctl restart sipcapture
Si lo quieren ver:
nano /etc/systemd/system/multi-user.target.wants/sipcapture.service
Se personalizan los parametros del archivo que sigue con los valores que se necesitan. Lo importante es cambiar la zona horaria:
nano /var/www/sipcapture/htdocs/api/preferences.php
Ahora hace falta solamente capturar datos que se realizará en un servidor Asterisk a través del programa CaptAgent. Este programa se necesita solamente si no se trabaja con la versión 13.X de Asterisk ya que esta versión está presente el modulo res_hep. Se accede al servidor Asterisk y se entra a la carpeta:
cd /usr/src
Se descarga el programa, se compila y se instala:
git clone https://github.com/sipcapture/captagent.git
cd captagent/captagent/
./build.sh
./configure
make
make install
Se configura para que arranque en automático:
cd init/centos
cp captagent.sysconfig /etc/sysconfig/
cp captagent.init /etc/init.d/captagent
chkconfig --add captagent
chkconfig captagent on
Se modifica el archivo de configuración de forma que toda la señalización SIP se envíe al servidor Homer que se acaba de instalar:
nano /usr/local/etc/captagent/captagent.xml
Modificar este bloque:
<configuration name="core_hep.conf" description="HEP Socket">
<settings>
<param name="version" value="3"/>
<param name="capture-host" value="IPKamailio"/>
<param name="capture-port" value="9060"/>
<param name="capture-proto" value="udp"/>
<param name="capture-id" value="2001"/>
<param name="capture-password" value="myHep"/>
<param name="payload-compression" value="false" />
</settings>
</configuration>
Se guardan los cambios y se inicia captagent:
service captagent start
Se accede a la pagina de administración de Homer (poniendo la IP del servidor donde se ha instalado):
Se accede con usuario admin y contraseña test123
Lo primero es cambiar la contraseña del usuario admin. Se entra en el menú izquierdo Custom Panels –> System Admin:
Luego desde la pagina principal (home) se puede acceder a toda la señalización recibida:
Teniendo todo el flujo SIP y, para las llamadas, también los datos de calidad (Protocolo RTCP)
Me comentan
Comentarios recientes