Se avanzó en probar las llamadas desde Android y (creo) Ekiga con un servidor remoto.
Preliminares
Instalé un servidor SIP Freeswitch en google cloud con IP asignada en Brasil.
@strysg y @looper en el hacklab realizaron llamadas de prueba exitosamente con el cliente SIP nativo en android.
esta configuración fue con una instalación de Freeswitch 1.6 básica (completa, con varios idiomas, etc.) en modo RTP proxy, es decir el audio RTP pasa por FS en ambas direcciones. en La Otra Red por las latencias entre diferentes nodos lo ideal (creo) sería pensar en modo “peer-to-peer” y posiblemente tener servidores (proxies) de multimedia aparte en algunos nodos. posiblemente no sea necesario y se podría usar el mismo modo proxy en LOR. esto también introduce temas cómo monitoreo de llamadas.
Pendientes
los siguientes pasos serían instalar y configurar el sistema básico localmente es decir permitir que uno o varios “usuarios” se registren al nodo FS y puedan llamarse y posiblemente recibir llamadas de Cotel con un adaptador PSTN.
pensando en ampliar el servicio a otros nodos, por ejemplo entre otras zonas de la ciudad, sería importante hacer pruebas y medir las latencias entre cliente-servidor y cliente-cliente para asegurar la calidad del audio.
actualmente estamos trabajando en instalar el Freeswitch localmente con @looper para poder hacer más pruebas
Alternativas para Multimedia Interactiva (Llamadas) en LOR
sugiero que documentemos y debatamos diferentes alternativas para “telecomunicaciones” o llamadas y videollamadas en la otra red. en telefonía (incuyendo video) actualmente se cuenta con dos alternativas básicas, que incluso se pueden utilizar en paralelo y trabajan sobre una base muy similar: SIP y WebRTC.
SIP en términos generales, es un protocolo para llamadas, las cuales se denominan sesiones (session initiation protocol). permite establecer llamadas, videollamadas, enviar mensajes de texto y establecer group chats, además de servicios subyacientes (keepalive, intercambio de rutas o directorios telefónicos). usualmente SIP requiere un cliente y servidor configurados para comunicarse. en esta área existen varias alternativas de código libre como Asterisk, Freeswitch, OpenSIPs y Kamailio.
la gran ventaja de SIP es su universalidad, existencia de servidores y containers y clientes que pueden intercomunicarse. la desventaja es que puede ser complicado hacer que cada cliente y servidor se interconecte, lo cual requiere mucha configuración específica.
WebRTC es un conjunto de protocolos y/o tecnologías de multimedia interactiva los cuales se pueden resumir formalmente en un API para Javascript que se ejecuta en el mismo navegador web. con unas líneas de código se puede establecer una llamada directa entre clientes o hacia un servidor.
La ventaja de WebRTC es que cualquier navegador moderno lo soporta en teoría, y reduce la necesidad de instalar clientes locales. Las desventajas pueden incluir complejidad en la configuración, problemas propios a cada navegador web, la necesidad de contar con mayor infraestructura (y certificados SSL ya que WebRTC es seguro por defecto) y posible dependencia en otros servidores (ICE/STUN/TURN para temas NAT).
Para probar WebRTC propongo que utlizemos el Verto Communicator