Contador estandar

10. June 2008

Asterisk 1.6 en sistemas clusters

Cuando adelantamos las novedades que incorporaría Asterisk 1.6, comentamos que los desarrolladores se habían propuesto varios objetivos entre los que se encontraban:

- Un menor consumo de memoria

- Capacidad para funcionar en entornos realmente grandes

Cualquiera que haya seguido el desarrollo de las versiones betas que hay actualmente y que compruebe el consumo de memoria de Asterisk 1.2, Asterisk 1.4 y las betas de Asterisk 1.6, podría descubrir que Asterisk 1.2 únicamente cargaba en memoria los módulos que utiliza mientras que Asterisk 1.4 los carga todos aunque solo habilita aquellos que utiliza (una prueba de ello podeis tenerla si provocais un crash en algún módulo y con el servicio Asterisk activado, reescribis el módulo en el directorio /usr/lib/asterisk/modules, vereis como de inmediato, el sistema completo explota sin haber cargado a mano el nuevo módulo). Asterisk 1.6 vuelve a sus orígenes en cuanto a la carga de módulos y únicamente consume memoria por los módulos que realmente se utilizan (algo que era evidentemente necesario).

Ahora parece que se están centrando en mejorar la integración de Asterisk en sistemas clusterizados (varios sistemas que virtualmente se comportan como uno solo multiplicando sus capacidades de procesador, memoria, espacio, y un largo etcétera.)

Concretamente, uno de los primeros objetivos en este sentido es el de propagar la información de los usuarios (libres, ocupados, hablando, no disponible, etc.) entre los distintos servidores que forman el cluster.

Para ello, el equipo de desarrolladores de Asterisk están utilizando un framework especial para programar en este tipo de infraestructuras llamada OpenAIS y así han creado un nuevo módulo llamado res_ais que permite controlar el estado de una extensión situada en otro Asterisk perteneciente a uno de los nodos del cluster.

El siguiente paso será propagar esta información a través de Asterisk conectados entre sí por el protocolo DUNDi.

Más información: http://lists.digium.com/pipermail/asterisk-commits/2008-June/023400.html

07. June 2008

DialogPallete: Un programador visual de dialplan libre

Bytecoders nos presenta una aplicación bastante curiosa que nos permite programar un dialplan para Asterisk de forma completamente visual como el conocido VisualDialplan pero a diferencia de este último, su código fuente se distribuye bajo licencia GPL: DialogPallete.

Como podeis ver, este tipo de aplicaciones son muy espectaculares a la hora de hacer un dialplan sencillo, aunque dudo bastante de la potencia ante algunas configuraciones más complicadas, no obstante su función la cumple: facilitar la programación y edición de un dialplan a manos de usuarios sin conocimientos avanzados.

DialogPallete funciona bajo Linux y ha sido desarrollado en C++ y Python junto con las librerías QT3.

En el foro de DialogPallete podeis encontrar ayuda sobre cómo instalarlo y configurarlo aunque, como bien indica Bytecoders, el desarrollo parece haber sido suspendido ya que la última versión salió hace más de 2 años.

La verdad es que me llama la atención la similitud de VisualDialplan y DialogPallete, aunque tras echar un rápido vistazo descubro que los autores no son los mismos y de hecho están en diferentes países por lo que puede ser simplemente casualidad el parecido entre estas dos aplicaciones y parece que VisualDialplan lleva la delantera al ser un proyecto activo y con continuas actualizaciones (la última versión soporta Asterisk 1.4) algo muy importante hoy día es mantener este tipo de proyectos bien actualizados. Pero encontrar una versión libre puede hacer renacer este tipo de aplicaciones tanto por el autor como por cualquier otro usuario interesado en continuar el proyecto, esto ratifica el hecho de que el software libre ayuda a evolucionar y a mejorar. :)

Enlace: http://dialogpalette.sourceforge.net/

25. May 2008

Nortel se pasa al OpenSource

Mi compañero Hugo me envía una noticia realmente sorprendente para los tiempos que corren.

Nortel ha anunciado que está preparando un sistema de comunicaciones para pequeñas y medianas empresas (hasta 500 usuarios) llamado SCS500 y basado en software libre, lo que no quiere decir que sea gratuito, de hecho se distribuirá en la cadena Best Buy estadounidense como ya se anunció hace algún tiempo.

Tras leer la noticia, resulta que Nortel está en contactos con SIPFoundry para desarrollar un sistema de UC (unified comunication) basado íntegramente en SIP y donde se permitirá voz, video y mensajería instantanea.

Parece que el sistema tiene toda la pinta de ser un OpenSER + algún tipo de gateway PSTN en una caja negra, por lo que no sabremos realmente qué incluye este sistema donde los usuarios podrán aprovechar las posibilidades de estas aplicaciones.

  • SCS500 bundles together VoIP, instant messaging, presence, on-demand audio/video conferencing, unified messaging
  • The solution also provides some advanced call routing features that are not commonly available on SMB solutions, including automatic call distribution (ACD), advanced auto attendant, personal auto attendant, and find me / follow me.
  • Two softphone clients are available as part of the solution.  You can also use Nortel IP phones, LG-Nortel IP phones, or even multi-supplier devices.
  • Application integration is a big focus, with plug ins available for Microsoft Outlook and IBM Lotus Notes that integrate SCS500’s UC capabilities with those applications.

Este software que está preparando Nortel, estará certificado únicamente con IBM y con Dell.

Enlace: http://blogs.nortel.com/nortels-new-open-source

20. May 2008

Adiós Zaptel. Hola DAHDI!!!

Leyendo la lista Asterisk-Dev me encontré con un post bastante curioso y me hizo sospechar lo mismo que al resto de los usuarios de la lista, algo nuevo parecía haberse filtrado sin querer y tras algunas preguntas y comentarios parece ser que Digium lo ha terminado haciendo público en su blog.

Al parecer todo viene a raiz de que el propietario de Zaptel hace un par de años le comunicó a Digium que la marca estaba registrada, casualmente por una empresa dedicada a la telefonía (una empresa de venta de tarjetas para llamar por teléfono) y en parte se quejaba de que cuando alguien buscaba por término ‘Zaptel’ no aparecía su página y en cambio sí que aparecen otras tarjetas más famosas. :)

Digium ha estado buscando una palabra que no estuviese registrada y que tuviera relación directa con el software que da soporte a sus tarjetas y el nombre en cuestión fue DAHDI.

DAHDI: Digium Asterisk Hardware Device Interface

¿Qué ocurrirá entonces con el actual paquete Zaptel?

Se va a proceder a un tiempo de “renombramiento” de todo el paquete Zaptel y realizando ciertas modificaciones bastante llamativas de manera que tendrá todas las funcionalidades de la versión Zaptel 1.4 y dejará de darse soporte para kernels de Linux 2.4 y sistemas de gestión de dispositivos DevFS (en favor del uDev), por lo que los drivers actuales de Zaptel pasarán a estar desfasados y no seguirán recibiendo actualizaciones una vez lanzada la versión DAHDI 2.0.0 (la primera que verá la luz).

Asterisk 1.2 únicamente será compatible únicamente con Zaptel.
Asterisk 1.4 tendrá que adaptarse a utilizar tanto el paquete Zaptel como el nuevo DAHDI.
Asterisk 1.6 únicamente soportará DAHDI.

Digium ha señalado que pondrá a disposición de todos los usuarios una página de información para lograr que la migración de Zaptel a DAHDI sea lo más cómoda posible.

http://www.asterisk.org/zaptel-to-dahdi

Más información próximamente… :)

16. May 2008

Cómo integrar Asterisk con eGroupWare

Una de las mejores alternativas al popular Microsoft Exchange, es sin duda eGroupWare entre otros motivos porque además de ser libre y gratuito (no hay que pagar licencias como el caso del software de Microsoft), se integra perfectamente con todo tipo de software utilizado normalmente en la empresa como el Outlook, Thunderbird, Evolution, Kontact, e incluso permite sincronización con BlackBerrys, PDAs y teléfonos móviles mediante SyncML.

Una de las ventajas de que sea libre (algo que mucha gente parece no entender o no interesar) es que cualquier persona puede desarrollar una aplicación que interactue con este software sin tener que dar explicaciones ni pagar licencias ocultas.

Pues bien, la empresa sevillana Ene Soluciones acaba de publicar un sencillo manual para integrar eGroupWare aplicación con nuestro Asterisk, permitiéndonos ver con nuestro softphone preferido el nombre de la persona que nos llama si previamente hemos introducido los datos de esta persona en la base de datos de eGroupWare con nuestro cliente de correo o desde el interfaz de la aplicación.

Esto, unido a uno de tantos click-to-dial para hacer llamadas desde nuestro cliente de email con nuestro Asterisk, nos permitirá tener al jefe contento y a los clientes aún más.

Enlace al manual para integrar Asterisk con eGroupWare.

15. May 2008

Asterisk en plataformas OpenMoko

En el blog de Bytecoders leo que Brandon Kruse, desarrollador de Digium, acaba de publicar una versión de Asterisk basada en Asterisk 1.4.17 para el entorno libre OpenMoko y ser ejecutado en dispositivos móviles que funcionen con esta plataforma.

OpenMoko es un sistema operativo basado en Linux y especialmente dedicado a móviles, pdas y demás dispositivos empotrados.

Aquí podeis ver la página oficial de OpenMoko

Por supuesto, tener un Asterisk en el móvil no es que sea muy práctico, aunque es cierto que vuelve a demostrar la flexibilidad tanto de Asterisk como de cualquier aplicación Linux en cuanto a compatibilidad con los sistemas hardware y sus diferentes arquitecturas.

Aquí teneis la página del proyecto Asterisk para OpenMoko.

06. May 2008

América Online se pasa a SIP

Uno de los principales competidores de Skype y su cliente de mensajería instantánea / softphone, es América Online que cuenta con un gran número de seguidores en los EEUU y que su aplicación IM más famosa se llama AIM. De hecho, mientras en Europa la mayoría de los usuarios utilizan el Messenger, en EEUU es más famoso y popular el cliente AIM (de AOL -América Online-).

AIM, al igual que Skype, permite hacer llamadas a la red telefónica mediante un sistema que únicamente funcionaba con su cliente propietario, pero ahora parece ser que ha querido hacerse más competitivo y ha abierto las puertas al resto de usuarios mediante el sistema AIM CallOut permitiendo a otros usuarios con softphones compatibles SIP conectarse a esta cuenta y poder hacer llamadas a la red telefónica como cualquier otro proveedor de servicios IP.

La noticia realmente se vuelve interesante ya que, con este último movimiento, AOL ha pasado a ser un proveedor SIP y aprovechando que ya cuenta con bastante popularidad en los EEUU, seguro que pronto pasará a ser uno de los principales proveedores IP como ya lo fue Vonage en su momento.

Además de esto, la plataforma AIM cuenta con una API para desarrollar software y plugins para este sistema de mensajería por lo que, junto a Skype, otro que saldrá perjudicado seguramente sea Gizmo ya que es otra aplicación de mensajería con capacidades de VoIP.

El fantástico Nerd Vittles ha publicado cómo conectar nuestro Asterisk si ya tenemos una cuenta de AIM CallOut, de hecho indica expresamente que en los términos legales no hay ninguna cláusula que impida conectar nuestro Asterisk a este servicio.

Por si fuera poco decir que AOL se ha convertido en un proveedor de servicios IP basado en SIP, solo comentaros que el servidor al que hay que conectarse es: sip.aol.com, puerto 5060 :P

[aol]
type=peer
dtmfmode=rfc2833
host=sip.aol.com
insecure=very
nat=yes
secret=Password
sendrpid=yes
username=AOLusername@aim.com
disallow=all
allow=g279
allow=ilbc
allow=ulaw

28. April 2008

Todo preparado para la SIP MasterClass de Barcelona

Todo está listo para que comience el lunes el mayor curso de SIP que se hará en España impartido por Olle Johansson (principal desarrollador del Chan_sip de Asterisk), y Daniel-Constantin Mierla (Co-fundador del proyecto OpenSER) que junto a Sergio Serrano como traductor en caso de necesidad, harán las delicias de aquellos que quieren aprender las posibilidades de OpenSER y Asterisk en entornos especialmente para operadores y proveedores de servicios IP.

El curso comenzará el próximo lunes 5 de Mayo en Barcelona y ya están haciéndose todos los preparativos para semejante convocatoria que seguro que no dejará a nadie en su sitio como siempre que viene Olle Johansson a España.

De momento, ya conozco a varios que están preparando algunas sorpresas con estos artistas de la VoIP y es que lo de la Asterisk night Party de la pasada Bootcamp ha creado precedente.

¿tendremos una OpenSER night Party en esta ocasión? :)

Enlace: http://www.avanzada7.com/es/SIP_Masterclass

22. April 2008

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

17. April 2008

Empezar con Asterisk

Hoy en una conversación con unas personas que no conozco de nada, he escuchado una comparativa bastante curiosa sobre un software y una casa, y realmente después de pensar he hecho un simil sobre la forma que tienen muchas personas de instalar una aplicación y utilizarla, como si estuviesemos hablando de una aplicación tan sencilla como el Notepad de Windows.

Asterisk es una aplicación que corre bajo el sistema operativo GNU/Linux (que el amigo RMS no se me mosquee otra vez), por lo tanto, intentar ejecutarlo en otro sistema no compatible es como intentar construir una casa en el agua, o flotando a 5m., directamente no se puede o no es viable.

Asterisk también es una aplicación que maneja conceptos tan amplios (no voy a decir difíciles, simplemente amplios) como la telefonía, y las redes de datos, así, esto es algo que la persona que quiera instalar un Asterisk debe conocer al menos, una base, saber porqué y cómo. Debemos saber que una casa tiene puertas y ventanas, y debe estar asentada en un suelo plano y fijo. Si construimos nuestra casa sobre barro o sin puertas, de poco nos va a servir.

Además de estos conceptos, es necesario conocer otros como: qué es un protocolo, en qué consiste eso que llaman “VoIP”, puertos que se utilizan, de qué tipo, etc., de la misma manera que debemos saber que una casa debe tener un cuarto de baño, un dormitorio, una cocina,…

Para colmo, y como excepción a este tipo de aplicación, debemos saber cómo configurar esta aplicación para que haga lo que queremos: Qué muebles son necesarios poner y dónde, así nuestra casa puede ser medianamente habitable y podamos sentirnos agusto en ella.

Una vez que tengamos hecho todo esto, podremos empezar a aprender a utilizar Asterisk en condiciones.

Muchas personas empiezan la casa por el tejado, o bien comprando directamente una casa prefabricada que en cuanto hace un poco de viento se desploma y que, como no saben nada de configurar, terminan poniendo el WC como mesita de noche al lado de la cama y frente a la freidora.

Así que… un consejo para aquellos que esteis empezando…

Dedicadle tiempo a aprender los conceptos básicos, a familiarizaros con la configuración y a buscar y buscar información sobre cómo se hace, y no tanto preguntar para conseguir construir una casa rápidamente, o la terminareis haciendo con hojas y palillos y tarde o temprano se os caerá encima cuando esteis durmiendo en la cocina.

Si teneis que aprender de forma urgente, apuntaos a uno de tantos cursos sobre Asterisk que seguramente hay cerca de donde vivís.

Si pensais que utilizando una distribución prefabricada tipo TrixBox/Asterisk-GUI/Elastix vais a conseguir montar un Asterisk serio y rápido, estais equivocados, el Asterisk ya estará montado y medio configurado y no habreis aprendido nada y fallareis donde siempre fallan los que empiezan así, en la base.

Para comenzar, unos enlaces interesantes con documentación aún más interesante:

Feliz aprendizaje de Asterisk. :D