Etiqueta: script

  • Cómo ejecutar comandos de Asterisk desde la consola

    A veces es necesario ejecutar comandos de Asterisk y sacar el resultado por la consola para luego poder procesarlo con un script y poder obtener información útil.

    La manera sencilla es mediante la ejecución de Asterisk con la línea:

    asterisk -rx 'comando'

    Cuando ejecutamos esta línea, lo que realmente ocurre es que nos conectamos a Asterisk, ejecutamos el comando y nos salimos obteniendo por la consola de Linux el volcado de lo que queremos conocer.

    Esta es, sin duda una de las mejores maneras cuando queremos obtener el resultado de un comando de forma puntual, pero para «monitorizar» un Asterisk, hay quien crea scripts que utilizan esta forma varias veces cada pocos segundos, lo que provoca que cuando alguien se conecta a la consola de forma natural, se encuentre con estos mensajes molestos:

    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected

    En cada conexión podemos obtener los usuarios SIP registrados, el número de llamadas actuales, los canales ZAP utilizados, etc, pero claro, este método hace impracticable el hecho de utilizar la consola de Asterisk.

    La manera interesante, es realizarlo mediante el AMI (manager), es decir, hacer una aplicación que se conecte al puerto del Manager (5038 por defecto), se autentifique correctamente y envíe los comandos necesarios para obtener los resultados necesarios de una manera transparente para el Asterisk y sin que los usuarios conectados vean el molesto mensaje.

    Para evitar esto, Tzafrir Cohen de Xorcom acaba de publicar un parche para evitar estos mensajes y poder ejecutar comandos sin necesidad de que nadie llegue a molestarse.
    Este parche está en la versión Trunk y lo podeis descargar de aquí:
    http://svn.digium.com/view/asterisk/trunk/contrib/scripts/astcli

    Yo por mi parte, tengo un programita en perl muy sencillo que se conecta al manager y con el que obtengo todos los datos necesarios sin tener que molestar a nadie y bastante rápido.

    Pese a ser una tontería de script, aquí os lo pongo por si a alguien le interesa:
    http://www.sinologic.net/proyectos/asterisk-cmd

  • Como configurar un phoneBridge2 MOD-B

    La gente de red-fone se han propuesto facilitar la vida a sus usuarios aún más si cabe y parece ser que está teniendo bastante éxito.

    Como ya comenté en un artículo anterior, la empresa red-fone actualizó sus dispositivos phoneBridge2 del modelo A (MOD-A) al modelo B (MOD-B), la principal diferencia consistía en que, mientras el phoneBridge2 MOD-A, trabajaba exclusivamente en capa 2 (únicamente mediante direcciones MAC), el phoneBridge2 nuevo MOD-B trabaja tanto en capa 2 como el capa 3 (hay que asignarle una dirección IP), de hecho, nuestros Asterisk deben estar en el mismo rango de IP que los phoneBridge2 que queramos utilizar.

    Acostumbrado al modelo A, se me hizo un poco complicada la configuración de un sistema de redundancia con el modelo B ya que al tener dirección IP, los archivos de configuración varían bastante, es por ello por lo que visitando la web de red-fone, descubrí un tutorial muy, muy interesante donde lo explicaban bastante clarito, y por si aún alguien no llegaba a entender muy bien cómo configurarlo, han elaborado un script muy útil que genera el archivo zaptel.conf y redfone.conf necesario en un tiempo record y con unas preguntas muy básicas.

    El tutorial podeis verlo aquí:
    http://www.red-fone.com/Products/fonebridge2/Installation/

    y el archivo para facilitar la configuración del phoneBridge2 podeis descargarlo de aquí:
    http://support.red-fone.com/downloads/tools/redfone_gen.sh

    Atención: Hay que utilizar el nuevo driver que se encuentra en el paquete zaptel que se descarga de la página de descargas de red-fone:
    http://support.red-fone.com/downloads/zaptel/

    Una gozada de aparato. 🙂