Llamadas en el grupo
Objetivos
Este método permite a los clientes proporcionar llamadas para múltiples participantes con un historial de texto compartido. El protocolo debe ser flexible, mantener la compatibilidad con la pila SIP, adn debe trabajar en un entorno distribuido. Este entorno distribuido también trae algunos desafíos, como posibles condiciones de carrera (donde múltiples partes pueden iniciar una llamada al mismo tiempo). Finalmente, debido a que el Swarm puede estar con miembros que solo usan móviles, o por empresas con servidores dedicados para mezclar el video, también debe ser capaz de trabajar con la mejor experiencia posible en entornos heterogéneos.
Definiciones
Un Rendezvous mezclará todas las llamadas entrantes autorizadas en una conferencia.
Se utilizarán dos nuevos URI para esta función:
`swarm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
`rdv:accountUri/dispositivoId/conversaciónId/confId]]
Swarm’s profile es el perfil del enjambre almacenado en una vCard (
profile.vcf``, ver {doc}
Conversation’s profile synchronizationy {doc}
synchronizing-profiles`)rdvUri
es el URI predeterminado de un grupo, establecido en el perfil del grupo*
Nota: estos dos URI permiten al cliente realizar una llamada para unirse a un Rendezvous o iniciar una llamada a un enjambre, lo que resulta en la lógica descrita en la siguiente sección.
Haga una llamada en un grupo
Flujo propuesto:
a: Si se establece
rdvUri
:Llámenlo.
Si no lo ha hecho, vaya a b:
b: en caso de que haya una llamada activa actual:
Llámenlo.
Si no lo ha hecho, vaya a c:
Si no, organice un nuevo «Rendezvous» y únete a él.
También, pregúntale a los usuarios si quieren ser el anfitrión para las próximas llamadas.
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Para cada llamada, el host de la llamada agrega dos confirmaciones en el enjambre. Una primera para anunciar que se está iniciando una nueva llamada y dar información sobre quién es el anfitrión y la identificación de la conferencia. Y una segunda para anunciar que la llamada ha finalizado (para que otros pares puedan calcular cuántas llamadas están activas actualmente) y mostrar la duración de la misma.
Llamadas de entorno para el enjambre
Cuando se recibe una nueva llamada entrante, el URI DEBE ser analizado. Si la llamada entrante es para un Rendezvous que actualmente está alojado por el dispositivo y el llamador está autorizado a unirse, la llamada DEBE ser contestada y añadida al actual Rendezvous
Definir un anfitrión para un cúmulo
Para definir un URI predeterminado, el miembro que quiera ser el anfitrión debe actualizar el perfil de la conversación, y esto será sincronizado y validado por pares. Sin embargo, el anfitrión DEVE ser capaz de aceptar o no ser el anfitrión y un miembro con suficientes permisos DEVE ser capaz de pedir a un dispositivo que sea el anfitrión. Este proceso no se ha decidido por ahora.
Por ahora, solo el administrador puede agregar uno de sus dispositivos como host predeterminado.
El futuro
¿Asociarse a las notificaciones?
Los miembros del enjambre que no están en una llamada DEVEN ser capaces de saber quién está en las llamadas activas.
¿Puente de la SIP?
Debido a que las conferencias siguen siendo llamadas mixtas SIP, un puente SIP sigue siendo posible. En el perfil de Swarm debería ser posible añadir una entrada SIP, como algunos sistemas VoIP populares)