Volviendo a Asterisk casi 1 Año despues

Mucho ha llovido (no tanto en realidad) desde la ultima vez que publique algo en este Blog. Pensaba que seria mas costante y no dejaria de publicar cosas a lo largo del tiempo, pero se ve que los avatares de la vida te obligan a tener que dejar cosas de lado como esta por muy interesantes que resulten.

El tema es que mañana, 14 de noviembre, empieza el curso en Malaga Asterisk Advanced y se me ocurrio la genial idea de apuntarme para volver a coger el ritmo. Ya por entonces cuando empezaba mi andadura, el evento que motivo mi “carrera asteriskera” fue el curso Fast Start (que publicidad a Avanzada 7 mas desmedida!) pero ahora, creo que ya ha llegado el momento de empezar a tomar un curso mas serio, y empezar a plantear una alternativa “profesional” con vistas puestas en el certificado Digium CAP (dCAP). Esta vez no voy a hacer el examen porque no tengo muy claro que vaya a aprobar mas sabiendo que hace mucho tiempo que no toco una maquina Asterisk.

Pero esperemos que este curso ya me sirva de lanzadera para llegar al siguiente objetivo. Por ahora tratare de ir resumiendo los proximos 5 dias de mi andadura por el curso (alerta SGAE!) por si pudieran servir de experiencia para cualquiera que como yo quiera plantearse dar el paso a alcanzar el dCAP.

Curso Asterisk de Iniciacion: Dias 2 y 3

He dejado pasar sin mayor opcion algunos dias tras el ultimo mensaje. Tenia pendiente la escritura de mis impresiones y como fueron los ultimos dos dias del Curso de Asterisk de Iniciacion.

La cuestión reporto grandes y mejores resultados en estos dias ya que tras la instalacion y los primeros pasos en el sistema Asterisk empezamos a realizar ciertos ejercicios con nuestra maquina y nuestro telefono.

El día 2 fue íntegramente dedicado a la comprensión del sistema de marcación, Dial Plan de Asterisk. Tras haber visto, como conectar diferentes dispositivos con la Maquina Asterisk, llegaba el momento de interconectar todo entre si a traves de este mecanismo. El Dial Plan queda reflejado principalmente en el fichero extensions.conf del sistema.

A lo largo del dia vimos numerosos ejemplos, entre los que se encontraban, llamadas directas a una extension, mascaras, algunas Aplicaciones, entendimiento del concepto secuencial del sistema, prioridades, etiquetas, etc. Tambien vimos un poco de programación, que contemplaban alternativas condicionales y bucles principalmente.

Todo esto si que me resulto verdaderamente util, ya que al final de dia, tenia bastante claro como realizar la primera acción que tenía bastante interes y expectacion sacar del curso: Como configurar una Operadora Automatica (IVR/Autoattendant). Jutamente el ultimo ejercicio del dia fue configurar una operadora muy sencilla, la cual debia poner un mensaje de Contestador Automatico en caso de estar fuera de la Oficina, luego un menu de marcacion, y la aplicacion de saltos condicionales, y de un pequeño bucle para comprobar que la persona no habia introducido por error la marcacion un numero determinado de veces, antes de colgar la llamada.

Todo esto lo vamos a ver en profundidad en otro momento ya que constituye bajo la perspectiva del momento, el pilar principal del sistema.

Un comentario extra, justamente ese día aprovechamos para ver el partido de España-Suiza, una lastima que perdiéramos de 1 gol, contra un equipo tan inferior a nuestra Selección! Pero definitivamente esto no hizo que variáramos nuestra programación, de hecho diría que fue el día mas productivo de los tres! (Espero que la Selección también se aplique el cuento en productividad para el futuro)

El tercer dia, originalmente trataria sobre la adaptacion del mundo Analogico a nuestro sistema Asterisk. Para ello nos proveian de una Tarjeta Digium 410, con un modulo FXO y otro FXS, uno para conectar en teoria, a un Gateway con varios puertos FXS que haria las veces de enlace directo con otra centralita Asterisk, y el otro para conectar a un telefono analogico.

Primero se vieron multiples conceptos basicos de la Telefonia convencional y luego se tantearon todos los ficheros de configuracion que involucraban esta idea. El sistema Analogico, especialmente a nivel interno Linux-Tarjetas lo maneja Dahdi (se ve que antiguamente se llamaba Zaptel). Aparte Dahdi y las tarjetas Digium ofrecen una fuente de reloj de sincronizacion para ciertas aplicaciones avanzadas, como las Salas de Conferencias (aplicacion MeetMe). En caso que necesitemos una alternativa a Dahdi, se podria plantear todo el sistema a traves de Gateways SIP y configurarlos dentro del sistema como interfaces SIP exactamente igual que cualquier otro dispositivo, como los configurados el primer dia del Curso. Luego todos los detalles analogicos de interconexion con Asterisk, y con el operador o telefonos analogicos, se configurarian aparte en el Gateway, a traves una interfaz web propia del Gateway.

Pero en el caso de las tarjetas, aparte, en Linux es necesario cargar los modulos de sistema, y luego en el fichero chan_dahdi.conf la necesidad de indicar montones de parametros que detallan toda la configuracion en referencia a como debe tratar Asterisk a los citados Puertos.

Tambien se hizo una buena reseña al mundo de los Primarios y los Accesos Basicos.

El pequeño detalle negativo, fue el hecho de que los equipos que nos fueron proporcionados y hacian de servidor de Asterisk, no poseian puertos PCI libres (y las tarjetas Digium que nos ofrecieron eran PCI 2.2). Esto impidio que pudieramos probar por nuestra cuenta, si la configuracion expuesta funcionaba correctamente, y haber hecho algunas pruebas de integracion, con lo que habiamos realizado en los dias anteriores. Las pruebas se hicieron con un unico equipo que si poseia el citado puerto, manejado por el profesor. Realmente me hubiera gustado probar todo aquello en aquel momento que estaba en mi salsa con todo montado y sin mucho mas que hacer que eso mismo. Pero en los proximos dias, aprovechare para hacer las primeras pruebas con la tarjeta, y algun equipo que trate de configurar.

Por la tarde, se vieron algunas cuestiones mas avanzadas del sistema, como el uso de Macros, las salas de conferencia, y la gestion de Colas y Agentes.

Con esto, ya he podido coger un buen espectro del funcionamiento del sistema en lineas generales. Debo decir que he quedado bastante impresionado con las funcionalidades basicas de Asterisk, mas considerando que para mi condicion en relacion a la informatica, todo el tratamiento del sistema me resulta muy cercano, y mucho menos complejo de lo que esperaba (ya que habia que tocar ficheros de configuracion / programar y comparando con ciertas interfaces graficas que proveen otro tipo de PBX, pense que iba a haber una diferencia ignominiable a nivel de complejidad, aunque ahora veo que nada mas lejos de la realidad, es bastante mas sencillo y versatil.

Comparativamente esto es como tener que crear una pagina web, con un asistente de creación de paginas web, o poder crearla a nivel HTML con codigo. Es cierto que hay que aprenderse con código todos los detallitos que conforman el sistema, pero el poder y las combinaciones y opciones que esta opcion otorga, no tiene fin, ni limite, es posible dar alas a la imaginación, y todo lo imaginable. se puede hacer realidad.

Como valoracion general, debo decir que me ha resultado bastante provechoso el curso de Iniciacion, y de hecho se lo recomendaria a cualquiera. El profesor resulto muy flexible en general, y el nivel dentro de lo posible se intento mantener lo suficientemente alto como para no quedarnos estancados sin avanzar.

Por contra, principalmente, que fueron demasiados pocos dias, el precio por dia es un poco elevado, y el nivel de organización no fue el deseado. Un curso de 4 dias hubiera estado mucho mejor para cubrir algunos aspectos que se quedaron en el tintero, como la integración con IAX (el protocolo de intercomunicación entre centralitas Asterisk, con la idea de unir varias centralitas Asterisk y poder compatir ciertas cuestiones, como los Dial Plan), quiza haber tratado un poco mas el mundo RDSI, y poder haber realizado mas practicas para haber dejado todo claro como el agua. Aparte, tambien tuvimos ciertas dificultades desde el inicio, desde que los sistemas no estaban bien instalados, hasta el tema que comente antes de los puertos PCI, un grandisimo error (mas, para aquellos que ni siquiera adquirieron la tarjeta en propiedad para luego hacer sus practicas en casa, y para los que si lo hicieron, que no tuvimos la oportunidad de “catarla”).

Espero poder avanzar ahora después de esto mucho mas rápido, y poder proveeros de mucha mas información para poder Acelerar la curva del Aprendizaje de Asterisk lo máximo posible.

Curso Asterisk de Iniciacion: Dia 1

Una de las grandes motivaciones que me llevo a realizar este blog, aparte de varios sucesos que convergian en la necesidad de aprender Asterisk de una forma eficaz, fue el hecho de que tenia previsto para estas fechas asistir a un curso de Asterisk de Iniciacion impartido por Avanzada 7, mayorista principal en el territorio Español del patrocinado de Asterisk, Digium, entre otras varias soluciones que engloban el mundo Asterisk (tarjetería, enlaces, telefonos, etc…)

Este curso, consta de 3 dias, por lo que intentare hacer un resumen de los puntos claves, y tratare de prolongarlo, con algunas experiencias que continuare a dias posteriores.

Realmente este curso va a servir a mi proposito, como pasarela, o puente para realmente acabar de familiarizarme con un sistema de Telecomunicaciones, que desconozco en su extensa mayoria. En este momento me encuentro en una fase de aprendizaje, Consciente, y poco a poco empezando a adquirir competencia.

Las curiosidades vistas en este primer dia de curso mas destacadas fueron:

1. Asterisk 1.6 esta bastante evolucionada, hasta el punto que la 1.6 se perfila como una version estable muy util para produccion. Se desmitifica el hecho de que solo la 1.4 era realmente una version totalmente destacada por su estabilidad. Es cierto por otro lado, que existe una rama de la 1.4 llamada Asterisk-RSP que se basa exclusivamente en la eliminacion del 100% de los problemas de seguridad. Un proyecto bastante ambicioso, pero que le resta funcionalidad, a cambio de una estabilidad extrema. Eterno Dilema a fin de cuentas.

2. Una instalacion directamente compilando y configurando desde las fuentes no es tan dificil como esperaba. Solo hay seguir unos parametros, y familiarizarse sobre todo con las librerias que hacen falta. Es interesante tener esto en cuenta, porque asi podemos saber de base, con que trabaja Asterisk, y podemos deshechar, para un servidor de produccion, la extensiva morralla que suele venir por defecto en la mayoria de las Distribuciones de Linux. Para este punto en concreto me gustaria dedicar un poquito mas adelante, un escrito exclusivo un poco a modo manual, para engrosar la lista de capitulos Introductorios del Blog.

3. Por contrapartida, he observado que es ciertamente engorroso trabajar con Asterisk una vez ha sido ejecutado. En este primer dia, solo han intervenido el sistema, extensiones SIP, telefono IP y un Softphone (telefono con una interfaz de ordenador). Ni siquiera comunicados entre ellos. Pero en general los compañeros de curso han tenido complicaciones para conseguir realizar los enlaces. Todo esto bajo la supervision de un profesor, creo que puede resultar ciertamente molesto y complejo, realizar esto en fase de pruebas, sin una asistencia detras para salvar las espaldas. Como dato aun mas curioso el hecho que un Softphone como Ekiga,  utilice un puerto de escucha, y para mas inri, practicamente deje inutilizado el sistema Asterisk, si trabaja sobre el mismo servidor, ya que prioriza el puerto sobre el sistema. Aunque esta configuracion de por si es un poco absurda (un softphone, que requiere un entorno grafico, en lo que deberia ser un servidor puramente configurado por consola, para produccion). Curiosamente, esta problematica de puertos, puede interferir a la hora de poder aprobar el examen de certificacion oficial de Asterisk-Digium dCAP (que tambien dedicare algun mensaje especializado para la gente interesada).

Tampoco tengo tiempo para entrar en mas detalles, pero he pretendido mostrar una vision global de lo que fue el Dia 1 del Curso.