Asterisk 1.8: XMPP PubSub y distribución avanzada de eventos

Con el nuevo Asterisk 1.8 LTS recien salido del horno, y ya disponible para descargar, me ha picado la curiosidad por centrarme en los detalles de alguna de las nuevas características,  y  una de las que mas me ha ha llamado la atención, por las posibilidades y porque sopone un cambio importante en concepto y arquitectura,  es el XMPP Pubsub, una funcionalidad de la que se ha hablado muy poco aún, y de la que creo importante que se haga alguna mención especial.

Bajo estas palabrejas tan raras se esconde un interesante cambio en cuanto a arquitectura, orientado a conseguir que sistemas Asterisk puedan trabajar de forma distribuida, y en cluster, compartiendo eventos.  Si,muchos recordarán que en la version 1.6  ya era posible, para la gestión distribuida de eventos, instalar un OpenAIS, pero era algo que aunque potente, no dejaba de ser complicado, y que no ha tenido mucho impacto.

Hoy por hoy,  la tecnologia parece avanzar en sistemas basados en Web Services, y en concreto, en el uso de tecnologias como REST para el acceso de la información usando XML.  ¿ No seria ideal utilizar dichas tecnologias ?   Probablemente, sea  interesante poder acceder a los eventos a través de servicios REST, y consultar un DevState a través de uno de estos métodos,  pero desgraciadamente, esta técnologia se nos queda aun corta.  Lo interesante seria no solo consultar, sino ser informados, o sea, la capacidad de poder subcribirnos a dichos eventos, de forma que ante cualquier evento al que estemos subscritos, sea en el nodo que sea, nuestra aplicación sea consiente del mismo, y pueda actuar en consecuencia.  Y ahi es donde,  nos encontramos con una evolución de REST a través de  XMPP PubSub.

Mucha gente que conoce Jabber, piensa en el XMPP como una tecnología SOLO para el intercambio de mensajes de texto.  Pero Jabber/XMPP es mucho más,  y un ejemplo de ello es el XMPP/PubSub .     Con la tecnologia XMPP, lo que se envian son mensajes XML, donde en dicho cuerpo, puede ir un chat,  pero tambien ordenes o comandos.  De hecho, una red Jabber/XMPP forma una red de routers XML intercambiandose mensajes, y  hay formatos definidos como el JEP-0072: SOAP over XMPP,  pero en este caso, el que realmente nos interesa, es el JEP-0060: Publish-Subscribe (o pubsub). Pubsub is basicamente un sistema de notificaciones de eventos que corre sobre  Jabber/XMPP.  En pubsub, un usuario publica datos XML data en un servidor  Jabber que soporte JEP-0060. Otros usuarios, pueden “subscribirse” a ese nodo.  Cuando el nodo cambia,  una notifiacion es enviada a todos los usuarios subscritos.

La decisión de Digium de ofrecer como alternativa al OpenAISun sistema basado en PubSUB, abre un montón de puertas, y permitirá que por fin, podamos ver en un futuro sistemas Asterisk altamente escalables trabajando en cluster, y de forma distribuida.   En una primera instancia,  los beneficiados serán aplicaciones comunes, tipo FOP,  ya que podremos tener paneles de operadora que puedan consultar el estado de un device en diferentes servidores, o un MWI distribuido, pero incluso las propias aplicaciones internas de asterisk (como el mismo Queue), podrían ser adaptadas despues para trabajar con colas distribuidas en varios servidores.

Digium desde luego está empezando a tomar la arquitectura de Asterisk en serio,  realizando cambios muy esperados por la comunidad avanzada, y que tanto Elio, en su exitosa  charlas  sobre las novedades de Asterisk 1.8 en el VoIP2DAY,  como Rosa, en su interesante articulo, con todo lujo de detalles, de una de las funcionalidades más deseadas en Asterisk 1.8  (el CCSS),  nos han transmitido ya con anterioridad.

Ya podemos empezar a probar estos cambios, y si bien es verdad que todavia parece un poco aventurado lanzarse en un entorno en producción con esta versión (todavía recuerdo con cariño un compañero que siempre me frenaba y sugeria esperar a versiones impares, o sea, 1.8.1, 1.8.3… evitando las “problematicas pares”) ,  es verdad que esta versión “promete”.  Asterisk 1.8 viene con muchos cambios de arquitectura de base, que puede que a priori no sean tan visibles cara al usuario, pero que cara a ingenieros de sistemas y desarrolladores, establecen unas fuertes y robustas bases, que permitirán el uso de aplicaciones mucho mas escalables y complejas…

No dudo que en breve empezaremos a oir ya de las primeras referencias y grandes instalaciones en este entorno….no es de extrañar, que esta versión de Asterisk, tenga la coletilla “LTS” detrás…..:-)

Atención

Este artículo es bastante antiguo.
Posiblemente algunos enlaces pueden dejar de funcionar o la información ya esté obsoleta.
 

¿Te ha gustado el artículo? Ayuda a valorarlo:

Este artículo ha sido comentado 4 veces

 
 

[...] XMPP PubSub y distribución avanzada de eventos [...]

 
Jose Tapia

Publicado el 25 octubre, 2010 a las 3:49

 

Grosso saber como ha ido avanzando Asterisk un orgullo para el open source

 
 

[...] -/- Como si de una predicción se tratase, nuestro compañero Andrés de Sinologic.net escribió un fantástico artículo sobre XMPP PubSub y distribución avanzada de eventos en Asterisk 1.8 y mencionó una frase muy curiosa por no decir [...]

 
 

[...] apoya en ICE, y como el ICEStorm, una de las piezas clave de ICE, es una fuerte implementacion del XMPP PubStub que hace unos dias nos llamaba la atención,  y que se confirma se convierte en una de las [...]