Homer SIP Capture Server 5.05 - Instalación y configuración

Ya hemos hablado en distintas ocasiones de como instalar y configurar Homer SIP Capture Server. En esta entrada veremos como instalar la ultima versión disponible en CentOS 7.X y recibir la señalización SIP y las estadisticas del flujo media desde una Asterisk 13.9.1 (funciona de forma nativa solamente con el canal PJSIP).

Empezamos con la instalación que se ha realizado en un VPS de Digital Ocean de 4GB de RAM (el minimo indispensable). Accedemos vía SSH y actualizamos el sistema:

yum update -y

La hora:

rm /etc/localtime

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

El servidor para sincronizar la hora remotamente:

yum install ntp -y

systemctl enable ntpd

systemctl start ntpd

Reiniciamos el VPS:

rebooot

Volvemos a acceder vía SSH e instalamos Homer SIP Capture server a Partir del script disponible:

cd /usr/src

wget https://cdn.rawgit.com/sipcapture/homer-installer/master/homer_installer.sh

chmod +x homer_installer.sh

./homer_installer.sh

image

La contraseña que aparecerá en la primera linea (cambia en cada instalación) tendremos que utilizarla en la dos lineas donde se solicita y también en esta parte:

image

Luego una vez terminada la ejecución del script tenemos que finalizar la instalación con:

yum install perl-DBI perl-DBD* -y

nano /var/www/html/api/preferences.php

donde modificamos la zona horaria para que quede (para Colombia):

define('HOMER_TIMEZONE', "America/Bogota");

Guardamos los cambios y modificamos la configuración de MySQL:

nano /etc/my.cnf

borramos todo el contenido previo del archivo y pegamos:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
max_connections = 8000
myisam_sort_buffer_size = 128M
join_buffer_size = 4M
read_buffer_size = 4M
sort_buffer_size = 8M
#table_cache = 1800
thread_cache_size = 384
wait_timeout = 7200
connect_timeout = 10
tmp_table_size = 64M
max_heap_table_size = 64M
max_allowed_packet = 64M
max_connect_errors = 1000
read_rnd_buffer_size = 524288
bulk_insert_buffer_size = 8M
query_cache_limit = 4M
query_cache_size =128M
query_cache_type = 1
query_prealloc_size = 65536
query_alloc_block_size = 131072
thread_cache_size = 16
open_files_limit = 24000
table_open_cache = 1024
read_rnd_buffer_size = 16M
myisam_sort_buffer_size = 128M
delayed_insert_limit = 8000
delayed_queue_size = 1000000
delayed_insert_timeout = 600
max_delayed_threads = 600
max_heap_table_size=2G
validate-password=off

Reiniciamos MySQL:

systemctl restart mysqld

Ejecutamos el script que creará la tablas diarias para guardar los datos recogidos por el servidor:

/opt/homer_rotate

Esta operación se ejecuta solamente una vez ya que luego un cronjob configurado por el script se encargará de la tarea.

Se vuelve a la centralita Asterisk donde se configura el archivo hep.conf para que quede:

[general]
enabled = yes
capture_address=1.2.3.4:9060
capture_id = 2464

En la tercera linea se pone la IP del servidor de captura y el puerto (predefinido 9060). Ahí estará a la escucha el servidor Kamailio que luego enviará todos los datos capturados a la base de datos homer_data.

Luego se accede a la parte Web de Homer SIP Capture Server:

http://IPVPS

donde se pone:

usuario: admin

contraseña: test1234

Si todo ha funcionado bien, en CALLS:

image

image

image

Asterisk 13.9.1 parece tener problemas a enviar el trafico RTCP. Personalmente lo he solucionado como sigue (aunque no creo que sea la mejor opción):

nano res_hep.c

se modifica este bloque:

if (ast_sockaddr_is_ipv4(&capture_info->src_addr) != ast_sockaddr_is_ipv4(&capture_info->dst_addr)) {
ast_log(AST_LOG_NOTICE, "Unable to send packet: Address Family mismatch between source/destination\n");
return -1;
}

Para que quede (comentado):

/*
if (ast_sockaddr_is_ipv4(&capture_info->src_addr) != ast_sockaddr_is_ipv4(&capture_info->dst_addr)) {
ast_log(AST_LOG_NOTICE, "Unable to send packet: Address Family mismatch between source/destination\n");
return -1;
}
*/

Se guardan los cambioy y se vuelve a compilar Asterisk. Primero se para:

systemctl stop asterisk

cd ..

make distclean

./configure --libdir=/usr/lib64 --with-pjproject-bundled

make

make install

Si aparece esta advertencia:

WARNING WARNING WARNING

Your Asterisk modules directory, located at
/usr/lib64/asterisk/modules
contains modules that were not installed by this
version of Asterisk. Please ensure that these
modules are compatible with this version before
attempting to run Asterisk.

cdr_mysql.so
format_mp3.so
chan_rtp.so
res_config_mysql.so
app_meetme.so
codec_g729-ast130-gcc4-glibc2.2-x86_64-barcelona.so
res_pjsip_empty_info.so
app_mysql.so

WARNING WARNING WARNING

No hay que preocuparse ya que todos los modulos indicados han sido compilados con la misma versión de Asterisk.

Me cuentan.

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo

2 comentarios

Suscribirse a Comentarios de "Homer SIP Capture Server 5.05 - Instalación y configuración" Suscribirse a VozToVoice - Todos los comentarios