Algunas experiencias con Asterisk 1.8.x

Muy buenas,
Como muchos sabéis, el tema de Asterisk 1.8 está todavía calentando motores, aunque al contrario que la serie 1.6 que no fue del todo aceptada por la comunidad, parece que está vez, tanto por features como por estabilidad / ciclo de desarrollo, la gente se lo está planteando.

Por nuestra parte, todas las instalaciones y proyectos que realizamos los basamos (entre otros temas) en Asterisk RSP , que funciona a las mil maravillas.

En las instalaciones grandes, hay muchos puntos que deben ser controlados al milímetro, para que salga a la perfección, pero a parte de “funcionar”, la preocupación obvia es la estabilidad. Así que hemos decidido ir publicando un poco nuestros pasos y experiencias, que estamos teniendo en “pequeños” proyectos, que no utilizan todo Asterisk en sí o no son permanentes.

Por el momento, hemos utilizado Asterisk 1.8 en dos proyectos:

La experiencia ha sido muy positiva, no hemos tenido ningún problema especial. Eso si, no utilizábamos ni real time, ni CDR de transferidas, ni pickup, ni mil BLFs, ni nada típico de PBX …

Lo que hemos utilizado en el primer caso ha sido:

  • Recepción vía ITSP (SIP) de varios números (vinculados a 900).
  • AGI’s simples para guardar / checkear intervalos, etc …
  • En total, se recibieron 41.300 llamadas aprox en apenas 3 horas.

En el segundo caso:

  • Recepción vía TDM, de 16 PRIs (EuroISDN).
  • Grabación concurrente simúltaneas de todas las llamadas (utilizando Ramdisk a tope).
  • (luego todo un tema de ffmpeg/sox del mágico Fabrice Bellard, pero no es de Asterisk ;) )

Como véis, la experiencia no es que sea totalmente concluyente y todos a migrar a 1.8, pero es un primer pasito, para ir viendo datos de lo que se puede hacer. La verdad, es que ambos casos eran para eventos muy concretos y nos la jugamos un poco, pero todo salió bien, con fé ciega ;) . Las funciones o módulos involucrados no son numerosos, pero la cantidad de llamadas procesadas sí. Está claro que es cuando mezclas muchas partes de Asterisk cuando puedes tener una race condition, un memory leak perdido o algo díficil de detectar, pero bueno, vamos viendo luz :)

De cara a ir migrando nuestra solución IVOZ , e ir haciendo proyectos de IP PBX Corporativo o Callcenter, todavía queda mucho (CEL, TLS/SRTP, …), pero poco a poco iremos testeando cada parte, para ver si podemos llegar a tener ciertas certezas:)

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Todo listo para el AsteriskAdvanced

Como se puede apreciar en las imágenes, ya tenemos todo listo para par el pistoletazo de salida al Asterisk Advanced Bilbao 2k9.img_0015

Éste año han cambiado algunas cosas como el nombre (antes era Asterisk Bootcamp) y la versión de Asterisk, ya que en esta ocasión utilizaremos Asterisk 1.6, pero la ilusión es la misma.

El trabajo que nos ha llevado montar la sala no es nada comparado con el que van a realizar los asistentes en esta semana intensiva de Asterisk :) Esperemos que al final de la semana la familia de dCAPs cuente con nuevos miembros.

Al igual que el año pasado, haremos un post diario sobre la marcha del curso en este blog y por supuesto que no faltará el Asterisk Night Adavnced :)

¿Te lo vas a perder?

img_0016

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Estratégia de colas “linear” en Asterisk 1.4

Todos los que llevamos algún tiempo con Asterisk hemos tenido que pegarnos alguna vez con su sistema de colas. Las colas de Asterisk no son sencillas de manejar  ya que disponen de decenas de opciones para variar su comportamiento.

Uno de los parámetros de configuración más importantes para las colas es la estrategia (strategy), que define la forma en la que las llamadas serán repartidas entre los agentes.  En Asterisk 1.4 podemos elegir entre las siguientes estrategias:

  • Leastrecent: Asigna la siguiente llamada al agente que más tiempo lleve sin atender una llamada.
  • Fewestcalls: Asigna la siguiente llamada al agente que menos llamadas haya atendido.
  • Random: Asigna la siguiente llamada aleatoriamente a cualquier agente disponible.
  • Ringall: Llama a todos los agentes a la vez y el primero que descuelgue será quien atienda la llamada.
  • RoundRobin: Distribuye las llamadas “por turnos” entre los agentes disponibles. (No disponible en Asterisk 1.6)
  • RRMemory: Similar a RoundRobin, pero “recuerda” el último agente al que intentó llamar.

Además de la estraegia hay muchos parámetros que condicionan la distribución de las llamadas, como ringinuse, weight, etc, pero no es necesario adentrarnos en eso :)

La forma que tiene Asterisk de guardar en memoria los agentes de las colas es mediante una función hash. Esta función hash calcula un valor numérico en base a la interfaz del agente (por ejemplo Agent/1001 o SIP/1002). El valor devuelto por la función hash siempre va a ser el mismo, por lo que con ninguna de las estrategias arriba descritas podemos decidir un orden estricto de distribución de llamadas basado en el orden de login (sin hacer trampas ;) ).

Para solucionar esto, Asterisk 1.6 implementa la estrategia “linear” que distribuye las llamadas de manera similar a RRMemory, pero siguiendo el orden en que los agentes se han unido a la cola.

Muchos encontramos esta estrategia particularmente interesante, pero desafortunadamente sólo está disponible para Asterisk 1.6. Tras buscar en el bugtracker de Digium, las listas de Asterisk-Developers y Asterisk-ES no he encontrado un backport de esta estrategia que funcione correctamente en Asterisk 1.4. Así, Manwe y yo hemos hemos hecho un backport de la estrategia “linear” para Asterisk 1.4.

El parche se aplica correctamente con Asterisk 1.4.23.1 y todas las pruebas realizadas han sido satisfactorias :) Aqúi lo tenéis: app_queue-linear-strategy

Happy Asterisk hacking! ;)

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Todo listo para la charla de Mark Spencer, streaming incluido!!

Hoy es el día. Tras pasar la tarde de ayer con Mark enseñandole un poco Bilbao (lo que la lluvia nos permitió :-/) hoy ya esta todo listo para su charla en el Museo Guggenheim a las 11:30.

Si no vas a poder asistir no te preocupes, en Irontec hemos habilitado esta URL, desde la que podrás ver la charla en vivo y en directo!! http://streaming.irontec.com/conferencias/mark_spencer/

Cuando termine el evento y pueda respirar, pondré algunas de las muchas fotos que tomamos ayer, pero de mientras os dejo esta, de cuando fuimos a comer “typical basque food” :)

Nos vemos en “el Guguen” :)

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Mark Spencer dará una conferencia en el Museo Guggenheim de Bilbao!!

Me alegra mucho poder comentar esto: Mark Spencer (creador de Asterisk y fundador de Digium) visitará Bilbao (capital del mundo xD) para dar una conferencia sobre Asterisk y el mundo de la telefonía IP.

Siendo el creador de Asterisk, no podéis perderos este evento, siendo el acceso además, gratuito. Podéis inscribiros en la web de Enpresa Digitala para asistir.

Creo que voy a empezar desde ya a preparar el alubión de preguntas que le van a caer al pobre Mark :) digium-mark-spencer2.jpg

Espero ver por allí a toda esa gente de Asterisk-ES, ya que esperamos que sea un día ‘mágico’ para la VozIP.

Nos vemos el 2 de Junio!!

Noticia oficial

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Habemus nuevo dCAP!!

Acabamos de recibir la noticia de que nuestro compañero Jon Bonilla aka Manwe (el severo de la lista Asterisk-ES) ha aprobado la parte teórica y es oficialmente un Digium Certified Asterisk Professional.dcap_logotype1.gif

Estamos muy contentos de que Jon lo haya conseguido, sobre todo porque ha sido a la primera y sin ir al BootCamp! Mientras yo me lo pasaba bien allí, él apagaba los fuegos que iban surgiendo y estudiaba (duro? xD) para el examen.

Enhorabuena Jon!!

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Día a día en el Asterisk BootCamp Bilbao (5)

Hoy escribo este post-resumen con profunda tristeza, ya que ayer, desafortunadamente, terminó el BootCamp.

El día comenzó bien, ya que como conseguimos terminar el temario a tiempo (!!!) les ofrecimos a los alumnos un pequeño extra: una charla sobre Seguridad en VoIP, que al parecer les gustó bastante :)

Posteriormente todos se prepararon para “la guerra” he incluso hubo quién se trajo “su fusil” :) Los exámenes se realizaron en 2 turnos, y al terminar el sentir de la gente era más o menos el mismo: que el examen no era exageradamente difícil, pero no hay tiempo de pensar, solo se puede actuar, ya que en Burundi, si no te pilla la guerrilla :) Así que dentro de poco los que aprueben ambas partes recibirán la placa que otorga la certificación oficial de Asterisk, para unirse al club :)

2442864852_2c748fc684.jpgSi tuviera que hacer una valoración sobre lo que he vivo esta semana, no encontraría palabras, ya que ha sido increíble para mí: ninguno de los días he dormido más de 4 horas, pero la energía y las ganas de transmitir conocimiento a los asistentes no flaquearon ni un segundo.

Solo hace 2 años que yo estaba en el otro lado, y durante una semana he podido compartir aula y alumnos con Sergio Serrano, así que desde aquí solo me queda dar las gracias a los que han confiado en mí para este BootCamp, y esperar que se vuelva a repetir. :)
A los asistentes dcirles que me ha encantado compartir con ellos esta semana, y que han sido un gran grupo, ya que eran muy participativos y tenían muchas ganas de aprender. Sergio y yo tratamos de darles todo lo posible con algún extra (Asterisk Night Bootcamp y la charla sobre Seguridad) y viendo las valoraciones recibidas estamos más que contentos.

Nos vemos en la red!!!

PD: Así es como quedó el aula tras desmontar todo el asunto :( Tenéis todas las fotos en Flickr.

init 0;

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Día a día en el Asterisk BootCamp Bilbao (4)

Último día antes del examen. Ya hay bastantes nervios en el ambiente y algunos conceptos empiezan a mezclarse. Por ello el día de ayer no tuvo demasiada carga laectiva, era más bien un día para reflexionar los conceptos adquiridos, y practicar un poco más.2439132018_8a185f2e9c.jpg

Los alumnos estuvieron gran parte de la tarde poniendo en práctica entre ellos lo que en clase habíamos hecho contra el servidor, para así poder ver los 2 lados y entenderlo mejor.

Ayer pasamos por encima de algunos conceptos como AGI, AMI y ARA,y realizamos algún ejemplo alternativo al oficial, con algún AGI en PHP y Python ;) además de hacer un repaso general, para que no se olvide nada.

Hoy es el gran día, donde todos los esfuerzos realizados durante la semana pueden verse recompensados, aunque no hay que desanimarse si así no ocurre, ya que los conocimientos adquiridos no desaparecen.

Para hoy tenemos 21 “aspirantes”, así que desde aquí os deseo mucha suerte para el examen y que vengáis con los nervios templados :)

Para finalizar, sacamos varias fotos de todo el grupo, para tener de recuerdo :)

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Día a día en el Asterisk BootCamp Bilbao (3)

2436706927_77a290aefc.jpgHoy los alumnos han aparecido más adormilados que los anteriores días. Normal, ayer fue el día más duro de los 3, y la información comienza a amontonarse en sus cabezas :)

Además, ayer tuvo una gran aceptación el “Asterisk Night BootCamp”, al que asistieron casi todos los alumnos.

Estuvimos hablando de terminales, dispositivos, hubo quién se montó Asterisk 1.6 para probar chan_mobile, y mucho SIP e IAX trunking, vamos de todo. La idea era precisamente reafirmar lo visto en clase y probar cosas nuevas y sobre todo frikear un rato en plan hackers de la noche. ;) 2437529962_363925e843.jpg

Hasta ahora hemos ido muy bien de tiempo, y esperamos terminar hoy (día 4) para poder tener otro “bonus” el viernes por la mañana.

Ya queda menos para el día D, el día del dCAp! :)

PD: Surgirá algo para esta noche? xD

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter

Día a día en el Asterisk BootCamp Bilbao (2)

Ayer, día 2 del BootCamp, y ya empezaron a cambiar las cosas :) La gente salió con cerebro bastante destrozado ya que fué bastante más duro.1782.jpg

Haciendo gala de la segunda transparencia del libro del BootCamp, en la que se ve una escena de “Full Metal Jacket”, ayer tocó muchísimo dialplan, y los conceptos empiezan a amontonarse.

Por lo que a mi respecta, cada día me parezco más a un oso panda (por aquello de las ojeras xDD) pero todo se ve recompensado al ver que los alumnos aprenden.

Como es imposible que en un BootCamp se vean absolutamente TODOS los conceptos relacionados con Asterisk se nos ha ocurrido organizar una “Asterisk Night Party” para hoy miércoles por la noche :) Con esto pretendemos alejarnos durante un rato del temario, ponernos en modo “promisc up” y hackear un rato ;)

p230408_1349.JPG

Te ha gustado? Compartelo:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Twitter