Archivo de la etiqueta: Asterisk

SIP2SIP: SIP gratis para las masas

Hace unos pocos días tuve la oportunidad de participar nuevamente en el voip2day, con la charla “SIP2SIP: SIP gratis para las masas”.

El evento fue increíble, ¡sin duda la mejor edición hasta la fecha! Pude reencontrarme con antiguos amigos, hacer nuevos y desvirtualizar a otros cuantos 🙂

Muchas gracias a los organizadores y sponsors por seguir trabajando en hacer un voip2day mejor cada año.

Aquí os dejo mi presentación, para los que pudierais asistir:


¡Nos vemos el año que viene!

 

HowTo: Compilar Asterisk 11 en la Raspberry Pi

En la 4KConference (si, ya se que tengo un post pendiente) los chicos de PaloSanto (¡gracias Paul y Edgar!) me regalaron una Raspberry Pi, así que en cuanto he tenido tiempo de meterle mano lo primero que he hecho es instalarle un Asterisk 🙂 Veamos cómo.

Voy a asumir que tenéis instalado Raspbian en vuestra pi. Al primero que pregunte cómo instalar CentOS le corto una mano.

0. Descargar el código fuente

Vamos a compilar Asterisk 11 del branch de subversion, nada de esperar a un release 🙂

cd /usr/src
svn checkout http://svn.asterisk.org/svn/asterisk/branches/11 asterisk-11
cd asterisk-11

 

1. Instalar dependencias

Para poder compilar Asterisk necesitamos instalar las dependencias necesarias primero. He incluído iksemel, para que así de compile el nuevo chan_motif (a ver si le dedico un post).

apt-get install libncurses5-dev libsqlite3-dev libssl-dev libiksemel-dev

 

2. ./configure y selección de módulos

Tras un par de intentos fallidos y problemas en el linkado de libasteriskssl.so, conseguí que el proceso funcionara de la siguente manera:

./configure --disable-xmldoc --disable-asteriskssl

 

Lo importante es el –disable-asteriskssl. No, no deshabilita SSL en Asterisk. Lo que hace es no compilar un wrapper que Asterisk utiliza (desde su versión 10, creo) para evitar problemas con otras aplicaciones que también usan OpenSSL. Como estamos experimentando no hay problema.

Cuando finalice, lanzamos el menuselect y seleccionamos los módulos que deseemos compilar:

make menuselect

 

3. Compilación e instalación

Ya solo nos queda compilar e instalar:

make
make install
make samples

 

El proceso de compilación dura unos 45 minutos, así que tómatelo con calma 😉

 

4. ¡A jugar!

Una vez hemos terminado Asterisk debería funcionar correctamente (aunque el core show translation da un poco de miedo), así que ¡a jugar!

Guadalux OpenWebinars

Manuel Agudo me ha comentado una interesante iniciativa levada a cabo por la Fundación Guadalux que me gustaría compartir por aquí: OpenWebinars.

OpenWebinars es una iniciativa gracias a la que cualquiera puede disfrutar de un webinar gratuíto sobre Software Libre cada semana. Su objetivo es divulgar el uso del Software Libre en el entorno profesional y de momento ya han hecho uno sobre Asterisk y VoIP, el siguiente será sobre gestión documental con Alfresco (aún estáis a tiempo, es mañana) y el siguiente sobre virtualización.

Como usuario y desarrollador de software libre, me ha encantado la iniciativa, espero que muchos os animéis a seguirlos y descubrir software interesante, y lo mejor de todo: libre.

 

 

¿Qué podría traer de nuevo Asterisk 12?

La semana pasada tuvo lugar la conferencia anual de usuarios de Asterisk, AstriCon, a la que no tuve la ocasión de ir 🙁 pero un par de días antes se celebró el AstriDevCon, orientada a desarrolladores.

Afortunadamente se podía participar en el AstriDevCon (en mayor o menor medida) de manera remota: había streaming del audio, se podía conectar vía SIP (o IAX2) y el canal de IRC #astridevcon se utilizó como canal adicional.

Hoy Matt Jordan ha publicado un documento con los temas que se discutieron, que podéis consultar aquí.

De todos los puntos que se cometan, me gustaría hacer hincapié en un par de ellos:

  • Desarrollo de un nuevo chan_sip
  • Soporte de MSRP

El mero hecho de que esos los elementos estuvieran sobre la mesa me anima a pensar que tal vez el año que viene tengamos un Asterisk mucho más moderno, y menos PBX, como ya comentaba Elio. Estuve un rato conectado al stream de audio, y parecía bastante evidente que un nuevo chan_sip es algo necesario:

Afortunadamente todo el mundo parecía de acuerdo. La idea en principio sería desarrollar el nuevo chan_sip en paralelo y en un momento dado eliminar completamente el actual. Suena a plan. Ya que el difunto Asterisk-SCF utilizaba PJSIP como stack SIP, es de esperar que sea la opción final, aunque otras opciones como Sofia no están descartadas.

Si unimos los recientes esfuerzos por hacer Asterisk “WebRTC enabled” a un nuevo chan_sip y a un posible soporte de MSRP, nos encontraríamos con algo que parece que evoluciona en la dirección correcta. Aunque no olvidemos que su arquitectura es la misma, así que ya veremos 🙂

 

ElastixWorld y 4Kconference, ¡allá vamos!

Cuando parecía que éste año no iba a cruzar el Atlántico, va y resulta que lo voy a cruzar 2 veces… ¡el mismo mes!

ElastixWorld: 3-4 de Noviembre, Mexico

Supongo que casi todos sabréis qué es Elastix, así que no necesita demasiada introducción. Por segundo año consecutivo se celebra ElastixWorld, un evento de 2 días donde integradores, partners, usuarios y demás gente relacionada con Elastix se encuentran unos a otros. ¿Y yo qué pinto ahí? He de agradecer a Paul Estrella la oportunidad de participar en éste evento, en el que hablaré sobre Blink (por supuesto) y cómo podemos hacer uso de tecnologías que van más allá de la voz con SIP.

4Kconference: 23-24 de Noviembre, Argentina

En su primera edición, la 4Kconference atraerá público de todas partes de latinoamérica relacionadas con la tecnología IP y la industria a su alrededor. He de agradecer a Nicolas Gudiño la oportunidad de participar en éste evento junto a otros grandes como Olle Johanson o Flavio Goncalves, entre otros. El tema de mi charla será, por supuesto, Blink, pero desde un punto de vista ligeramente distinto, ya que éste evento no está asociado a ningún software de comunicaciones en concreto.

La verdad es que me hace mucha ilusión poder acudir a estos 2 eventos, además aprovecharé para quedarme unas semanas de vacaciones por Argentina con mi novia, un poco de SIP-detox no vendrá mal 🙂

Si estáis por allí cualquiera de las 2 fechas, ¡nos vemos!

Asterisk ya habla Euskera

Hoy Igor ha anunciado en Twitter la disponibilidad de los ficheros de audio para la traducción de Asterisk al Euskera. Hace algún tiempo que me lo comentó y lamenté no haber podido a la presentación del Proyecto Fin de Carrera, es lo que tienen 1400 Kms de distancia :-S

La traducción de los sonidos al Euskera ha debido de ser una tarea bastante ardua, son unos cuantos ficheros:

>>> import os
>>> from itertools import chain
>>> print len([file for file in chain(*(filenames for dirpath, dirnames, filenames in os.walk('.'))) if file.endswith('.wav')])
>>> 491

Además, han creado 2 juegos de sonidos, con voz masculina y femenina. Podéis descargaros ambos desde aquí.

Desde aquí mi enhorabuena al equipo formado por Mikel Arribillaga, Jon Echezortu y Maria Epelde, dirigidos por Igor. ¡Muchas gracias por realizar el trabajo y compartirlo bajo la licencia GPL!

Esto puede ser muy interesante a la hora de presentar soluciones basadas en Asterisk para instituciones públicas en Euskadi. 🙂

Si queréis ver una muestra, aquí tenéis el mítico demo-congrats.

Usar SIP con Google Voice ahora que van ha cerrar Gizmo5

No es que lo use mucho, pero tengo Google Voice desde hace bastante, y este fin de semana me sorprendió la noticia de que cerraban el servicio de Gizmo5 el día 3 de abril. No tengo ni idea de lo que Google pretende con Google Voice, pero lo que está haciendo por el momento no es nada particularmente interesante para mi, y el hecho de que eliminen el soporte SIP apesta bastante. :-S

Aún así, no todo está perdido, podemos utilizar SIP con Google Voice, aunque vamos a necesitar un intermediario, en este caso Asterisk.

Como hay decenas de tutoriales por ahí, os voy a enlazar el del wiki de Asterisk, ya que lo mantienen actualizado: https://wiki.asterisk.org/wiki/display/AST/Calling+using+Google

Desde Asterisk 1.8.X Google Voice funciona sin problemas (recordemos que Google no utiliza el estándar Jingle, sino una variante) así que e una muy buena herramienta para hacernos la pasarela Google Voice <-> SIP.

Pero siempre hay algún pero:

  • Ahora dependemos de la disponibilidad de nuestro Asterisk, mientras que antes Gizmo5 se encargaba de que estuviéramos online 24×7.
  • Si registramos una cuenta SIP sin más en nuestro Asterisk no tendremos parallel forking. Esto es un BUG como una catedral para los que, como yo, tienen 14 SIP-cosas conectadas a la vez.

Una de las cosas que podemos hacer para mejorar un poco la situación es registrar una cuenta SIP de verdad desde nuestro Asterisk, de manera que el proxy responsable de nuestra cuenta se encargue del parallel forking. Podéis utilizar el servicio gratuito de SIP2SIP.info, las instrucciones para configurarlo con Asterisk las podéis encontrar aquí.

Happy dialing!

La foto la he tomado prestada de aquí.

Publicado sip:provider CE

Ante todo, y para despistados, aclarar que no soy saghul. Soy Jon Bonilla (aka manwe)  y escribo en este blog por cortesía de mi buen amigo saghul.

Sipwise acaba de publicar la primera versión de su sip:provider CE. Una plataforma completamente libre, que permite a operadores e ITSPs ofrecer servicios de telefonía en unos pocos minutos y sin complejas instalaciones o integraciones. Podéis ver el anuncio en la web de Sipwise.

sip:provider CE es una nueva versión de los productos de Sipwise basados en la tecnología NGCP y que desde hace años son usados por algunos de los mayores operadores de Europa. Esta versión, compuesta exclusivamente por aplicaciones libres, se ha centrado en ofrecer una solución completa y una interfaz lo suficientemente sencilla como para que cualquiera pueda instalar y ofrecer servicios de telefonía sin tener exhaustivos conocimientos de SIP, Kamailio, Asterisk, Sems, Billing, Rating… etc. Las interfaces de usuario están disponibles en español además de inglés.

Desde aquí os animo a probar este nuevo producto. La instalación, completamente desatendida, lleva menos de 10 minutos con una buena conexión a internet. Y la configuración básica de la solución lleva otros 10. Eso quiere decir que ¡podéis poner un sistema profesional  de VoIP en servicio en menos de 20 minutos!

PD: Por si no se ha notado en el sesgo del artículo, trabajo en Sipwise y durante el último año he liderado el equipo de desarrollo de los productos sip:provider CE y sip:provider PRO.

Razones para actualizar a Asterisk 1.8. O no.

Tras la salida de Asterisk 1.8.0 muchos se preguntan si es el momento de actualizar, si hay que esperar, si Asterisk 1.8 será igual que Asterisk 1.6, etc.

Hace un año que no trabajo directamente con Asterisk, lo cual tal vez me haya dado algo de perspectiva, así que en este post intentaré ofrecer mi visión ante el escenario actual en lo que a versiones de Asterisk se refiere.

Primero, vamos a dividir los usos de Asterisk en 2 grupos:

  • Soluciones actuales basadas en Asterisk 1.4
  • Soluciones basadas en Asterisk todavía por desarrollar

Creo que es importante hacer esta división, ya que en mi opinión es un factor determinante a la hora de elegir la versión adecuada.

Soluciones actuales basadas en Asterisk 1.4

Este sería el caso más típico, ya que muchos nos mostramos reticentes a actualizar a Asterisk 1.6 dado el pequeño caos que causó el cambio en la política de releases de Asterisk. Si ya tenemos una solución desarrollada con Asterisk 1.4 lo más prudente sería esperar a validar que la solución sigue funcionando con Asterisk 1.8 y adaptarla a la nueva versión. Actualizar a lo loco no tiene sentido y es un pasaporte directo a un importante dolor de cabeza.

Actualmente Asterisk dispone de una test suite que permite comprobar si Asterisk se sigue comportando como debiera. Si durante tus pruebas ves que un caso no esta cubierto por ningún test lo ideal sería escribir un nuevo caso de test y enviarlo al bugtracker de Asterisk o al reviewboard. De esta manera ayudarás a evitar posibles futuras regresiones en ese caso.

Soluciones basadas en Asterisk todavía por desarrollar

Si estás decidiendo que versión de Asterisk utilizar para un nuevo desarrollo, tienes 3 opciones:

  • Asterisk 1.4.x
  • Asterisk 1.6.2.x
  • Asterisk 1.8.x

Aquí el tema se pone más complicado. Digium tiene un número finito de recursos, que tras el anuncio de Asterisk SCF (tengo pendiente escribir sobre esto) se dividen en el mantenimiento de Asterisk 1.4.x, Asterisk 1.6.2.x, Asterisk 1.8.x y ahora Asterisk SCF. A esto hay que sumarle que si hay un bug de seguridad todavía será necesario crear parches para la 1.2! Aquí la tabla con versiones y fechas de las distintas versiones de Asterisk.

Teniendo en cuenta que Asterisk 1.8 será la primera LTS de verdad, es seguramente la mejor opción. No por la features que pueda tener, sino por la atención que se le va a prestar a esta versión a partir de ahora.

Razones para actualizar a Asterisk 1.8

  • Tengo versionitis y no puedo evitarlo.
  • Necesito imperiosamente la feature X. ¿Seguro?
  • Necesito una versión soportada a largo plazo.

Razones para NO actualizar a Asterisk 1.8

  • Mi Asterisk ya funciona para lo que quiero.
  • No tengo tiempo para volver a pelear con viejos bugs.

¿Y tu, actualizas?

Wideband Audio Conferencing with Asterisk

Hoy, último día del AstriCon 2010 he vuelto a tener la suerte de poder dar la charla sobre la que hablé hace pocos días. Como lo prometido es deuda, aquí tenéis las transparencias utilizadas, y podéis consultar también los escenarios para SIPp utilizados en las pruebas en mi repositorio de Gitorious.


Espero que guste! 🙂