Nuevo Curso Asterisk: 7 al 10 de julio @ México DF

31 May

Para todos los interesados, es de mi grato agrado presentarles dos nuevas fechas para nuestros Cursos Asterisk a llevarse a acabo durante julio del presente año en la Ciudad de México, Distrito Federal.

Las fechas programadas son:
– Sabatino (2 fines de semana): 2, 3, 9 y 10 de julio
– Intensivo (4 dias seguidos): 7, 8, 9 y 10 de julio

Para obtener más información, puedes consultar la página general con información sobre los cursos.

Si aún quedaran dudas, por favor, no dudes en enviarnos un correo electrónico y con gusto responderemos.

¡Esperamos verte en el próximo curso!

Interconectando Kamailio 3.0.x con Asterisk 1.6.2

26 May

Después de años de utilizar Asterisk, es muy notable el hecho de que su arquitectura está pensada para lograr funcionalidad, pero no desempeño.

En múltiples ocasiones he tenido problemas de llamadas que se cortan o no se procesan, simple y sencillamente porque Asterisk está congestionado por múltiples peticiones SIP que le llegan y que no es capaz de atender rápidamente por estarlas autenticando.

Pues bien, una solución a este problema es relegar toda la carga bruta de SIP hacia un SIP proxy como lo es OpenSIPS o Kamailio (ambos derivados de OpenSER), y es precisamente lo que Daniel-Constantin Mierlahace en este muy bien explicado tutorial sobre como interconectar Kamailio y Asterisk, el cual es bastante explicativo y te lleva de la mano.

Sin duda este es un excelente primer paso para lograr una opción de comunicación open source de alto rendimiento y plagada de funcionalidades.

Monitoreando los signos vitales de Asterisk: creando el NOC de una persona

26 May

Después de mucho sufrir, eventualmente lograremos llevar a nuestro equipo al punto donde los cambios serán mínimos. ¿Entonces que sigue? ¿Vacaciones? La respuesta es un simple «¡NO!». Nuestra labor es asegurarnos que Asterisk se mantenga arriba (recordemos que estamos hablando de una plataforma completa de comunicaciones, y sin ella, el negocio simplemente no funciona)

Si bien no podemos asegurar que un equipo nunca se caerá, si podemos tomar acciones proactivas que reduzcan al mínimo el tiempo que dure la caida en caso de una contingencia. No podemos monitorear el equipo 24/7 (somos humanos, ocasionalmente tenemos que dormir), por lo que debemos de utilizar alguna herramienta de monitoreo que nos informe en el momento en que algo esté funcionando mal. Una solución muy decente (y mejor aún, open source), es Argus

Argus se trata de una herramienta escrita en Perl. Es muy ligera, pero muy versátil, y nos permite monitorear diferentes métricas del equipo. Inclusive, si no tenemos manera de medirla, podemos desarrollar un script (por ejemplo en PHP) que le entregue a Argus los datos que necesita para validar si el equipo se encuentra en buen estado. Dichos datos pueden ser por ejemplo, la cantidad de llamadas que Asterisk tenga arriba, el espacio en disco disponible o bien la carga del sistema.

Screenshot de un sistema con Argus monitoreando la carga del sistema

Para poder generar algunas de las métricas que mido, desarrollé un pequeño script llamado monitor.php que utiliza PHPAGI para hacer consultas a Asterisk y entregar el resultado. Usando este script en compañía de Argus, podemos construir una herramienta de monitoreo bastante buena, y lo mejor de todo: gratis.

Si deseas discutir más sobre el tema, te invito a participar en los foros.

Curso Asterisk @ Ciudad de México (Abril ’10)

12 May

Aunque ya tiene tiempo que dí este curso, hasta hace poco me enviaron la foto del mismo, la cual quería subir para compartirla.

En esta ocasión, algunas de las empresas que nos acompañaron fueron:

Recuerda que si estás interesado en acompañarnos en fechas futuras, puedes consultar nuestro calendario de cursos para saber cual es el más próximo a ti.

Monitorear la calidad de llamadas VoIP hechas con Asterisk

7 May

Desde hace varios años he querido monitorear las diferentes métricas de calidad (latencia, jitter, pérdida de paquetes, etc) de una llamada VoIP. Nunca había encontrado una herramienta que me sirviera (open source, claro está) pero hoy que entré a http://voip-info.org, encontré una publicación que parece ser al menos un paso más adelante de lo que todos aquellos que damos servicio de VoIP necesitamos: un monitor open source de VoIP para Linux.

El Voipmonitor tiene potencial para ser una herramienta muy útil, ya que es un sniffer pasivo que guarda las mediciones hechas a todas las llamadas que circulen por el sistema en una base de datos (MySQL) que podremos consultar después. Como utiliza libpcap, podemos poner a nuestra tarjeta de red en modo promiscuo y monitorear llamadas que ni siquiera estén pasando por el equipo donde Voipmonitor esté instalado.

Por si esto no fuera suficiente, también almacena todas las llamadas en formato .pcap con lo que podemos reconstruirlas después para futuro análisis. Genial, ¿no?

Las instrucciones para instalarlo son bastante simples (algunos vienen en la página del producto, otros hay que inferirlos). Yo descargué la versión para Debian Lenny, y seguí estos pasos:

Nos aseguramos de tener las dependencias

apt-get install libmysqlclient15off libmysql++3 libpcap-dev

Descargamos e instalamos el .deb

wget http://downloads.sourceforge.net/project/voipmonitor/1.0/voipmonitor_1.0...
dpkg -i voipmonitor_1.0-lenny.deb

Ahora bien, con esto queda instalado el programa y se invoca utilizando voipmonitor. Para darle un lugar donde guardar las estadísticas, necesitamos crear la base de datos en MySQL. Para esto, les dejo aqui en línea un archivo.sql que contiene las instrucciones para hacer todo en un solo paso:

  • Crear la BD `voipmonitor`
  • Crear un usuario 'voipuser' con password 'voippass' con permisos muy restringidos (select, update e insert en la tabla voipmonitor.cdr)
  • Crear la tabla voipmonitor.cdr

Finalmente, con la tabla creada, solo haria falta invocar al voipmonitor para que comience a sniffear las llamadas. Puede invocarlo de la siguiente manera:

voipmonitor -u voipuser -p voippass -i eth0

Donde lo que estamos haciendo es especificar que monitoree la interfaz eth0 y se conecte a la BD usando el usuario/pass de voipuser/voippass.

¡Eso es todo! En nuestra tabla voipmonitor.cdr veremos que pasados unos instantes empiezan a aparecer registros de las llamadas monitoreadas, asi como sus datos de jitter, latencia y demás.

En una siguiente actualización veré de documentar bien que significa cada campo de esta tabla, ya que la documentación en este momento es prácticamente inexistente y es un tanto difícil asumir que quiere decir cada cosa.

La información ya está guardada. Ahora, el chiste será interpretarla =)

Curso Asterisk MTY @ Viakon

6 May

Hace algunas semanas tuve la oportunidad de visitar nuevamente la ciudad de Monterrey, Nuevo León, en esta ocasión para impartir un Curso Asterisk privado en las instalaciones de Viakon Conductores Monterrey.

El curso se impartió en una modalidad un poco más extendida que la de costumbre (6 dias de 6 horas cada uno), pero al final el temario fue cumplido satisfactoriamente, y los 5 asistentes que tuve regresaron a sus respectivas oficinas a poner en práctica lo aprendido.

Recuerden que a través Google Calendar mantengo el calendario actualizado de los Cursos Asterisk pasados, presentes y futuros. A continuación les dejo una foto con los asistentes de esta ocasión: hasta felices se ven con su constancia (supongo que agradeciendo que me aguantaron durante tantos dias, jaja)

Los asistentes al Curso Asterisk @ Viakon, acompañados por un servidor =)