Child pages
  • Recebendo eventos a partir do websocket do Q-Manager
Skip to end of metadata
Go to start of metadata

É possível receber eventos que são disponibilizado pelo Q-Manager por meio de websocket, assim é possível desenvolver dashboard específicos para cada ambiente de trabalho.


Conexão

Para receber eventos por socket é necessário se conectar ao socket server informando o IP do servidor e a porta 5000. Exemplo: 192.168.10.252:5000.


Funcionamento

 O socket client pode tanto enviar como receber eventos.

Quando se deseja enviar um evento é necessário efetuar uma função chamada de emit. Exemplo: socket.emit('connect'). Neste caso o socket client solicitou ao server a conexão com o socket por meio do connect.

Quando se deseja fica observando o evento é necessário efetuar a função on. Exemplo: socket.on('reconnect'). Neste caso quando o socket server enviar o evento reconnect os clients receberão caso esteja "ouvindo" este evento.

Eventos

EventoDescriçãoResponseParâmetros
connectEvento inicial para se conectar com o socket server.  
reconnect

Evento gerado pelo server quando se perde a primeira conexão e há a opção de reconexão automática.

  
connect_errorQuando há algum erro na conexão do socket server e client.  
queuestatus

 

 

name: Nome da Fila.

strategy: Estratégia de distribuição da fila.

abandoned: Número de chamadas abandonadas desde que o asterisk começou a rodar.

answered: Número de chamadas atendidas desde que o asterisk começou a rodar.

calls: Quantidade de chamadas aguardando no momento.

members: Membros da fila que pode ser estáticos(ramais fixos) ou dinâmicos(operadores).

name: Nome do operador.

agent: Código do operador.

endpoint: Ramal do operador.

calls: Chamadas atendidas pelo operador.

status: Status do operador no momento. Códigos para status

paused: Caso esteja 1 o operador está em pausa no momento. O valor 0 significa que o mesmo está disponível.

membertype: Tipo de membro.

priority: Prioridade de atendimento na fila.

id: Ramal do operador sem a tecnologia.

peerstatusVerifica quando algum ramal perde autenticação. É chamado tambḿ quando o ramal consegue autenticação.

event: Nome do evento.

privilege: Privilégio do ramal.

channeltype: Tecnologia do ramal

peer: Código do Ramal

peerstatus: Situação do ramal. Poderá ser Registered(Registrado), Unregistered(Não registrado), Unknown(Desconhecido) ou Unreachable(Inacessível)

address: IP do ramal.

queueevent

Eventos relacionados a fila:

  1. enterqueue - Ligação entrou na fila.
  2. queueanswer - Ligação atendida pela fila.
  3. queueabandon - Ligação saiu da fila por abando.
  4. queuetimeout - Ligação saiu da fila por passa o tempo limite.
  5. queuehangup - Ligação finalizada na fila.

Enterqueue:

 

Queueanswer(Mesmos dados do evento enterqueue)

uniqueid: Código único da chamada

callid: Código da chamada.

queue: Nome da fila

from: Número de origem

calldate: Data da ligação.

event: Nome do evento.

context: Contexto do asterisk.

exten: Extensão da chamada

callflow: Fluxo da chamada.

 

 

 

answerdate: Data do atendimento por um operador.

operator: Dados do operador como nome, ramal, código e tempo de ring.

state-ringingQuando a ligação está chamando no operador.
type: Tipo de chamada. Poderá ser incoming(chamada de entrada) ou outgoing(chamada de saída).
state-answerQuando a ligação é atendida pelo operador.
 
state-hangupQuando a ligação é finalizada.

Mesmo response do evento state-answer.

 

 
agentloginQuado o operador efetua login.
action: Ação efetuada.
agentlogoffqueueQuando o operador é retirado da fila.
 
agentlogoffQuando o operador é deslogado.
 
agentpauseQuando o operador efetua pausa.
pause_desc: Nome da pausa.
agentunpauseQuando o operador sai da pausa.
 

 

Tabelas

Códigos de status

CódigoOperador
1Operador livre
2 ou 3Operador ocupado
6Operador ringando
Demais códigoOperador não autenticado

 

 

Exemplo de socket client

 

Exemplo de socket client

 

 

  • No labels