Please enable JavaScript.
Coggle requires JavaScript to display documents.
ROTINA APP - START VIDEO CALL, ROTINA OMNIA - RECEIVE VIDEO CALL - Coggle…
ROTINA APP - START VIDEO CALL
APP
se conecta via socket e faz o
login
no NodeJS através da url '
do_login
'.
PS: É criada uma
room
com o socket.id
No
NodeJS
ele coloca esse usuário em
clients
e retorna o mesmo objeto para o APP como callback.
Inicia a conexão com
PEER
assim que abre a página.
Inicia a captura do
stream
do APP e já fica pronto para enviar para o
OMNIA
. (Ele ainda não está enviando, precisa do
OMNIA
chamar ele para estabelecer uma conexão p2p).
Usuário clica em "
CHAMAR VENDEDOR
". Envia para o
NodeJS
, através da url '
calling
' um json contendo:
peer_id, produto e hora.
NodeJS
vai emitir para o
OMNIA
, através da url
'has_call'
, passando esse
JSON
.
NodeJS
guarda esse
JSON
dentro do objeto de login desse usuário. Na variável de controle do
NodeJS
.
NodeJS
vai emitir para o
OMNIA
, através da url '
refresh_list_clients
', passando todos os clientes que tem peer.id válido. Isso é usado para atualizar a lista de clientes esperando para ser atendidos, no caso o vendedor escolhe um deles e clica para estabelecer comunicação p2p.
APP
inícia o
BEEP
de chamada.
APP
fica ouvindo a url
'receive_peer_origin'
, a qual manda como parâmetro um peer.id, que é do
OMNIA
que está tentando estabelecer uma comunicação p2p.
APP
salva o peer do
OMNIA
.
APP
emite na url
'send_peer_destiny'
, passando como parâmetro o
peer.id do APP
.
NodeJS
emite para
'receive_peer_destiny'
passando como parâmetro o
peer.id do APP
. Essa url é ouvida no
OMNIA
APP
inicia a conexão p2p com o
OMNIA
.
PS: Nesse momento o
APP
já consegue enviar seu stream para o
OMNIA
, mas o
OMNIA
ainda não consegue, porque não estabeleceu a comunicação ainda, ela é feita dos dois lados.
ROTINA OMNIA - RECEIVE VIDEO CALL
OMNIA
se conecta no socket
MAS NÃO FAZ LOGIN
, ou seja, ele não é salvo na variável
clients
do
NodeJS
.
PS: Isso fica na base, portanto roda em todas as páginas.
OMNIA
fica ouvindo a url
'has_call'
, caso seja ativo ele inicia um setInterval tocando o
PATO
e mostra um
TOAST
informando que tem ligação pendente.
OMNIA
fica ouvindo a url
'stop_quack'
, caso seja ativo ele limpa todos
TOASTS
e para o setInterval.
Page: LIGAÇÃO
OMNIA
fica ouvindo a url
'refresh_list_clients'
, quando ativa ela atualiza a lista de ligações pendentes, as quais o vendedor pode selecionar para atendê-la.
OMNIA
inicializa o
PEER
.
Quando o vendedor
clica em uma chamada
para atendê-la, é emitido um socket para
'send_peer_orgin'
passando como parâmetro o peer.id do
OMINIA
.
NodeJS
vai emitir para o
APP
, através da url
'receive_peer_origin'
, passando como parâmetro o peer.id do
OMNIA
.
NodeJS
vai emitir para o
OMNIA
, atráves da url
'stop_quack'
, passando como parâmetro um nome.
OMNIA
fica ouvindo a url
'receive_peer_destiny'
. Caso ativa ela trás consigo o
peer do APP
.
OMNIA
salva o peer do
APP
.
OMNIA
estabelece uma comunicação com o
APP
.
PS: Agora ele capaz de pegar o stream do
APP
e mostrar em vídeo ao mesmo tempo que envia o seu próprio stream para o
APP
.