diff --git a/Limitaciones.md b/Limitaciones.md index 9fb304e..e0f68a8 100644 --- a/Limitaciones.md +++ b/Limitaciones.md @@ -47,10 +47,6 @@ Lo que **no** se ha probado todavía: - **Supervivencia larga en segundo plano.** El backend corre como servicio en primer plano, que es lo que debe garantizarlo, pero no se ha medido tras horas. -## Un participante por nodo en las llamadas - -Dos pestañas del mismo Oasis comparten identidad y no se enlazan entre sí. - ## Y lo que se descartó a propósito - **Subtemas en el foro**: la rama tenía un intento a medias que además rompía los diff --git a/Llamadas.md b/Llamadas.md index 1759149..589f960 100644 --- a/Llamadas.md +++ b/Llamadas.md @@ -159,12 +159,28 @@ servidor web. Sin esa línea, tu TURN es una puerta a tus propios servicios. Compruébalo con `turnutils_uclient` contra una IP privada y contra la IP pública del servidor: **las dos deben fallar**. +## Probado entre dos participantes + +Dos navegadores distintos en la misma sala, cada uno con su cámara. A la derecha, el +vídeo que llega del otro participante, con su reloj corriendo. + +Lo que ocurre por debajo, leído de la señalización de la sala: + +1. Los dos anuncian su presencia (`hello`). +2. Se abre primero un **canal de datos**, y el indicador pasa de *server relay* (punto + gris) a **🔒 P2P (WebRTC)** en verde: desde ahí, los mensajes de la sala van + directos entre navegadores sin tocar el servidor. +3. Al pulsar **Llamar** se renegocia añadiendo `audio` y `video`, y el otro lado + responde. Comprobado en el SDP intercambiado. + +Los participantes se identifican por navegador, no por identidad de SSB: dos +navegadores del mismo nodo también se enlazan entre sí, que es como está hecha esta +prueba. + ## Limitaciones honestas -- **Un participante = un nodo.** Dos pestañas del mismo Oasis comparten identidad y no - se enlazan entre sí. Para probar de verdad hacen falta dos nodos distintos. - **Sin TURN, con datos móviles casi nunca conectará.** El CGNAT de los operadores lo - impide. + impide, y por eso hace falta el TURN del pub. - La señalización pasa por el servidor de la sala: un servidor comprometido podría colocarse en medio. La media va cifrada extremo a extremo, pero **quien controla la señalización controla con quién crees que hablas**. diff --git a/Roadmap.md b/Roadmap.md index 61fa245..2a99edd 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -33,8 +33,8 @@ Sin fechas: esto se hace cuando se puede. ## En curso -- Probar el envoltorio en un móvil real, y una llamada entre dos dispositivos - distintos. Es lo que separa a las videollamadas de estar terminadas. +- Probar el envoltorio en un móvil real. La llamada entre dos participantes ya está + comprobada (ver [Llamadas](Llamadas)); falta hacerla entre dos móviles físicos. - Poner en marcha un TURN en un pub para las llamadas fuera de la red local. ## Sin empezar