Instalar Nagios en Debian 7 – Parte II

En esta parte de la guía nos vamos a centrar en configurar nuestro Nagios para que sea capaz de realizar llamadas VoIP.
Esto surge de la necesidad de poder ser avisado de una forma de la que no tengamos que estar revisando el correo constantemente.
Así que si estáis dispuesto a realizar el sacrificio espero que os lo paguen muy bien en el trabajo, por que si no… lo siento por vosotros.

Importante mencionar que necesitamos una cuenta de algún proveedor VoIP, ya que sin ella se hará imposible :P

Vamos a usar PJSIP/PJSUA así que empezamos instalando subversion y nos copiamos localmente el repositorio de pjproject.

apt-get install subversion
svn checkout http://svn.pjsip.org/repos/pjproject/trunk

Instalamos las dependencias necesarias

apt-get install build-essential automake autoconf libtool libasound2-dev libpulse-dev libssl-dev libsamplerate0-dev libcommoncpp2-dev libccrtp-dev libzrtpcpp-dev libdbus-1-dev libdbus-c++-dev libyaml-dev libpcre3-dev libgsm1-dev libspeex-dev libspeexdsp-dev

Nos vamos al directorio donde hemos descargado el repo y configuramos, compilamos e instalamos:

cd trunk
./configure && make dep && make clean && make && make install

Copiamos el ejecutable en /usr/bin/

cp pjsip-apps/bin/pjsua-i686-pc-linux-gnu /usr/bin/pjsua

Configurar pjsua.

Creamos el archivo de configuración llamado pjsuarc en /etc con la siguiente plantilla (los detalles dependerán del proveedor voip):

nano /etc/pjsuarc
--null-audio
--registrar sip:IPSERVIDOR:PUERTO
--realm=*
--id sip:<username>@<IPSERVIDOR>:PUERTO
--username <username>
--password <password>

Ahora podemos probar a realizar una llamada, y si todo funciona bien podemos seguir.

/usr/bin/pjsua --config-file=/etc/pjsuarc sip:<TELEFONOALQUELLAMAR>@<IPSERVIDOR>:PUERTO

Volvemos con Nagios, recordando que los archivos de configuración estan en la carpeta:

/usr/local/nagios/etc/objects

Necesitamos editar commands.cfg y contacts.cfg.

nano /usr/local/nagios/etc/objects/commands.cfg

Y añadir al final

define command{
        command_name  notify-host-by-sip
        command_line  (sleep 30 && echo q) | /usr/bin/pjsua --config-file=/etc/pjsuarc sip:$CONTACTEMAIL$
}
define command{
        command_name  notify-service-by-sip
        command_line  (sleep 30 && echo q) | /usr/bin/pjsua --config-file=/etc/pjsuarc sip:$CONTACTEMAIL$
}

Ahora añadimos el contacto

nano /usr/local/nagios/etc/objects/contacts.cfg
define contact{
        contact_name  user_sip
        alias  useralias
        service_notification_period  24x7
        host_notification_period  24x7
        service_notification_options  c
        host_notification_options  d
        service_notification_commands  notify-service-by-sip
        host_notification_commands  notify-host-by-sip
        email  TELEFONOALQUELLAMAR>@<IPSERVIDOR>:PUERTO
}

Y con esto hemos acabado, solo nos quedaría añadir como contacto en nuestros hosts o servicios el usuario «user_sip» y ya podremos recibir los avisos en el teléfono.
Nota: Se puede complicar un poco más, haciendo que al descolgar nos reproduzca una grabación, en mi caso con solo ver la llamada me basta ya que inmediatamente puedo entrar y ver donde esta el problema.

Deja un comentario

Tienes que iniciar sesión para escribir un comentario.

Archivos
Categorías

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies