Solución a Caída de troncales Asterisk

En ocaciones las troncales IAX de un servicio de telefonía entre Asterisk o hacia algún otro carrier que soporte el protocolo cae. debido a falta de servicio o a tiempos altos. por eso aqui veremos como dar solución a Solución fallo troncales Asterisk.

El siguiente script no soluciona el problema, ya que debe ser revisado en temas de QoS, o configuracion de la troncal, sin embargo permite parchearlo mediante un servicio que valide si el servicio está activo o muerto. en caso de estar muerto manda a reiniciar el módulo de iax! de tal manera que vuelve a intentar los registros. Para hacer uso de el, debes copiar el codigo y ponerlo en un archivo bash, agregarlo al crontab y ponerlo en modo ejecutable.

1.- Bash para Solución fallo troncales Asterisk IAX

#!/bin/bash

#Autor: Andres Lavariega-lavariega.com andreslavariega@evolutel.com.mx
#Solución fallo troncales Asterisk
#Reiniciar el módulo de iax!
#de tal manera que vuelve a intentar los registros.
#No tira los servicios de asterisk ni reinicia el servidor

set -x

cd /root/
TEST=$(/usr/sbin/asterisk -rx "iax2 show peers" | grep OK | wc -l)
sleep 1
#Son dos troncales por lo que test es igual a dos

if [ TEST eq 2]
       then
            echo "todo bien"
            exit ##Se acaba
fi
date >> iax_down.log
/usr/sbin/asterisk -rx "module unload chan_iax2.so" > /dev/null
sleep 30;
/usr/sbin/asterisk -rx "module load chan_iax2.so" > /dev/null

2.- Bash para Solución fallo troncales Asterisk SIP

#!/bin/bash

#Autor: Andres Lavariega-lavariega.com andreslavariega@evolutel.com.mx
#Solución fallo troncales Asterisk
#Reiniciar el módulo de iax!
#de tal manera que vuelve a intentar los registros.
#No tira los servicios de asterisk ni reinicia el servidor

set -x

cd /root/
TEST=$(/usr/sbin/asterisk -rx "sip show peers" | grep OK | wc -l)
sleep 1
#Son dos troncales por lo que test es igual a dos

if [ TEST eq 2]
       then
            echo "todo bien"
            exit ##Se acaba
fi
date >> iax_down.log
/usr/sbin/asterisk -rx "module unload chan_sip.so" > /dev/null
sleep 30;
/usr/sbin/asterisk -rx "module load chan_sip.so" > /dev/null

3.- Ahora un crontab para automatizar el test

Ahora lo que faltaria es agregar el bash a un crontab, y ponerle tiempo de ejecución que consideres necesaria. en mi caso lo tengo cada 15 minutos. con esto tendrías un Solución fallo troncales Asterisk.

Si tienes un proyecto de telefonía, CRM o telecomunicaciones no dudes en invitarme! me gusta participar en estos proyectos aportando soluciones de valor. Te dejo mi correo para cualquier duda. andreslavariega@gmail.com , o tambien puedes dar clic en el botón de arriba a la derecha para mandarme algún mensaje .

Te recomeindo leer mi articulo sobre las bondades de una centralita con Asterisk. y un libro sobre asterisk en : http://lavariega.com/aprende-asterisk-la-guia-definitiva/

Un saludo

Andres Lavariega

Apasionado de las tecnologías.Profesional Asterisk y Camaleon Firewall. VoIP Security Assessment / / Me divierto programando y desarrollando ideas //

Podría también gustarte...

3 Respuestas

  1. Esteban dice:

    Bueno el post! y gracias por el apoyo personal sobre asterisk y conmutadores

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *