Primeros Pasos: Eligiendo un Servidor

Visto lo visto, creo que ya llego el momento de empezar a meterle mano al tema.

Quiza lo logico seria plantear, un servidor cualquiera de pruebas, y hacer experimentos para dar los primeros pasos.

Pero me gustaria ir un poco mas alla. La primera “practica” va a ser montar un pequeño servidor de Produccion que cumpla una funcion muy especifica: Servidor de FAX y un pequeño Callcenter para dar soporte a mi empresa a nivel IT a traves de la VoIP y las lineas analogicas que poseo.

Para ello cuento con lo siguiente:

Un Semi-Servidor con los siguientes componentes

– Procesador Opteron 170 (equivalente al AMD Athlon X2 4200+) socket 939
– 4 x 1 Gb DDR-SDRAM 400Mhz UDIMMs
– 2 x HDD SATA 7200 320Gb en RAID 1

Aparte tiene una tarjeta Digium Wildcard B410P con 1 puerto FXO y 1 puerto FXS

Tambien estoy empezando a barajar un pequeño servidor para dar servicio de produccion a baja escala (del orden de 20 extensiones, con un maximo de 10 llamadas simultaneas).

Entre los equipos barajados me he ido a las gamas Dell, el mas bajo de gama con Fuente Redundante (que realmente es lo unico especial que posee un servidor frente a un equipo MIY) seria el PowerEdge R410, que ademas posee dos sockets, y una placa con opcion a poner memorias Registradas (lo que viene a ser una placa de servidor propiamente dicha).

2 x Intel Xeon E5504
2 x 2Gb DDR3 1333 Ghz RDIMMs
2 x HDD SATA 7200 250Gb en RAID 1 con la controladora PERC S100
Y la Fuente Redundante

Hacen un total de 1480 euros + IVA

La ventaja es que solo es de 1U, porque luego por 2U podemos irnos a otros servidores tipo R510 que con una configuracion equivalente se van al orden de los 1510 euros y contando con la inclusion controladoras HotSwap PERC i6

Una gama aun mas alta, ya con discos SAS vendria a costar del orden de los 1750 euros, para el caso del R610 y finalmente el resto de las gamas enrackables se van a los 2000 euros directamente para configuraciones equivalentes, y tambien quiza, con procesadores AMD Opteron, que realmente no se si son una buena configuracion para trabajar con el sistema Asterisk.

Mi conclusion: No merece la pena gastarse el dinero que cuesta un servidor si no vamos a tener las prestaciones especiales que ofrece una placa de servidor y todo lo que le rodea (posibilidad de fuentes redundantes, memorias registradas, dos o cuatro sockets, hotswaps, controladoras RAID de alta gama, etc). Hoy en dia por menos de 1000 euros podemos tener un equipo del nivel de un servidor. Mas curioso aun, los servidores en modo torre, no aportan un precio mejorado a mayores prestaciones, si bien, no requieren de rack, en caso de poseerlo, es hasta un mayor inconveniente de espacio y desorden.

Por tanto el mejor servidor entre todos los valorados de gama baja en Dell es el R510, con la inconveniencia de que para el tipo de servidor por mi planteado, le sobra gran cantidad potencia.

Quiza seria mas interesante, tener un servidor de bajo nivel incluso MIY con opcion de registrar todos los terminales en un servidor mayor redundante, a traves de comunicaciones de datos, en caso de averia.

Seguire dandole vueltas a esto. De momento me pongo manos a la obra con el servidor que plantee al inicio.

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.

Comenzando la andadura en el mundo de Asterisk

Después de un año dando vueltas alrededor de la comunidad de Asterisk, tanteando múltiples opciones, realmente nunca me había decidido a dar el paso. El verdadero problema que existía, mas allá de la complejidad del sistema, es la diversificación que existe ya de por si, entre los mismos usuarios que componen esta comunidad.

Por un lado tenemos los defensores de la “estabilidad” aun con menos opciones, defienden el hecho de que la misma es lo que da un valor añadido al sistema. Esto es, la versión 1.4 de Asterisk. Realmente nadie querría ver un sistema novedoso implantado a nivel Empresarial, dando problemas diariamente. Mas considerando que existe una rama de Asterisk que enfoca el mundo de las PBX, ya de por si, un sistema aun libre de licencias, no es barato de instalar, configurar, comprar toda la electrónica muy especifica y especialmente elevada de precio, y ponerlo en marcha, aparte de ofrecer un mantenimiento estable y fiable a lo largo del tiempo, y encontrar una red de distribuidores capaces de ofrecer soporte. Si monetizamos el total de horas que es requerido invertir para llevar adelante todo un proyecto Asterisk de al menos nivel intermedio, mas considerando, que la mayor parte de las ocasiones debe estar intervenido por un ingeniero de una especialidad en Telecomunicaciones o Informática en su defecto, es importante el coste que esto conlleva.

Si a todo esto no le añadimos un punto de estabilidad, entonces tenemos un grave problema: Es mas barato tender a una alternativa propietaria, que ofrezca un buen soporte de desarrollo de aplicaciones, aunque no ofrezca el 100% de la libertad que Asterisk a largo plazo pudiera dar, en términos de retorno de inversión, seguramente resultara mas beneficioso.

Pero por otro lado tenemos la rama “aventurera”, “innovadora”. Curiosamente, hasta hace poco, esta rama se encontraba en un frenético nivel de evolución, que incluso, subsecuentes actualizaciones resultaban en un empeoramiento del sistema, abriéndolo a numerosos fallos de seguridad, problemas de código, y difícil mantenimiento del sistema a nivel interno. Esto es la versión 1.6 de Asterisk. Pero puestas ya las vistas en un sistema totalmente revolucionado, y renovado, tanto a nivel interno (diseño, programación e implementación en los sistemas), tanto a nivel externo (nuevas funcionalidades), se han corregido numerosas debilidades, y parece que el proyecto resultante esta empezando a coger forma, y sera Asterisk 1.8.

En resumidas cuentas, todo esto no suena nada raro, para una persona experimentada en el mundo del Software Libre. Siempre nos encontramos una rama de producción, estabilidad, y seguridad y una rama de evolución, actualización, y frenesí a cambio de una inestabilidad latente.

Cuando me planteo esto, estamos a mediados del año 2010. Seguramente dentro de 3 años, nos debatiremos entre la version 2.0 como estable y la 2.5 como inestable. Y desde que fui capaz de asumir estas dos vertientes, surgió una pregunta para mi, a día de hoy ¿por donde debería empezar? ¿Asterisk 1.4, o Asterisk 1.6?

Y todo esto considerando mi perfil, en un nivel Corporativo, implantación en múltiples sedes, que buscan la mayor opción tecnológica al menor precio, contando con mi intervención para obtener este resultado.

Seguiré andando para averiguar algo mas allá de esta pregunta.

Stay Tuned.