Como cualquier campo técnico que se asienta y madura, aparecen siempre personas, profesionales y empresas que tienden a avanzar en el desarrollo de cualquier mínima categoría, especialidad y variación de dicho campo con el objetivo de crecer, conseguir nuevos clientes o ampliar beneficios.
Esto ha ocurrido siempre, y ocurrió en el mundo de las bases de datos, cuando toda la información se almacenaba en archivos de textos, luego se pasó a almacenar en archivos binarios para poder disponer de un método de búsqueda más rápido y eficaz (¿alguien se acuerda de DBASE III Plus y similares?) luego aparecieron «motores» que ayudaban a organizar y realizar búsquedas en esos ficheros y cuando todo parecía que estaba inventado con la aparición del Access, MSSQL, MySQL, PosgreSQL y Oracle… apareció una nueva ramificación con los NOSQL que dió lugar a una nueva forma de entender las bases de datos (Mongo, Redis, Cassandra…). Estos motores no sustituyen a los primeros, si no que forman una especialización del motor para cierto tipo de información (más voluminosa, menos relacionada, ideal para grandes cantidades de datos y búsquedas muy rápidas y simples…) y si uno pensaba que ahí acababa la cosa, aparecen los motores de bases de datos orientados a «series de tiempo» (TimeSeries), ideal para guardar grandes volúmenes de información prestando especial interés a cuándo se insertó esa información. Esto es ideal y específicamente creado para IOT, telemetría de todo tipo (desde servidores hasta coches) y un largo etcétera… y como siempre, todo tiende a expandirse y especializarse hasta el infinito.
Lo mismo que le ha ocurrido a las bases de datos, ocurre hoy día en cualquier campo técnico: programación, robótica, comunicaciones, criptografía, cyberseguridad, etc.
Cualquier entendido de hace 10 años en cualquier tema técnico, que no haya evolucionado con los continuos avances, hoy día no sabría ni por dónde empezar con la cantidad de modificaciones y ramificaciones que ha dado su especialidad.
En la VoIP por supuesto, también ocurre… desde los inicios en los que nos bastábamos para crear un sistema central basado en Asterisk y un conjunto de teléfonos con 4 o 5 servicios estándar (tranferencias, desvíos, BLF, etc.) hoy día todo se especializa en cualquier ámbito donde la VoIP tenga una importancia crítica e importante: Kamailio u OpenSIPs en proveedores de servicios, Asterisk o FreeSwitch para centralitas básicas a las que se le acopla generalmente un interfaz de gestión para dotarla de características para callcenters, centralitas virtuales, o simplemente para instalar en una empresa y que la telefonía funcione perfectamente con sus teléfonos IP de toda la vida.
Los teléfonos han evolucionado muchísimo, desde los antiguos Kimpo, Sipura, BT100 o Swissvoice, pasando por los Thomson ST2030, Linksys o Polycom hasta los últimos modelos con pantalla táctil, a color con todo tipo de leds, sensores, indicadores y funciones como los últimos modelos de Snom, Grandstream, Audiocodes o Yealink. Teléfonos para todos los gustos pero imposible comparar los antiguos modelos con los nuevos, no únicamente en prestaciones si no en apariencia.
Y aún así, esta metodología de funcionamiento, que podría considerarse tradicional o estándar y que seguramente sea la más frecuente de encontrar en las empresas por su relación calidad-precio-estabilidad, choca con una nueva ramificación de la VoIP que lleva gestionándose más de 10 años y que, al igual que ocurría con el mundo de las bases de datos, crea un nicho muy específico, aunque bastante amplio, que consiste en atraer la VoIP directamente de la aplicación/web/… y es WebRTC.
WebRTC no sustituye inicialmente a una centralita y sus teléfonos, su función es mucho más a bajo nivel y todo depende de la aplicación que gestiona las llamadas y las conversaciones, depende de la empresa que lleva la aplicación, y de que la aplicación esté actualizada. Una empresa que opte por un sistema WebRTC no necesitaría teléfonos IP, ni posiblemente un Asterisk que gestione esas llamadas, ya que la mayoría de las aplicaciones WebRTC están orientadas principalmente a interactuar entre usuarios de la misma plataforma. Como ejemplo tenemos a Whatsapp, Telegram, etc. que como bien se puede comprobar, no se puede hacer una llamada a un número fijo o un número internacional, ya que únicamente admite llamadas entre usuarios de la plataforma. El día que la plataforma deje de funcionar, la aplicación no tendrá opción para que podamos utilizar otra plataforma diferente a la oficial.
Esto no siempre es así, hay empresas que buscan integrar un sistema híbrido: mitad SIP, mitad WebRTC o lo que viene siendo utilizar un softphone WebRTC para conectar con la centralita Asterisk de toda la vida como si fuera un softphone más. Realmente esta idea es muy interesante para muchas empresas, aunque no es el objetivo de WebRTC por lo que tampoco hay mucho interés en ofrecer esta solución.
El objetivo de WebRTC es traer la posibilidad de comunicarse directamente a la aplicación y que el usuario que está trabajando en dicha aplicación, pueda hablar con otras personas (compañeros, clientes que se conectan a la web, etc.)
Así trabajan otras empresas como Microsoft Teams (antes Skype$Bussiness, antes Lync, antes OCS, antes …) favoreciendo y acercando la comunicación interna a través de una comunicación WebRTC y (si contratas el módulo PBX) poder conectar una PBX compatible para poder hacer y recibir llamadas empresariales puntuales.
Personalmente no me imagino a un callcenter trabajando con Microsoft Teams, tanto por el coste mensual, como por las limitaciones funcionales de la PBX y como por el coste de actualización cada pocos años de todo el sistema de comunicaciones, de la misma manera que tampoco me imagino un sistema de multivideoconferencia gobernado por un Asterisk en la que cada participante tenga que configurar su aplicación de videosoftphone para poder conectarse e interactuar.
Después de muchos años, WebRTC no es una evolución de la VoIP, si no una ramificación que aporta unas soluciones muy concretas a unos problemas que la VoIP tradicional: la de la PBX -register-proxy-usrloc-etc.- y los teléfonos IP no puede dar. Hay quien trabaja para crear una integración SIP-WebRTC, de la misma manera que hay motores de bases de datos NoSQL que admiten sentencias SQL y unas pseudo-relaciones bastante curiosas, pero desde mi punto de vista, el mundo «SIP» y el mundo «WebRTC» son dos ramas del mismo árbol que sirven a propósitos distintos y no del todo incompatibles.
Hay que tener en cuenta que Asterisk 17 soporta SIP bajo WebSocket, lo que permitiría conectar clientes WebRTC (siempre que sepas, puedas y tengas tiempo para programar un cliente WebRTC).
Por supuesto, aún no ha salido un sistema que integre ambos conceptos de forma nativa y es que los requisitos de WebRTC (FQDN, HTTPS, navegadores últimas versiones, etc.) hacen difícil una integración LTS (sin apenas necesitar de un mantenimiento mensual) por lo que quien opta por un sistema WebRTC debe estar dispuesto a pagar un mantenimiento continuado de programación para que el sistema siga funcionando pese a las variaciones de los navegadores, algo que muchas empresas no están dispuestas a hacer.
En resumen: La VoIP sigue expandiéndose, lentamente (eso si) hacia otras formas de comunicarse utilizando la web, y aunque veamos que el WebRTC es lo más de lo más, no hay que olvidarse que la VoIP basada en SIP, con sus teléfonos IP, sus centralitas software y hardware, sus paneles de gestión y monitorización, sigue existiendo, sigue avanzando y sigue siendo hoy día la opción más utilizada por las empresas. Quizá eso varíe en un futuro a medio o largo plazo, pero no será pronto.