Chamadas em enxame
Objetivos
Esta página tem como objetivo descrever o funcionamento da chamada com grupos. Este método permitirá aos clientes fornecer chamadas para vários participantes com um histórico de texto partilhado. O protocolo tem de ser flexível, manter a compatibilidade com a pilha SIP e funcionar num ambiente distribuído. Este ambiente distribuído também traz alguns desafios, tais como possíveis condições de corrida (onde várias partes podem iniciar uma chamada ao mesmo tempo). Por último, uma vez que o Swarm pode ser utilizado por membros que utilizam apenas telemóveis, ou por empresas com servidores dedicados para misturar o vídeo, deve também ser capaz de funcionar com a melhor experiência possível em ambientes heterogéneos.
Definições
Um encontro misturará todas as chamadas de entrada autorizadas numa conferência.
Serão utilizados dois novos URIs para esta funcionalidade:
swarm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
rdv:accountUri/deviceId/conversationId/confId
Swarm’s profile is the profile of the swarm stored in a vCard (
profile.vcf
, see Conversation’s profile synchronization and Sincronização do perfil)rdvUri
é o URI padrão para um enxame, definido no Perfil do enxame
Nota: estes dois URIs permitem que o cliente faça uma chamada para se juntar a um encontro ou para iniciar uma chamada para um enxame, resultando na lógica descrita na próxima secção.
Fazer uma chamada num enxame
Fluxo proposto:
a: se for definido
rdvUri
:Chame-o
Se falhar, vá para b:
b: senão, se houver uma chamada ativa em curso:
Chame-o
Se falhar, vá para c:
c: ou então, hospedar um novo encontro e juntar-se a ele.
Além disso, pergunte aos utilizadores se querem ser os hospedeiros das próximas chamadas.
Para cada chamada, são adicionados dois commits pelo anfitrião da chamada no enxame. Um primeiro para anunciar que uma nova chamada está a começar e dar informações sobre quem é o anfitrião e o ID da conferência. E um segundo para anunciar que a chamada terminou (para que outros pares possam calcular quantas chamadas estão atualmente ativas) e para obter a duração da chamada a mostrar.
Chamadas recebidas para enxame
Ao receber uma nova chamada, o URI DEVE ser analisado. Se a chamada recebida for para um encontro atualmente alojado pelo dispositivo e o autor da chamada estiver autorizado a aderir, a chamada DEVE ser atendida e adicionada ao encontro atual
Definir um anfitrião para um enxame
Para definir um URI predefinido, o membro que pretende ser o anfitrião deve atualizar o perfil da conversa, que será sincronizado e validado pelos pares. No entanto, o anfitrião DEVE poder aceitar ou não ser o anfitrião e um membro com permissões suficientes DEVERÁ poder pedir a um dispositivo para ser o anfitrião. Este processo não está decidido para já.
Por enquanto, apenas o administrador pode adicionar um dos seus dispositivos como hospedeiro predefinido.
Futuro
Notificações de adesão?
Os membros do enxame que não estão numa chamada DEVERIAM poder saber quem está nas chamadas ativas.
Ponte SIP?
Uma vez que as conferências continuam a ser chamadas SIP mistas, continua a ser possível uma ponte SIP. No Perfil do enxame deve ser possível adicionar uma entrada SIP, tal como acontece com alguns sistemas VoIP populares)