Contador estandar

15. Abril 2008

Aclarando conceptos sobre SIP y VoIP

El protocolo SIP (que significa Protocolo de Iniciación de Sesiones) nació en 1996 cuando Mark Handley y Eve Schooler presentaron el primer borrador ante la IETF de lo que sería un protocolo de comunicaciones IP que solucionaría gran parte de los inconvenientes de protocolos anteriores.

En este borrador se exponían conceptos nuevos y que posteriormente pasaría a utilizarse en todo el mundo como uno de los protocolos más utilizados en las aplicaciones de mensajería instantánea, aplicaciones CRM, ERP y por supuesto VoIP. Entre estos nuevos conceptos destaca alto tan básico como el “registro”, por el cual un usuario informaba a la red dónde podía recibir invitaciones de comunicaciones por parte de otros usuarios, lo que permitía que un usuario pudiera recibir un mensaje en su casa y si luego se trasladaba al trabajo y se “registraba”, el mensaje lo recibiera en el trabajo y no en su casa.

El protocolo SIP es un protocolo de señalización, es decir, SIP no transporta audio ni vídeo, por lo que sería incompleto decir que en una comunicación de VoIP en SIP solo interviene este protocolo que se transmite por el puerto 5060 TCP o UDP.

Entonces ¿como se puede enviar audio y vídeo por SIP?. Sencillamente, no se puede, SIP no está diseñado para esto, aunque sí que permite indicar el sistema y el puerto por el que se puede enviar un flujo de datos que encapsula la voz y el vídeo. Para este flujo de datos se utiliza otro protocolo: SDP (que significa “Session Description Protocol” en español “Protocolo de Descripción de Sesiones“) y envía los parámetros de inicialización de audio y vídeo transmitidos por streaming por varios puertos UDP altos (por encima del 1024)

La comunicación SIP se realiza entre lo que se denominan “Agentes de Usuario SIP” comúnmente conocido como “usuario SIP”, “Servidores de Registro” también conocido como “SIP Server” y “SIP Proxy” también conocido como “SIP Proxy” :P

- Usuarios SIP:
Un usuario SIP puede ser una aplicación de mensajería, un softphone, un teléfono IP, y en general cualquier dispositivo o software que sea compatible con SIP y que tenga la capacidad de “registrarse” con una cuenta SIP. Los usuarios SIP reciben una URI formada por “usuario”@”dominio” donde el campo dominio se corresponde con el Servidor SIP donde se encuentra registrado.

- Servidor SIP:
Un servidor SIP es una aplicación o dispositivo que permite crear y gestionar cuentas SIP y permitir que los Usuarios SIP se “registren” almacenando la dirección IP donde deben acceder para realizar la comunicación con este usuario.

- Proxy SIP:
Un Proxy SIP es una aplicación que permite que cualquier usuario SIP envíe un comando a otro usuario SIP.

Con estos tres conceptos claros, empieza la parte divertida, cuando dos usuarios SIP quieren hablar entre si, hace falta:
- Dos usuarios SIP (100@dominio y 200@dominio)
- Un servidor SIP donde se registrarán los dos usuarios
- Un proxy SIP para enviar los paquetes necesarios desde uno de los usuarios al otro para empezar a establecer una comunicación.

Una vez establecida la comunicación, el envío de los paquetes streaming de audio y vídeo se realiza únicamente y exclusivamente entre la aplicación registrada como 100@dominio y la aplicación registrada como 200@dominio, por lo que queda demostrado que SIP es un protocolo P2P tan mal visto por los medios de comunicación. :)
En este caso, el usuario 100@dominio también podría iniciar la comunicación introduciendo el usuario 200@direccionIP donde “direccionIP” sería la que tuviese ese usuario en ese instante. ¿pero qué ocurre cuando el usuario cambia de IP? ¿Perdemos la posibilidad de llamarle? Justamente para eso sirve el servidor SIP y el Proxy SIP.

Aprovechando estas definiciones interesantes, me gustaría aclarar algunas más relacionadas con la VoIP:

- B2BUA (Back 2 Back User Agent)
El B2BUA es una aplicación para controllar llamadas entre usuarios SIP y se diferencia de un Proxy SIP en que este únicamente gestiona el estado de una llamada cuando se realiza, mientras que el B2BUA mantiene el estado de las llamadas y las mantiene para conseguir información valiosa en determinados entornos como facturación, redireccionamiento de llamadas en caso de caída de un proveedor SIP, etc.
Asterisk es mucho más que un B2BUA ya que no únicamente controla todo esto, si no que incluso puede llegar a realizar acciones que ni un Proxy SIP ni un B2BUA pueden realizar como: grabaciones de llamadas, sistemas de buzón de voz, reproducción de locuciones, ofrecer menús IVR, reproducir música en espera, y un larguísimo etc.

- Media Gateway (MGW)
El Media Gateway es una aplicación o dispositivo que convierte la señalización SIP y el audio streaming, recibidos por SIP en el formato necesario para que sea transportado por otra “tecnología” como líneas analógicas, digitales, diferentes protocolos IP, etc.

- Softswitch
El Softswitch es una aplicación o dispositivo que realiza las labores de un Proxy SIP y un Media Gateway.
Ejemplo de softswitch es el conocido FreeSwitch al que además le han añadido algunas opciones más típicas de centralitas.

- PBX
Un PBX es una centralita basada en la red telefónica (analógica, digital o incluso móvil) que realiza las acciones que ya conocemos de toda centralita: gestionar transferencias, programar menús IVR, grabar conversaciones, etc.

- Media Server
Un Media Server es un dispositivo o aplicación que permite almacenar contenido multimedia (audio, vídeo, imágenes, etc…) y que puede enviarla mediante algún tipo de protocolo sin importarle a quien.
Es un reproductor de contenido multimedia que se conecta a cualquiera de los sistemas que he mencionado con anterioridad y ofrece este contenido a uno o varios usuarios.
Tras esta breve explicación, espero que estos conceptos hayan quedado más claros y evitar utilizar una aplicación para realizar tareas más propias de otras. :)

14. Abril 2008

Elastix 1.0 por fín estable!

Bueno, pese a tenerlo instalado bastantes personas, ahora resulta que acaba de salir la versión 1.0 estable de Elastix.

Parece que de momento no lo han publicado en la página web, aunque en la lista de Asterisk-ES ya se han hecho eco.

Los cambios con respecto a la versión candidata anterior (RC2) son:

Version 1.0 Stable (Apr. 14 2008)
- Module Extension Batch changed to support more parameters of VoiceMail.

- Module GroupPermissions: Do not permit change the permissions of modules administratives to administrator group.
- In elastix.spec maintenaince, lines of create folder faxvisor comments, this folder is in source elastix.
- New language Catalan.

- Update module Hardware Detection, now zapata.conf is more complete.

- Add zapata.conf custom by elastix, in rpm freePBX.
- Maintenaice of rpm elastix
-a2billing, name format changed. And validation directory /var/lib/asterisk/sounds/en/ exists.
- Updating rhino packages to 2.2.5.3 version.

Podeis descargarlo desde aquí:
http://downloads.sourceforge.net/elastix/Elastix-1.0-Stable-10abr2008.iso

13. Abril 2008

Próxima WHYFLOSS: 8 y 9 de Mayo

Los próximos días 8 y 9 del mes de Mayo se celebrará la 4ta edición de la WhyFLOSS Conference, con entrada LIBRE y GRATUITA y con CERTIFICADOS DE ASISTENCIA y PONENCIAS DE NEGOCIO y TÉCNICAS orientadas a CIOs, empresas públicas y privadas, emprendedores, estudiantes y profesionales de IT.

Este evento se celebrará en la Escuela de Informática de la Universidad Politécnica de Madrid, Campus Sur y contará con las siguientes conferencias, seguro que interesan más de una:

  • Open-Cities: El reto de la administración electrónica.
  • VII programa Marco en la UE: Floss Include y Floss Metric.
  • Modelos de negocios utilizando Asterisk.
  • Clústering computacional en el CSIC.
  • La implicación de la Free Information Infraestructure en los estándares abiertos en Europa.
  • Caso de éxito: OpenSolaris en Accenture.
  • ¿Es viable el Software Libre en la indústria? El caso de RedHat y JBoss.
  • Evolución e Influencia del Software Libre en los últimos 10 años.
  • Liferay Enterprise Portal: El proyecto, el producto, la comunidad y cómo extenderla.
  • Openbravo: Las claves del éxito del desarrollo en las aplicaciones en Software Libre.
  • Rocks: Distribución para clusters computacionales.
  • Proyecto PROAIRESIS: Software Libre al servicio de la comunidad educativa.
  • Seguridad en OpenSolaris.
  • DJango: Framework MVC en Python.

Aunque la entrada es gratuita, se recomienda inscribirse con anterioridad.

Más información: http://www.whyfloss.com/es/conference/madrid08/

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/

09. Abril 2008

Zaptel 1.4.10 y 1.2.25 Released!

Tras unos bugs bastante curiosos detectados en el zaptel cuando se configuran con tarjetas de primarios, Digium acaba de lanzar la versión 1.4.10 que parece que solucionan dicho bug primarios que cambian ciertas propiedades demasiado rápido (de los que casualmente en España son la mayoría) por lo que actualizar a esta versión es mucho más que altamente recomendable para aquellos dueños de tarjetas de primarios PCI y PCI-Express ya que mejora su rendimiento entre otros motivos, por el uso del VoiceBus incluido en las tarjetas que permite, entre otras cosas, mejorar ámpliamente el rendimiento de las tarjetas Digium cuando las tarjetas comparten interrupciones (IRQ).

También se esperaba que en esta versión estuviera incluido ya el modulo ztd-ethmf para Redfone, pero parece ser que no ha sido incluido en el último momento.

Entre otros cambios que esperaba en esta versión han incluido la detección de línea en los puertos FXO de la TDM a través de los avisos de alertas de colores tal y como se venía haciendo con las tarjetas de primarios.

Por último, incluye soporte para una nueva tarjeta que Digium lanzará próximamente. :D

Como podeis imaginar, esta actualización era muy esperada y corrige muchos y grandes bugs, a la vez que mejora el funcionamiento de las tarjetas e iba a incluir soporte para los dispositivos Red-fone, aunque tendremos que esperar un poco más antes de ser incluido en el paquete.

Actualización: Estaba probando la nueva versión cuando he recordado otra ventaja que trae esta versión:
La versión mISDN que trae por defecto al ejecutar el comando make b410p es la 1.1.7-2, que ya era hora. :)

Podeis descargarlo de aquí:
http://downloads.digium.com/pub/zaptel/

08. Abril 2008

Servitux organiza su primer concurso de Asterisk

Paco Brufal me envía un anuncio sobre un concurso que están organizando en Servitux:

Quiero informaros que hemos organizado un pequeño concurso sobre
Asterisk para que participe todo el mundo, contando sus experiencias con
asterisk, de forma divertida y desenfadada.

El premio es una camiseta Asterisk diseñada por nosotros mismos, y
un vale descuento para comprar productos Digium.

Desde aquí os animo a que participeis pronto ya que el último día es el domingo 28 de Abril.

Más información: http://www.servitux.es/es/telefonia/concurso.html

03. Abril 2008

Qué es el título Digium dCap

Como lo prometido es deuda y tras los emails que he recibido tras publicar el artículo sobre la Bootcamp (gracias a todos), intentaré explicar qué es el título de certificación dCap.

El título de certificado dCap es, como su mismo nombre indica (Digium Certified Asterisk Profesional), un Profesional de Asterisk Certificado por Digium y el mayor certificado que un profesional que trabaja con Asterisk puede tener.

De manera oficial, esta certificación únicamente lo otorga Digium. Para conseguirla hay que aprobar dos exámenes, un teórico formado por 120 preguntas de tipo test y un examen práctico. Ambos exámenes duran 90 minutos, por lo que la duración total son 180 minutos (o lo que es lo mismo 3 horas). Para obtener el certificado hay que aprobar tanto la parte práctica como la teórica superando un 75% de los puntos que hay en juego ya que realmente el objetivo de esta certificación es demostrar los conocimientos sin lugar a dudas y sin ayuda de ningún tipo por lo que no se puede consultar documentación, ni tener acceso a Internet, solamente se cuenta con lo que tengas en la cabeza y realmente sepas.

En España actualmente hay unos 20 profesionales de Asterisk certificados con el título dCap aunque la lista no es pública para preservar la intimidad.

El documento que lo acredita podeis verlo en este dibujo que he hecho. :D


Hasta el año pasado, la única manera de obtenerlo era asistiendo a una Astricon que se celebraba una vez al año en Europa y otra en América. En el año 2005 se hizo en Madrid y en el 2006 en Berlín aprovechando que se celebraban los mundiales de futbol. La ocasión era bastante excepcional y si no aprobabas tenías que esperar otro año o bien cruzar el atlántico para volver a examinarte en la siguiente Astricon.

A la vista de que a la gente se le hacía duro viajar durante más de 8 horas para hacer un examen, Digium ofreció las distribuidoras con técnicos dCap, la posibilidad de realizar el examen en su país. De esta manera a partir del 2007, se empezó a realizar exámenes más frecuentemente aunque el examen sigue poniéndolo y corrigiéndolo Digium ya que, al fin y al cabo es quien va a certificar al alumno.

Sobre el examen teórico, son 120 preguntas de test con preguntas variadas sobre VoIP, Asterisk, tarjetas, Linux, y en general, cualquier campo que todo profesional de Asterisk debe conocer. Algunas preguntas son muy fáciles, otras son normales y algunas más complicadas (como en todos los exámenes), por lo que la probabilidad de aprobar es muy alta si conoces las fáciles y las normales, aunque mejora bastante la puntuación si además conoces algunas difíciles.
Sobre la documentación para el examen, no hay ninguna oficial que puedas estudiar. Conocer los conceptos es lo más importante, los protocolos, las tarjetas, el dialplan de Asterisk, la configuración, es imprescindible para aprobar. Si además de esto, eres de los que se saben el libro “The Future of Telephony” de memoria y sigues los foros, las listas, y los blogs sobre novedades de la comunidad Asterisk, entonces seguro que te sale perfecto. ;)

Sobre el examen práctico, es bastante sencillo aunque me consta que hay gente que se pone nerviosa y lo que muchos hacen a diario, llegan el examen y se bloquean, pero todo el mundo al que le he preguntado me ha contestado que fue fácil. El examen consiste en instalar y configurar un Asterisk siguiendo una especificación determinada. Es como si viniera una persona que quiere un Asterisk configurado de una manera determinada y tienes una hora y media para hacerlo.

La corrección del examen es trivial, tan solo se siguen los pasos que se han pedido, si lo hace, está bien, si no lo hace, está mal, punto, nada subjetivo, no hay nada que pueda malinterpretarse, en definitiva únicamente la persona que se presenta es la única que sabe si aprobará o no por cómo ha contestado.

Probablemente la parte más complicada, no sea el examen en sí, si no algo que no tiene nada que ver: el idioma. Al ser un examen procedente diréctamente de Digium el examen es en inglés. Esto para muchos puede ser un problema importante pero en definitiva si una persona no sabe un mínimo de inglés es dificil que haya entendido y aprendido el libro de Asterisk, o los foros de Digium, o los archivos de ejemplo de Asterisk, y por lo tanto le será difícil superar el examen. La experiencia me dice que el 95% de las personas que se presentan al examen saben el inglés necesario para entender y aprobar el examen.

El examen de certificación de dCap se realiza aprovechando la convocatoria de los cursos Bootcamp y como he comentado, el curso ofrece una estupenda y completa formación a nivel básico, medio y avanzado de Asterisk, pero al finalizar el curso no te conviertes por arte de magia en un profesional, por lo que la asistencia al curso ayuda, pero no significa que uno esté preparado del todo, aunque son bastantes que tras el curso más los conocimientos que ya tenían de Asterisk, han aprobado el examen.

La convocatoria para asistir al examen dCap cuesta 250€ + IVA, el pago por derecho a examen permite presentarse una vez, tanto si aprueba una parte como si suspende las dos pruebas, eso sí la parte aprobada se guardará durante un año, si no aprueba la parte restante al cabo de este plazo, deberá volver a hacer el examen entero.

En España, la próxima convocatoria se hará el último día del curso Bootcamp de Bilbao del 21 al 25 de Abril impartido por las empresas Avanzada7 e Irontec.

Aquí podeis ver donde y cuando serán las próximas convocatorias de la Bootcamp y del examen dCap.

Enlace oficial del certificado dCap:
http://www.digium.com/en/training/certifications/

02. Abril 2008

Asterisk 1.4.19 y 1.6.0-beta7.1 Released!

Instalando dos Asterisk, uno esta mañana y otro esta tarde, me he dado cuenta que a lo largo del día acaban de sacar la nueva versión de Asterisk estable, por lo que al final tendré que volver a actualizar el primer Asterisk que he instalado. :(

También han actualizado la versión beta de Asterisk 1.6 a beta7.1, lo que significa que pronto tendremos una versión “estable” :)

Por último también han actualizado el Asterisk-Addons-1.6.0-beta3.

La nueva versión la podeis descargar de aquí:
http://downloads.digium.com/pub/asterisk

La lista de cambios:
http://svn.digium.com/view/asterisk/tags/1.4.19/ChangeLog

31. Marzo 2008

Asterisk USB hub

Leo en el blog de Tom Keating que Joel Escalona, un diseñador mexicano tiene un diseño de un hub para conectores USB que seguro que a todos los fans de Asterisk os gustará:

Asterisk-usb

Enlace: http://www.joel.es.kz/

29. Marzo 2008

Asterisk 1.6.0-beta7 Released!

Esta semana he estado de viaje y no he tenido tiempo ni oportunidad para poder escribir en el blog, pero ahora descubro que el equipo de desarrollos de Asterisk acaban de publicar la Beta 7 de Asterisk 1.6 que, como ya dijimos, estaba congelada y no traería más novedades por lo que ahora todos los cambios son correcciones a bugs encontrados en otras betas.

Podeis ver la lista de cambios aquí:
http://svn.digium.com/view/asterisk/tags/1.6.0-beta7/ChangeLog?view=markup

Y para el que quiera seguir probando Asterisk 1.6 a la busqueda de nuevos bugs, puede descargarla de aquí:
http://downloads.digium.com/pub/asterisk/

 También han publicado la 1.4.19-rc4 para estar más cerca de una versión estable, según Saúl, para principios de esta semana que viene.