Contador estandar

19. Mayo 2008

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

16. Mayo 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.

14. Mayo 2008

Asterisk 1.6.0-beta9 Released!

Pese a que muchos blogs y páginas de noticias sobre VoIP y Asterisk anuncian a bombo y platillo cada versión, revisión y corrección de bugs de Asterisk, estoy seguro que más de uno no le importa lo más mínimo cual es la última versión que salió ayer u hoy, no obstante, es importante recordar qué cambios va haciendo Asterisk ya que como un proyecto vivo, aquellos que siguen Sinologic y leen las noticias de las versiones, seguro que conocen en menor o mayor medida qué añadidos son importantes e interesantes para futuras implementaciones.

En esta ocasión, la versión que ha salido hoy es la 1.6.0-beta9 (la beta más alta que recuerdo en Asterisk) y que tiene como último añadido, una feature escrita por nuestro colega Olle sobre envío de mensajes en modo texto mediante el chan_sip, algo que empieza a tomar forma. Lástima que el chan_sip siempre vaya tan lento pese a ser uno de los módulos más utilizados en Asterisk.

Sobre todo, lo que tiene esta versión son correcciones de bugs encontrados desde la última versión.

Podeis ver el ChanLog aquí:
http://downloads.digium.com/pub/telephony/asterisk/ChangeLog-1.6.0-beta9

y cómo no, descargarlo de aquí:
http://downloads.digium.com/pub/telephony/asterisk/

11. Mayo 2008

Cómo ver tu dialplan gráficamente

Leyendo Asterisk-Java me encuentro que el autor acaba de desarrollar una aplicación de código abierto (cómo no, escrita en Java) que lee nuestro archivo ‘extensions.conf‘ y nos genera un grafo con la estructura de nuestro dialplan.

Desconozco realmente la finalidad de esta aplicación, aunque imagino que puede estar bien para descubrir contextos que no están enlazados y por lo tanto, que “ensucian” y dificultan la lectura.

La aplicación que permite “dibujar” los grafos base se llama Egonet y en la página de Asterisk-Java teneis el código fuente.

30. Abril 2008

Entrevista a los desarrolladores de Ekiga

Ekiga es uno de los softphones más utilizados bajo Linux junto con Twinkle y la revista FreeSoftwareMagazine ha entrevistado a los principales desarrolladores de esta aplicación y en ella se descubren algunas curiosidades bastante interesantes.

Podeis ver la entrevista aquí:
http://www.freesoftwaremagazine.com/columns/interview_with_ekiga_developers

22. Abril 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. Abril 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

11. Abril 2008

Cómo crear IVR complicados con Asterisk (y con vídeo 3G)

En las empresas pequeñas no suele ser lo habitual tener un IVR, aunque en empresas medianas o grandes es recomendable e incluso muy necesario disponer de un sistema que permita al llamante seleccionar el departamento, la persona o incluso acceder a información personal a través de lo que se llama “IVR” aunque comúnmente también se denomina “menú”. IVR (Interactive Voice Response) en español (Respuesta de voz interactiva).

Asterisk, al disponer de una programación del dialplan totalmente personalizable gracias a la infinidad de métodos disponibles para gestionar una llamada, dispone de un potencial asombroso para crear menús tan sencillo o complicados como uno quiera.

A medida que la empresa va creciendo o dispone de más servicios de cara al cliente, va aumentando el tamaño del menú de entrada de su sistema, así por ejemplo todos conocemos los IVR de las operadoras de telecomunicaciones que interactúan con la voz (ni siquiera es necesario pulsar un dígito) y nos llevan a diferentes menús según la opción elegida.

Cuando programamos en el ‘extensions.conf’ un IVR por lo general suele ser sencillo, ya que más de tres submenús empieza a parecer bastante tedioso hacer modificaciones y si tenemos que añadir una opción al segundo submenú con otro menú incluida las locuciones correspondientes, puede llegar a convertirse en todo un desafío.

A medida que el menú en el dialplan se va complicando, uno empieza a ver con buenos ojos algo que escuchó sobre el VoiceXML que permitía programar menús IVR de una forma bastante más sencilla y segura.

El VoiceXML no únicamente sirve para gestionar menús, también sirve para conectar a un TextToSpeech y a un ASR de manera que pueda hablar y escuchar a la persona que está al otro lado de la línea y poder realizar acciones y comandos en base a lo que diga o haga, pero esto es otro tema del que ya hablaré en otro momento.

Si además de permitirnos menús más serios, disponemos de un Asterisk con soporte de Videollamada 3G conectado a una línea RDSI (Básica o Primaria), entonces los resultados son altamente espectaculares.

Podeis ver más demostraciones en:
http://www.i6net.com/support/video-demos/

y cómo instalarlo y configurarlo con Asterisk, en:
http://www.i6net.com/support/install/

22. Marzo 2008

IPv6: Tan cerca, tan lejos…

Hace ya unos 10 años empecé a escuchar que las direcciones IP tal y como las conocemos actualmente se iban a agotar en un futuro próximos cuando las lavadoras, las estufas y los móviles tuvieran todos direcciones IP externas, sería entonces el momento de crear un sistema de direccionamiento que solucionase el colapso y saturación de dispositivos que utilicen el modelo de direcciones IP basados en 4 octetos (32 bits) también conocido como IPv4.

IPv6Algunas empresas y organismos idearon una posible solución que consistía en mejorar el sistema de direccionamiento utilizando en lugar de 4 bloques de 32 bits, 6 bloques y en lugar de 32 bits, 128 bits, lo que se conseguiría que todos los dispositivos electrónicos del mundo tuvieran una dirección IP y sobrasen direcciones incluso para cuando vengan los marcianos.

El cambio, que parece tan sencillo, no lo es tanto ya que todas las aplicaciones que utilizamos en la actualidad están creadas para utilizar IPv4 y el salto a IPv6 requiere de una modificación bastante radical en el núcleo de aplicaciones puramente dedicadas a manejo de paquetes como aplicaciones servidores o clientes.

Internet2En mi caso conozco varios “evangelizadores” de la IPv6 que se pasan el año de universidad en universidad ofreciendo conferencias sobre lo importante que es este cambio de mentalidad y que en todo proyecto de ingeniería informática hay que estar preparado para hacer “el gran salto” a la red de redes con IPv6, el cambio entre Internet y lo que poco a poco se va conociendo más como Internet2 donde la mensajería instantánea, la videoconferencia, y la VoIP juegan un papel mucho más que fundamental, se puede decir que será el método estandar de comunicación.

A la contra, Internet2 requiere de una gran inversión para adaptar las líneas (físicamente) lo suficiente para llegar a manejar 200 veces más datos y hasta 1000 veces más rápida que lo que ahora conocemos como Internet.

La opinión generalizada que aparece en la mente cuando alguien menciona IPv6 es de desconocimiento y cuando alguien habla de Internet2 directamente suena a Utopía, pero la verdad es que empiezan a aparecer redes aisladas basadas en IPv6 con sistemas que transforman IPv4 a IPv6. Empresas de comunicaciones que transforman su infraestructura para asegurarse un paso firme a la nueva red de redes y lo hacen de forma silenciosa con redes paralelas y privadas que tarde o temprano será la infraestructura base para la nueva Internet2 y tendremos que estar preparados para este salto que algún día, quizá nuestros hijos o nuestros nietos podrán empezar a utilizar.

De momento, y mientras preparan la infraestructura, tendremos que ir adaptando las aplicaciones a este sistema y una de las aplicaciones en la que están trabajando para que sea compatible con IPv6 es Asterisk, aunque acabamos de conocer que no tendrá soporte de momento en la versión inaugural de Asterisk 1.6.

 Asterisk IPv6

En esta página podeis ver cómo darle soporte experimental a vuestro Asterisk para que funcione bajo IPv6: http://www.asteriskv6.org/

11. Marzo 2008

IAXClient 2.1 Released!

IAXClient2Como adelanté hace algún tiempo, el equipo de desarrolladores de IAXClient (la librería para programar aplicaciones y softphones) acaba de anunciar la nueva versión estable IAXClient 2.1.

Las características de esta nueva versión incluye:

- Código para videoconferencia basado en ‘libvidcap’ que soporta la detección de dispositivos de vídeo, webcams, etc.
- Soporte para el códec Speex (1.2 beta 3) y Theora (1.0 beta 2)
- Nueva aplicación ‘simpleclient‘ para implementar aplicaciones de ‘estrés’ automatizado.
- Frame de vídeo compatible en lugar de uno cerrado.
- Bugs corregidos.

En apenas dos semanas, se intentará lanzar una versión “Release Candidate” que seguirá la versión estable 2.1.0.

Enlace: http://iaxclient.sourceforge.net/

Vía: Blog do Sato