Etiqueta: cli

  • Por qué es mejor editar tus propios archivos de configuración

    Siguiendo una línea de opinión personal, y tal y como prometí en el anterior artículo Porqué recomiendo Debian y no CentOS, escribo sobre porqué es mejor configurar Asterisk mediante archivos de configuración y no mediante un intefaz web generalista como FreePBX.

    Como digo, esta es una opinión personal, no es una tautología ni espero llevar razón en todo. Cuando hablo de interfaces web, hablo principalmente de interfaces web de configuración de Asterisk de forma generalista: FreePBX, Asterisk-GUI, y en cierta medida, el interfaz web de configuración de Elastix entre otros, por ser los más comunes. Fuera quedan interfaces web propios, desarrollados con una orientación especial por empresas para sus clientes, o incluso otros generalistas pero orientados de forma particular tal y como explicaré a continuación que si bien me parecen sistemas ideales para alguien que quiere configurar «su propio Asterisk» para hacer pruebas, o incluso para su propia empresa, no lo veo eficiente, serio ni profesional como para ser incluido dentro de un sistema profesional de comunicaciones.

    Dar gracias a todos aquellos que esperaban impacientemente un artículo como este, bien por ser un «tema flame» que causa ampollas entre los defensores de los interfaces webs y los defensores de la línea de comandos. No hay necesidad de ser extremo en ningún punto, ni ser «pro-interfaces» ni ser «pro-consola«, aquellos que son «pro-interfaces» saben que a menudo (y más frecuentemente de lo que quisieran) necesitan de una consola, y aquellos que son «pro-consola» seguro que tienen instalado un interfaz gráfico donde impera KDE o Gnome o incluso XFce o WindowMaker.

    Quiero dejar claro que trabajo a diario con interfaces webs, por lo que conozco bastante FreePBX, Asterisk-GUI y otros interfaces generalistas de facturación, de grabación y algunos otros, menos conocidos, que considero proyectos perfectos para la función que deben tener: un sistema de comunicaciones pequeño, bien controlado, bien configurado y sabiendo qué hacen y cómo lo hacen además hacer lo que debe hacer. Este artículo va en otro sentido, y no critico ningún proyecto opensource que, como siempre dijo, merecen todo mi respeto y admiración tanto por parte de sus desarrolladores como el de sus usuarios.

    Cuando hablo de «editar tus propios archivos de configuración» me refiero principalmente a crear tu propia configuración a mano, y no crearlo utilizando un interfaz web, no significa que la configuración deba ser mediante archivos de configuración, también puede ser vía base de datos o cualquier otra forma de configuración que permita realizar cualquier acción que deseemos o necesitemos y podamos controlar a la perfección tal y como a continuación explico.

    (más…)

  • BoscliOSS: Potencia al máximo tu consola CLI de Asterisk

    boscliossMi colega Eduardo Ferro me ha mostrado un proyecto libre en el que está trabajando y del que solicita colaboración para mejorarlo. El proyecto se llama BoscliOSS y consiste en una aplicación para Asterisk que nos ayudará con el manejo de la consola de Asterisk (CLI) al poder programar ciertos comandos útiles y que no vienen con los comandos habituales de Asterisk.

    Para entender mejor esto, han puesto un vídeo donde se puede ver su potencial:
    http://oss.alea-soluciones.com/files/screencasts/demo-boscli-oss-asterisk.html

    «El caso es que para nuestros equipos hemos desarrollado unas librerías que nos permiten realizar shells de propósito especifico de una forma muy sencilla y muy rápida. Estás librerías que incluyen un sistema de carga de extensiones y permiten que en un mismo shell tengamos varias exteniones al mismo tiempo (por ejemplo una para trabajar con asterisk, otra para configurar red y otra de utilidades). En el siguiente enlace tienes un screencast de cómo usamos la extensión de asterisk para operar, por supuesto dentro de este shell también tenemos un comando que nos introduce en el shell/cli de asterisk, pero normalmente sólo en un 10% de los casos tenemos que recurrir a el, puesto que vamos metiendo en la extensión de asterisk todo lo que vamos necesitando.«

    En el siguiente enlaces tienes un listado (sin completar) de las funcionalidades soportadas:
    http://oss.alea-soluciones.com/trac/wiki/BoscliOss

    Por otra parte también sería muy interesante saber qué comandos/operaciones serían útiles para introducir y así completar bastante la extensión de asterisk antes de publicar una versión en freshmeat o similares.

    Es un proyecto muy interesante que seguro que será de gran utilidad a todos los administradores de sistemas Asterisk que trabajen continuamente con la consola de Asterisk o bien aquellos desarrolladores que necesiten obtener ciertos datos «específicos» y que el comando típico de la consola no pueda darlos.

  • Simplificando el uso de la consola CLI de Asterisk

    Leo en VoIPNews que mvanbaak ha enviado un parche que permitiría a Asterisk manejar comandos alias de otros y de esta manera simplificar bastante los comandos que cada vez son más largos y más completos.

    Así podríamos tener un archivo cli_aliases.conf con lo siguiente:

    ;
    ; CLI Aliases configuration
    ;
    ; This module also registers a «cli show aliases» CLI command to list
    ; configured CLI aliases.

    [general]
    ; Here you define what alias templates you want to use. You can also define
    ; multiple templates to use as well. If you do, and there is a conflict, then
    ; the first alias defined will win.
    ;
    template = friendly ; By default, include friendly aliases
    ;template = asterisk12 ; Asterisk 1.2 style syntax
    ;template = asterisk14 ; Asterisk 1.4 style syntax
    ;template = individual_custom ; see [individual_custom] example below which
    ; includes a list of aliases from an external
    ; file

    ; Because the Asterisk CLI syntax follows a «module verb argument» syntax,
    ; sometimes we run into an issue between being consistant with this format
    ; in the core system, and maintaining system friendliness. In order to get
    ; around this we’re providing some useful aliases by default.
    ;
    [friendly]
    hangup request=channel request hangup
    originate=channel originate
    help=core show help
    pri intense debug span=pri set debug 2 span

    ; CLI Alias Templates
    ; ——————-
    ;
    ; You can define several alias templates.
    ; It works with context templates like all other configuration files
    ;
    [asterisk](!)
    ; To create an alias you simply set the variable name as the alias and variable
    ; value as the real CLI command you want executed
    ;die die die=stop now

    [asterisk16](asterisk)
    ; Alias for making voicemail reload actually do module reload app_voicemail.so
    ;voicemail reload=module reload app_voicemail.so
    ; This will make the CLI command «mr» behave as though it is «module reload».
    mr=module reload
    ;
    ;
    ; In addition, you could also include a flat file of aliases which is loaded by
    ; the [individual_custom] template in the [general] section.
    ;
    ;[individual_custom]
    ;#include «/etc/asterisk/aliases»

    Así, si en la consola escribimos mr, el sistema ejecutará module reload y así con otros comandos que podamos ejecutar habitualmente.

    Es una estupenda idea y noticia para aquellos que nos quejamos que cada versión de Asterisk incluye nuevos comandos ‘core’ ‘module’ ‘…’ que alargan el comando final para simplemente ver quien está hablando o habilitar/deshabilitar el debug.

    De momento el parche ya está disponible y ha sido añadido a la versión trunk de Asterisk.

    *Actualización*
    Según pudimos ver en la conferencia de Kevin P. Flemming  en el VoIP2DAY, esta utilidad estará disponible en la versión de Asterisk 1.6.2. 🙂

  • Proyectos interesantes sobre Asterisk

    Luigi Rizzo comenta en la lista Asterisk-Dev algunos proyectos que están llevando a cabo en la Universidad de Pisa (Italia), algunos muy interesantes:

    Hacer que Asterisk arranque como una extensión de Firefox.
    El objetivo de de este proyecto no es que sirva como servidor en producción, si no facilitar la tarea de desarrollar interfaces web sin tener que hacer pruebas contra un Asterisk de verdad.

    Soportar multiples fuentes de vídeo y de audio, de manera que cambien durante una conversación.
    Precisamente estuve probando este fin de semana la aplicación app_conference con vídeo y con unos resultados bastante satisfactorios en cuanto a que la fuente de vídeo cambia según quien hable. Muy interesante para videoconferencias con varias personas. Aunque no se vea la pantalla partida, es un paso. Pronto escribiré algo más sobre esto.

    Unir el módulo chan_oss (posiblemente con el chan_alsa) en uno único: chan_console.
    La ventaja de esto consiste en unificar las ventajas de cada uno de estos módulos y no tener que preocuparnos sobre la plataforma de audio que vamos a utilizar cuando utilicemos la consola para hacer y recibir llamadas.

    ¿Conoces alguna universidad que ofrezca proyectos de este tipo y no solo instalar y configurar un Asterisk?

    Enlace: http://lists.digium.com/pipermail/asterisk-dev/2008-May/032977.html