Capítulo 1. La revolución de la telefonía

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Somos lo que ellos superan. Ésa es la verdadera carga de todos los maestros.

Maestro Jedi Yoda

Cuando en 2004 nos propusimos escribir un libro sobre Asterisk (¡hace 15 años a partir de esta edición!), predijimos con confianza que Asterisk cambiaría radicalmente el sector de las telecomunicaciones. Hoy, la revolución que predijimos forma parte de la historia. Desde hace varios años, Asterisk es la centralita privada (PBX) de mayor éxito en el mundo, y es una tecnología aceptada en la industria de las telecomunicaciones.

La revolución -por muy necesaria que fuera para la industria de las telecomunicaciones de entonces- ha decaído significativamente simplemente porque han cambiado los métodos por los que a la gente le gusta comunicarse. Mientras que hace 25 años las llamadas telefónicas eran la forma preferida de conversar a través de las distancias, la tendencia actual es enviar mensajes o realizar videoconferencias por chat. La llamada telefónica se considera algo muerto, sobre todo por las nuevas generaciones. Todavía no estamos preparados para un funeral.

Asterisk sigue siendo una tecnología potente, y creemos que sigue siendo una de las mejores esperanzas para cualquier tipo de integración sensata entre las telecomunicaciones y todas las demás tecnologías con las que las empresas podrían querer interconectarse. Tendrá que encontrar su lugar dentro de un ecosistema de comunicaciones que ya no da tanta importancia a las llamadas telefónicas. Nuestra expectativa es que WebRTC, que promete mercantilizar las comunicaciones basadas en la web,1 surgirá como sustituto de todos los productos de "colaboración" imitadores, cerrados y propietarios que actualmente inundan (y confunden) el mercado. Asterisk puede desempeñar un papel en este nuevo futuro, y la comunidad Asterisk ha asumido de buen grado y con entusiasmo este nuevo concepto. Puede que te estén diciendo que la voz ha muerto, pero cualquiera que haya prestado atención a algún tipo de ciencia ficción sabe que poder hablar entre nosotros a larga distancia no va a ser dominio exclusivo de los que teclean. A los humanos nos gusta hablar, y seguiremos encontrando formas de hacerlo.

También existe, hay que señalarlo, una enorme generación de personas cuyos recuerdos son anteriores a Internet, y para esta gente el teléfono sigue siendo una tecnología muy útil. Si uno desea hacer negocios con ellos, más vale que sepa gestionar bien las llamadas telefónicas. Esta gente se está retirando de la población activa, pero sus carteras siguen teniendo mucha influencia. Quizá la centralita sea algo moribundo, pero su cola es muy larga.

En este libro, vamos a explorar los entresijos de Asterisk. Se trata de un conjunto de herramientas flexible, abierto y conforme a los estándares, que creemos que sigue siendo muy relevante para las empresas hoy en día, y que seguirá siendo útil durante muchos años. El poder de Asterisk reside en su flexibilidad. Ha demostrado ser muy útil para unir varios tipos de tecnologías de comunicación, y si quiere tener algún tipo de futuro, tendrá que seguir haciéndolo. Nuevas tecnologías como WebRTC ofrecen todo tipo de posibilidades para el futuro de la comunicación, y la comunidad Asterisk está muy centrada en este cambio de paradigma.

La notable flexibilidad de Asterisk tiene un precio: no es un sistema sencillo de aprender o configurar. Esto no se debe a que sea ilógico, confuso o críptico; al contrario, es muy sensato y práctico. A la gente se le iluminan los ojos cuando ve por primera vez un plan de marcación Asterisk y empieza a contemplar las posibilidades. Pero cuando hay literalmente miles de formas de conseguir un resultado, el proceso requiere naturalmente un esfuerzo adicional. Quizá pueda compararse con la construcción de una casa: los componentes son relativamente fáciles de entender, pero una persona que se plantee esa tarea debe a) conseguir ayuda competente o b) desarrollar las habilidades necesarias mediante la instrucción, la práctica y un buen libro sobre el tema .

Asterisk y VoIP: salvar la brecha entre la telefonía tradicional y la telefonía de red

En a veces parece que hemos olvidado que el objetivo del teléfono es permitir que la gente se comunique. Es un objetivo sencillo, en realidad, y debería ser posible hacerlo realidad de formas mucho más flexibles y creativas que las que tenemos actualmente a nuestra disposición. Las nuevas tecnologías siempre intentan dominar el mercado con una oferta propia. Pocas lo consiguen. Las tecnologías de la comunicación necesitan interoperar, y tecnologías como Asterisk reducen las barreras de entrada para quienes desean innovar.

Es por esta razón -la comunicación- por la que creemos que aún existe un futuro para los proyectos de telefonía de código abierto como Asterisk. Sí, puede que la gente ya no quiera hacer "llamadas telefónicas", pero creemos que seguirá habiendo valor en las conversaciones. Las tecnologías que pueden facilitar esas conversaciones pueden evolucionar de formas aparentemente radicales, pero el deseo subyacente de comunicarse sigue siendo el mismo.

Asterisk está enchufado al futuro, y tiene un largo historial de éxito en la integración de tecnologías de comunicaciones.

El Proyecto de Telefonía Zapata

Cuando se inició el proyecto Asterisk (en 1999), existían otros proyectos de telefoníade código abierto. Sin embargo, Asterisk, en combinación con el Proyecto de Telefonía Zapata, fue capaz de proporcionar interfaces de red telefónica pública conmutada (RTPC), lo que representó un hito importante en la transición del software de algo puramente basado en la red a algo más práctico en el mundo de las telecomunicaciones de entonces, que estaba centrado en la RTPC.

El Proyecto de Telefonía Zapata fue concebido por Jim Dixon, un ingeniero consultor de telecomunicaciones que se inspiró en los increíbles avances en la velocidad de las CPU que la industria informática ha llegado a dar por sentados. Dixon creía que se podrían crear sistemas de telefonía mucho más económicos si existiera una tarjeta que no tuviera nada más que los componentes electrónicos básicos necesarios para interactuar con un circuito telefónico. En lugar de tener componentes caros en la tarjeta, el procesamiento digital de señales (DSP)2 se gestionaría en la CPU mediante software. Aunque esto impondría una tremenda carga a la CPU, Dixon estaba seguro de que el bajo coste de las CPU en relación con su rendimiento las hacía mucho más atractivas que los costosos DSP y, lo que es más importante, que esta relación precio/rendimiento seguiría mejorando a medida que las CPU siguieran aumentando su potencia.

Como tantos visionarios, Dixon creía que muchos otros verían esta oportunidad, y que él sólo tenía que esperar a que alguien creara lo que para él era una mejora evidente. Al cabo de unos años, se dio cuenta de que no sólo nadie había creado estas tarjetas, sino que además parecía improbable que alguien fuera a hacerlo algún día. En ese momento tuvo claro que si quería una revolución, iba a tener que iniciarla él mismo. Y así nació el Proyecto de Telefonía Zapata:

Como este concepto era tan revolucionario, y sin duda iba a dar mucho que hablar en el sector, me decidí por el motivo revolucionario mexicano, y bauticé la tecnología y la organización con el nombre del famoso revolucionario mexicano Emiliano Zapata. Decidí llamar a la tarjeta la "tormenta" que, en español, significa "tempestad", pero contextualmente se suele utilizar para dar a entender una gran tormenta, como un huracán o algo así.

Quizá deberíamos llamarnos Asteristas. En cualquier caso, tenemos una deuda de gratitud con Jim Dixon, en parte por idear esto y en parte por llevarlo a cabo, pero sobre todo por dar los resultados de sus esfuerzos a la comunidad de código abierto. Como resultado de la contribución de Jim, surgió el motor PSTN de Asterisk. Y gracias a esta unión de VoIP y RTC, ¡nació la revolución de las telecomunicaciones de código abierto!

A lo largo de los años, la interfaz de telefonía Zapata de Asterisk se ha ido modificando y mejorando. La interfaz de telefonía Digium Asterisk Hardware Device Interface (DAHDI) que se utiliza hoy en día es fruto de la contribución de Jim Dixon.

Los cambios masivos requieren una tecnología flexible

Todas las centralitas que existen tienen defectos. No importa lo completa que sea, siempre se dejará algo fuera, porque incluso la centralita con más funciones siempre fracasará a la hora de anticiparse a la creatividad del cliente. Un pequeño grupo de usuarios deseará una función extraña en la que el equipo de diseño no haya pensado o cuyo coste no pueda justificar y, como el sistema es cerrado, los usuarios no podrán crearla por sí mismos.

Si Internet hubiera estado tan obstaculizada por la regulación y los intereses comerciales, es dudoso que hubiera conseguido la amplia aceptación de que goza actualmente. La apertura de Internet significaba que cualquiera podía permitirse participar. Así que todo el mundo lo hizo. Las decenas de miles de mentes que colaboraron en la creación de internet aportaron algo que ninguna corporación por sí sola podría haber conseguido jamás.3

Al igual que muchos otros proyectos de código abierto (como Linux y gran parte del software crítico que hace funcionar Internet), el desarrollo de Asterisk fue alimentado por los sueños de gente que sabía que tenía que haber algo más de lo que producían las industrias tradicionales. Esta gente sabía que si se podían coger las mejores partes de varias centralitas y separarlas en componentes interconectados -como una caja llena de ladrillos de LEGO-se podía empezar a concebir cosas que no sobrevivirían a un proceso tradicional de análisis de riesgos corporativos.

El propio Asterisk se ha convertido en la base de muchas creaciones masivamente productizadas. Y, sin embargo, bajo el capó, el alma de ese proyecto de código abierto aún permanece.

Asterisk: La centralita del hacker

Asterisk es la centralita definitiva para hackers. El término hacker, por supuesto, ha sido tergiversado por los medios de comunicación para que signifique "cracker malintencionado" para los incultos. Es una pena, porque el término ya existía mucho antes de que los medios de comunicación corrompieran su significado. Los hackers construyeron el motor de red que es Internet. Los hackers construyeron el Apple Macintosh y el sistema operativo Unix. Los hackers también están construyendo tu próximo sistema de telecomunicaciones. Sí, algunos de ellos son malintencionados, pero las mentes que dirigen el desarrollo de Asterisk son muy conscientes de ello, y descubrirás que Asterisk te permite construir un sistema mucho más capaz de responder rápidamente a las amenazas a la seguridad. El software de código abierto no esconde sus defectos detrás de los departamentos de publicidad de las empresas. La suciedad se saca a la luz, donde puede tratarse. En lugar de estar constreñido por la dudosa y a menudo deficiente seguridad de los sistemas cerrados, la comunidad Asterisk responde rápidamente a las tendencias cambiantes en materia de seguridad, y podrás ajustar tu sistema telefónico en respuesta tanto a la política corporativa como a las buenas prácticas del sector.

Al igual que otros sistemas de código abierto, Asterisk podrá evolucionar hasta convertirse en una plataforma mucho más segura que cualquier sistema propietario, no a pesar de sus raíces hacker, sino gracias a ellas.

Asterisk: La centralita del profesional

Asterisk es una tecnología habilitadora, y al igual que ocurre con Linux, cada vez será más raro encontrar una empresa que no esté ejecutando alguna versión de Asterisk, en alguna capacidad, en algún lugar de la red, resolviendo un problema como sólo Asterisk puede hacerlo. Ya estás utilizando Asterisk, aunque no lo sepas.

La Comunidad Asterisk

No tiene sentido irse por las ramas: la comunidad Asterisk es una sombra de lo que fue. Hace una docena de años, Asterisk era casi lo mejor del código abierto. Hoy, la mayoría de los entusiastas han pasado página. Lo que queda, sin embargo, es una comunidad de profesionales experimentados y curtidos en mil batallas, que ya han pasado por eso.

No esperes un equipo de personas dispuestas a trabajar gratis en tus proyectos. El precio de entrada a esta comunidad es un compromiso personal con el desarrollo de habilidades. Si traes a esta comunidad un sentido del derecho, no disfrutarás de las respuestas. Si, por el contrario, traes curiosidad y entusiasmo y la voluntad de sumergirte, ensuciarte las manos y hacer el trabajo, encontrarás una comunidad más que dispuesta a compartir contigo los conocimientos que tanto les ha costado adquirir.

Estos son algunos de los lugares donde se reúne la comunidad Asterisk.

Sitio comunitario basado en el discurso de Asterisk

Asterisk trasladó sus foros oficiales a https://community.asterisk.org/ en 2015. Ésta parece ser la comunidad más activa en este momento, y la relación señal-ruido es excelente. La gente de Digium hace un buen trabajo de moderación, y varias de sus personas más veteranas y experimentadas participan activamente.

Ten en cuenta que esto no es como la asistencia de pago. Se espera que hagas el trabajo tú mismo, pero puedes esperar obtener aquí consejos de buena calidad, que pueden ayudarte a orientarte en la dirección correcta.

Las listas de correo de Asterisk

La actividad de en estas listas se ha reducido a un goteo (de cientos de mensajes al día a quizá una docena de hilos al mes). Probablemente sean más útiles como archivo histórico, pero puede merecer la pena consultarlas cuando estés trabajando en un problema intratable. De las listas de correo que encontrarás en lists.digium.com, estas dos son probablemente las más útiles:

Asterisco-Usuarios

Esta lista es una sombra de lo que fue. Mientras que antes generaba varios cientos de mensajes al día, la mayor parte de este tráfico se ha trasladado al sitio de la Comunidad Asterisk de Digium (arriba).

Asterisk-Dev

Los desarrolladores de Asterisk se reúnen aquí. El propósito y el enfoque de esta lista es la discusión sobre el desarrollo del software que es Asterisk, y los participantes defienden enérgicamente ese propósito. Si publicas algo en esta lista que no esté específicamente relacionado con la programación o el desarrollo de la base de código de Asterisk, recibirás un montón de críticas. Las preguntas generales de codificación (como las consultas sobre la interfaz con AGI o AMI) deben dirigirse a la lista Usuarios de Asterisk.

Advertencia

¡La lista Asterisk-Dev no es soporte de segundo nivel! Si recorres los archivos de la lista de correo, verás que ésta es una norma estricta. La lista de correo Asterisk-Dev es para debatir sobre el desarrollo básico de Asterisk, y las preguntas sobre la interconexión de tus programas externos mediante AGI o AMI deben enviarse a la lista Asterisk-Usuarios.

Sitios Wiki de Asterisk

Este no es realmente un punto de encuentro de la comunidad, pero merece una mención. Digium mantiene una wiki para Asterisk en wiki.asterisk.org. El equipo de Digium actualiza constantemente este sitio, y unos scripts automatizados exportan la documentación basada en XML del código fuente de Asterisk a la propia wiki, todo lo cual ayuda a garantizar que los datos que estás leyendo son una representación exacta del mundo.

Existe una wiki más antigua en www.voip-info.org,, que hoy en día es una curiosidad histórica y una fuente de mucha información y confusión. Incluimos aquí una referencia a ella simplemente porque es probable que un día llegues a ella y pienses que has dado con la veta madre, pero lo que en realidad has encontrado es más parecido a un museo de rarezas históricas: fascinante, pero no necesariamente relevante.

Los Canales IRC

La comunidad Asterisk mantiene canales de Internet Relay Chat (IRC) en irc.freenode.net. Los dos canales más activos son #asterisk y #asterisk-dev.4 Para reducir las intrusiones de spambots, ambos canales requieren registro para unirse. Para registrarte, ejecuta /msg nickserv help cuando te conectes al servicio a través de tu cliente IRC favorito.

Conclusión

¿Por dónde empezar? Bueno, cuando se trata de Asterisk, hay mucho más de lo que podemos hablar en un solo libro. Este libro sólo puede establecer lo básico, pero a partir de esta base podrás llegar a comprender el concepto de Asterisk y, a partir de ahí, ¿quién sabe lo que construirás?

1 ¡Y quizás más, dado que WebRTC también está revolucionando las aplicaciones nativas!

2 El término DSP también significa procesador digital de señales, que es un dispositivo (normalmente un chip) capaz de interpretar y modificar señales de diversos tipos. En una red de voz, los DSP se encargan principalmente de codificar, descodificar y transcodificar la información de audio. Esto puede requerir un gran esfuerzo computacional.

3 Somos conscientes de que la tecnología de Internet se formó a partir de instituciones gubernamentales y académicas, pero de lo que estamos hablando aquí no es tanto de la tecnología de Internet como de su fenómeno cultural, que explotó a principios de los 90.

4 El canal #asterisk-dev es para la discusión de cambios en la base de código subyacente de Asterisk y tampoco es soporte de segundo nivel. Las discusiones relacionadas con la programación de aplicaciones externas que interactúan con Asterisk a través de AGI o AMI deben estar en #asterisk.

Get Asterisco: La Guía Definitiva, 5ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.