Contador estandar

02. July 2008

Curso de Asterisk Bootcamp: dia 3

Otro día frenético, si yo he acabado reventado no me quiero ni imaginar como habrán acabado los pobres asistentes del curso.

Dialplan, más dialplan, más dialplan aún y mañana aún más, muchos conceptos y muchos laboratorios donde la gente tiene que aprender para continuar adelante con nuevos conceptos.

Pufff, espero que la gente descanse para mañana que haremos la gran Asterisk Night Party, y el día siguiente más Bootcamp y el examen dCap.


01. July 2008

Curso de Asterisk Bootcamp: Día 1

Por fín llegó el gran día, España gana la Eurocopa, y al día siguiente Asterisk hasta las orejas. Más de uno se presentó casi sin dormir la noche antes, pero allí estábamos todos, menos mal que el primer día fue bastante tranquilo: un poco de teoría y un poquito de práctica sin sobresaltos.

Aquí os dejo un par de fotografías que saqué ayer… :P

Mañana, el 2º día. :D

26. June 2008

Caso de éxito de Asterisk en una productora de TV

Una de las productoras que crea programas de televisión en Australia, Fremantlemedia, ofrece una explicación sobre cómo han cambiado un sistema de comunicaciones Samsung por un sistema de comunicaciones opensource como es Asterisk.

Seguramente muchos conoceremos bastantes ejemplos de empresas que han cambiado su centralita tradicional por un Asterisk introduciendo a la empresa en la tecnología IP, pero lo interesante es que Australia es uno de los países donde el software abierto no está tan bien visto como el software cerrado y en la entrevista se comenta que poco a poco este tipo de soluciones va tomando cada vez más fuerza.

Podeis leer el artículo aquí (está en inglés):
http://www.computerworld.com.au/id1178556373

Elastix 1.1 stable Released

El pasado día 21 de Junio vió la luz una nueva actualización de la distribución Elastix (la versión 1.1) que cuenta con 130 paquetes actualizados además del esperado módulo “Agenda” que permitirá al usuario de Elastix acceder a una aplicación de Calendario y Directorio telefónico personal.

Adicionalmente está el módulo de directorio telefónico al que se le ha incorporado la funcionalidad de click-to-call.

Podeis descargarlo desde este enlace:
http://downloads.sourceforge.net/elastix/Elastix-1.1-Stable.iso

24. June 2008

Cómo testear una tarjeta de primarios en Asterisk

Cuando vamos a instalar un Asterisk, comprobamos que el sistema operativo tiene las últimas versiones de los paquetes estables, que tenemos una versión de Asterisk marcada como estable (nada de trunk, team o release candidate), revisamos varias veces la configuración del dialplan, comprobamos que Asterisk se registra corréctamente con el proveedor IP y probamos a hacer llamadas y recibirlas para asegurarnos que todo marcha como debería hacerlo.

Pero a menudo nos encontramos con un inconveniente a la hora de probar la conexión con una tarjeta de comunicaciones, esto se puede hacer de las siguientes maneras:

  • Conectándole una línea directa con el proveedor de telefonía.
    Esto sería lo ideal, aunque no siempre es posible.
  • Conectando un simultador de líneas.
    La pega es que estos dispositivos son bastante caros y complejos para alguien no acostumbrado a estos temas.
  • Conectándole otro sistema con señalización contraria que simule ser el proveedor.
    El resultado de la prueba dependerá de cómo tengamos configurado el sistema contrario, lo que puede darnos un resultado nada concluyente.

Cuando vamos a probar una tarjeta analógica, no es difícil encontrar una línea directa con el proveedor de telefonía que nos suministre el voltaje necesario, los tonos y los cambios de polaridad necesarios para probar la tarjeta o bien algún tipo de dispositivo que genere el voltaje necesario y nos simule una línea (un spa3000, un grandstream fxs, o cualquier otro. De la misma manera aunque un poco más complicado es con una RDSI Básica, o bien tenemos una disponible, o bien tendremos que buscar algo que nos permita simular este tipo de líneas.

Lo que es bastante más complicado es disponer de un primario, y si no tenemos la suerte de tener otra tarjeta de primarios configurada en modo proveedor (NET) y que nos suministre la señal de timing, tendremos que buscar otra manera de comprobar que la tarjeta funciona corréctamente.

Para ello, podemos utilizar lo que se llama un “conector nulo” que no es más que un cable con unos pines conectados entre sí de manera que cualquier señal que enviemos por la tarjeta (puertos TX1 y TX2) la recibiremos por los pines destinados a la recepción (RX1 y RX2). Este método no nos va a permitir comprobar si la configuración del primario es correcta (ya que para eso necesitaremos del primario con sus parámetros y su configuración establecida por el proveedor) pero sí nos va a permitir asegurarnos que la tarjeta funciona correctamente.

Tendremos que utilizar el siguiente esquema con los pines indicados unidos entre sí, cargar el módulo necesario para la tarjeta (que creará los dispositivos /dev/zapX) y, con Asterisk descargado, utilizar la herramienta ‘patlooptest’ que viene en el paquete zaptel.

La aplicación patlooptest enviará secuencias de 1’s y 0’s aleatorias a través de los pines TX y esperará a recibir la misma secuencia por los RX.

De esta manera, comprobamos que:

- La tarjeta es capaz de enviar una secuencia binaria desde una aplicación hacia el exterior.
- La tarjeta es capaz de recibir la misma secuencia desde el exterior y hasta la aplicación.

El resultado de la prueba es trivial, si lo que enviamos es igual a lo que recibimos, entonces la tarjeta es correcta. Si lo que enviamos es distinto a lo que recibimos, entonces puede ser porque la tarjeta tenga algún tipo de fallo.

Si Asterisk está cargado al hacer el test, la prueba no será válida ya que Asterisk está continuamente enviando datos a través del primario para llegar a conectarse a un primario de verdad, por lo que, además de la secuencia que envíe el patlooptest, Asterisk enviará la suya, y la aplicación no recibirá únicamente los datos que espera si no también recibirá intercalados los datos que envía Asterisk y que no están controlados.

Las tarjetas no suelen entender de señalización (qsig, euroisdn, etc…) únicamente entiende de 1’s y 0’s, por lo tanto si en el arranque del módulo de la tarjeta (que ejecuta varios tests internos) el módulo no indica que la tarjeta esté mal, y al hacer el patlooptest los datos son correctos, entonces si la conexión con el primario no funciona, seguramente se deba a un fallo en la configuración o en los valores que tenga configurado el proveedor.

Si con este conector nulo encendemos Asterisk, nos encontraremos que Asterisk mostrará un mensaje de error al detectar que el “otro lado” tiene la misma configuración que nosotros, es decir: Si hemos configurado la tarjeta como PRI_CPE, entonces en el otro lado también será PRI_CPE en lugar de PCI_NET.

19. June 2008

Curso de Asterisk en Madrid

Últimamente no estoy escribiendo todo lo habitual porque estoy preparando el temario para la próxima Bootcamp de Digium que se realizará en Madrid dentro de un par de semanas (del 30 de Junio al 4 de Julio).

El curso se va a realizar en un hotel cerca de la estación de tren de Atocha, en un salón de actos con espacio suficiente y perfectamente acondicionado para la ocasión.

Este Bootcamp es el oficial que ofrece Digium, y está orientado a todo aquel que quiera aprender Asterisk de forma profesional, no conformándose con instalar y configurar un Asterisk, si no entendiendo realmente cómo funciona y animando a comprender los entresijos, trucos y la verdadera capacidad de Asterisk mediante un curso actualizado mensualmente con las últimos añadidos de las últimas versiones conocidas y no tan conocidas con un completo temario distribuido en 5 días y 19 módulos con los conceptos más importantes y completos de este sistema.

Módulo 1: Bienvenida e Introducción
Módulo 2: La arquitectura de Asterisk (DAHDI, LibPRI, Asterisk, Añadidos)
Módulo 3: Instalación avanzada de Asterisk
Módulo 4: Configuración de Asterisk
Módulo 5: Introducción al Dialplan de Asterisk
Módulo 6: Extendiendo los conocimientos del Dialplan de Asterisk 1.4 y 1.6
Módulo 7: Fundamentos básicos de VoIP
Módulo 8: Fundamentos de VoIP: SIP y IAX2
Module 9: Profundizando aún más en el Dialplan de Asterisk
Módulo 10: Dialplan: Expresiones, Funciones, Condiciones, etc…
Módulo 11: Fundamentos de Telefonía
Módulo 12: Reconocimiento de Voz e integración con Asterisk
Módulo 13: Extendiendo aun más el Dialplan de Asterisk
Módulo 14: Configuración de Colas, Agentes y Distribución de llamadas
Módulo 15: Entendiendo los mensajes, errores, y logs de Asterisk
Módulo 16: Configuración de tarjetas Digitales y Analógicas con Asterisk
Módulo 17: Creando aplicaciones para Asterisk con cualquier lenguaje: AGI
Módulo 18: Manejando en tiempo real Asterisk: AMI (Manager) y ARA
Módulo 19: Aprendiendo a conectar varios Asterisk entre sí mediante DUNDi

Es altamente recomendable que los asistentes conozcan como mínimo los comandos básicos de Linux (copiar, editar, mover, instalar paquetes, etc.) así como un mínimo de conocimientos sobre redes ethernet ya que se harán uso de estos conocimientos.

En la Bootcamp, cada alumno dispondrá de un ordenador (actual) con el que podrá hacer las prácticas y los ejercicios planteados durante el curso, así como todo el material necesario: tarjetas analógicas, digitales, terminales IP y terminales analógicos, y con un simulador para poder comprobar que tanto las prácticas como los ejercicios realizados están bien hechos.

El curso será impartido por dos profesores con el título dCap, que nos iremos turnando para ayudar con las posibles dudas o típicos bloqueos en los laboratorios.

El último día, tras el último módulo, se realizará el examen de certificación de profesionales de Asterisk (dCap) que, como ya comenté en un post anterior, Digium no solo se ha esforzado en mejorar el temario para adaptarse a las novedades que han ido surgiendo y al tiempo disponible, si no que ha cambiado algunas características del examen permitiendo, en España y Portugal, guardar la nota de la parte aprobada durante un año, independientemente de la convocatoria a la que se presenten.

El curso de Asterisk Bootcamp incluye todo el material necesario:

- Mochila de Asterisk para el portatil
- Todo el material teórico que se verá en el curso.
- El libro “The Future of Teléphony - 2ª edición
- Tarjeta para líneas analógicas Digium TDM411B (FXO y FXS)
- Tarjeta para líneas de primarios Digium TE122P (PCI)
- Terminal IP Polycom SoundPoint IP 330
- Calculadora, alfombrilla, camiseta y bolígrafo de Asterisk.

- El curso completo cuesta 2.000€ y con el material 2.400€
- En cuanto al examen dCap, la convocatoria cuesta 250€

Para aquellos que estén interesados en apuntarse (si quedan plazas) tan solo tiene que ponerse en contacto con la organizadora del curso Avanzada7.

12. June 2008

Asterisk 1.4.21 Released!

Acaban de anunciar Asterisk 1.4.21 con bastantes cambios.

La lista de cambios la teneis aquí:
http://svn.digium.com/view/asterisk/tags/1.4.21/ChangeLog?view=markup

Y para descargarla:
http://downloads.digium.com/pub/telephony/asterisk/

11. June 2008

Descuento del 25% a la Astricon si eres dCap

Acabo de recibir un correo de Digium dándome la noticia que este año, a todos aquellos que tengan el título dCap, dispondrán de un 25% de descuento para asistir a la próxima Astricon que será en los EEUU, concretamente en Phoenix en el hotel Westgate, uno de los hoteles más grandes de todo el estado de Arizona.

Ya conseguiré más información, pero de momento comentar que será del 23 al 25 de Septiembre.

FreePBX le planta cara a Fonality y lo acusa de mentir

Como si de una telenovela se tratase, los movimientos estratégicos de Fonality con respecto a FreePBX se está convirtiendo en una historia de amor, engaños, amantes y por último odio.

Cualquiera que esté interesado en esta novela que llevamos contando desde hace algún tiempo, Fonality lleva bastante tiempo buscando un interfaz web para no depender de la aplicación que ha hecho famoso a su conocido TrixBox: FreePBX.

Hace unas semanas Fonality hizo público que estaba cansado de pagar a la gente de FreePBX para que corrigiese bugs y para que siguieran mejorando el interfaz que hace que la gente instale Trixbox, por lo que habían tomado la decisión de hacer un ‘fork’ de FreePBX controlado únicamente por Fonality. No obstante la respuesta, aunque ha tardado en llegar, ha aparecido en forma de queja y presunta acusación de engaño a los usuarios del foro de FreePBX por parte de Kerry Garrison (CEO de Fonality) cuando el administrador de los foros de FreePBX ha detectado que “kgarrison” cambiaba de usuario para seguir comentando hilos bajo otro pseudónimo “GPLLaw” a lo que el administrador de los foros procedió baneando a este último usuario por lo que recibió una carta de queja por parte de GPLLaw:

I am quite disappointed in the fact that I have been blocked from posting on your site. I routinely call out other projects such as trixbox, Elastix, PBX-In-A-Flash, Asterisk, CentOS, Apache and other when either there is a violation of GPL rules or when someone is misinterpreting the GPL license or Free Software Foundation guidelines. Some of your users are completely misconstruing the spirit of the FSF and I have pointed out the links and quotes from the FSF that backup their position. I am sorely disappointed that when I returned today to again reiterate the stance of the FSF and of the GPL I find that opposing views to your community are met with accounts being blocked. Perhaps this is an overstepping of bounds from one of your moderators but I can assure you that I am very disappointed and will have no problem calling this out in a more public forum if this is the policy of the FreePBX team. As I am sure this cannot be the position of a leader of an open source project, I am letting you know about it before publicly accusing the project leaders of blocking users for disagreeing with a very small number of people from the community.

GPLLaw
Cuando la gente de FreePBX recibieron este mensaje no daban crédito (kgarrison tiene su cuenta y puede utilizarla libremente para mostrar su opinión cuando lo desee) así que preguntan en el foro qué hacer con este lío y las respuestas no tardaron en llegar.

Por lo visto, esta técnica se había repetido hasta 4 veces en la página de FreePBX con el mismo usuario.

Kerry Garrison se defiende diciendo que no ha sido él, que habrá sido alguien que habrá utilizado una técnica de IP Spoofing para utilizar su IP, pero la gente no es tonta y las pruebas son bastante contundentes.

Los comentarios no tienen desperdicios ya que se está abriendo un debate sobre lo ético que es montar una empresa para ganar dinero suministrando software que han hecho otros, la licencia GPL así lo permite pero no suele ser bien visto ya que, puestos a ganar dinero debería hacerlo la empresa que lo programa, no obstante, al ser aplicaciones libres ni FreePBX ni Asterisk ganan dinero directamente por hacer ni distribuir el software, algo que sí hacen empresas como Fonality con sus productos TrixBox Pro. Otros comentarios comentan ejemplos de empresas que hacen lo mismo con otros sistemas como Elastix.

lo dicho… una telenovela. Seguro que pronto veremos el siguiente capítulo.

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