Fluxo de Sistema — Lorentz Server¶
1. Ciclo principal do servidor¶
O servidor executa um ciclo contínuo a cada segundo, processando todas as operações em sequência:
┌─────────────────────────────────────────────────┐
│ Ciclo do Servidor (1s) │
│ │
│ 1. Aceitar novas conexões │
│ ├── Serviço (Supervisor web) │
│ ├── Agentes (aplicativo desktop) │
│ ├── Agentes web (via banco de dados) │
│ └── URA (IVR) │
│ │
│ 2. Processar comandos recebidos │
│ ├── Pacotes de agentes (desktop e web) │
│ ├── Pacotes do monitor externo │
│ └── Pacotes XML da URA │
│ │
│ 3. Processar centrais telefônicas │
│ └── Eventos de cada central conectada │
│ │
│ 4. Distribuir chamadas │
│ ├── Ordenar fila por ordem de chegada │
│ ├── Avaliar fluxo de roteamento │
│ └── Transferir para agente disponível │
│ │
│ 5. Atualizar informações de fila │
│ ├── Enviar status para supervisores │
│ └── Enviar status para agentes │
└─────────────────────────────────────────────────┘
2. Fluxo de uma chamada receptiva¶
Chamada chega Central detecta Servidor recebe
na linha ──────────► evento de ────────────► e identifica
telefônica chamada entrante o serviço
│
▼
┌─────────────────┐
│ Chamada entra │
│ na fila de │
│ espera (QUEUED) │
└────────┬────────┘
│
▼
┌─────────────────┐ Sim ┌──────────────────┐
│ Há agente livre ├────────────►│ Transfere para │
│ no grupo? │ │ o agente (o mais │
└────────┬────────┘ │ tempo livre) │
│ Não └──────────────────┘
▼
┌─────────────────┐ Sim ┌──────────────────┐
│ Tempo de ├────────────►│ Avança para │
│ transbordo │ │ próxima etapa │
│ expirou? │ │ do fluxo │
└────────┬────────┘ └──────────────────┘
│ Não
▼
Permanece na
fila aguardando
3. Fluxo de roteamento (distribuição inteligente)¶
O fluxo de roteamento é uma sequência de etapas configuradas no banco de dados. Cada etapa pode ser um destino ou uma condição:
Início do fluxo
│
▼
┌──────────────┐
│ Etapa 1: │ Agente ┌───────────────┐
│ Grupo A ├─── livre? ───►│ Transferir │
│ (transbordo │ Sim │ chamada │
│ 30 seg.) │ └───────────────┘
└──────┬───────┘
│ Não (após 30s)
▼
┌──────────────┐
│ Etapa 2: │ Dentro do ┌──────────────┐
│ Horário ├──── horário? ──►│ Ir para │
│ 08:00-18:00 │ Sim │ etapa 3 │
└──────┬───────┘ └──────────────┘
│ Não
▼
┌──────────────┐
│ Etapa 4: │
│ Desligar │
│ chamada │
└──────────────┘
Tipos de etapas do fluxo¶
| Tipo | Comportamento |
|---|---|
| Grupo | Procura agente livre no grupo. Se não encontrar, aguarda o tempo de transbordo |
| Agente | Procura um agente específico. Se não estiver livre, aguarda transbordo |
| Ramal | Tenta transferir para um ramal fixo. Se ocupado, aguarda transbordo |
| Grupo de ramais | Distribui em rodízio circular entre ramais de um grupo |
| Horário | Avalia se o horário atual atende à condição configurada (=, >, <, >=, <=, <>) |
| Período | Avalia se o momento está dentro de um intervalo de datas/horas |
| Dia da semana | Avalia se o dia da semana corresponde ao configurado |
| DDD | Verifica se o DDD de origem corresponde ao valor configurado |
| Telefone | Verifica se o número de origem corresponde ao valor configurado |
| Desligar | Encerra a chamada |
| Ignorar | Ignora a chamada (não processa) |
Condição verdadeira/falsa¶
Etapas condicionais possuem dois caminhos:
- Verdadeiro: segue para a etapa indicada em "Sequência Verdadeiro"
- Falso: segue para a etapa indicada em "Sequência Falso"
- Se qualquer caminho estiver em branco, o fluxo é encerrado
4. Fluxo de login do agente¶
Agente envia Servidor valida Servidor configura
login, senha, ─────► credenciais no ──────► permissões:
grupo, ramal banco de dados - Ativo (fazer chamadas)
- Receptivo
- Receptivo prioritário
│
▼
┌─────────────────┐
│ Registra estado │
│ de login no │
│ banco de dados │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Envia resposta │
│ com: │
│ - DDD local │
│ - Operadora │
│ - Caminho de │
│ gravação │
│ - Permissões │
│ - Versão server │
└─────────────────┘
5. Fluxo de pausa¶
┌──── Pausa eventual ────┐
│ (intervalo pessoal) │
│ │
Agente ──┤ ├── Servidor verifica se
disponí- │ │ o número máximo de
vel │ │ agentes em pausa
│ │ do grupo foi atingido
├──── Pausa produtiva ───┤
│ (treinamento, etc.) │
│ + Motivo da pausa │
└────────────────────────┘
│
▼
Agente é removido
da distribuição
automática de chamadas
6. Fluxo de integração com URA¶
┌───────────┐ ┌──────────────┐ ┌───────────────┐
│ URA │ XML │ Lorentz │ Screen │ Agente │
│ (IVR) ├────────►│ Server ├────────►│ (tela do │
│ │ │ │ Pop │ operador) │
└───────────┘ └──────────────┘ └───────────────┘
Ações possíveis:
1. SCREEN POP: URA envia dados (CPF, opção de menu, etc.)
→ Servidor associa ao callId da chamada
→ Quando chamada é atendida, dados aparecem na tela do agente
2. PESQUISA: URA consulta código de chamada por ramal
→ Servidor retorna o código se existir chamada ativa
3. RESPOSTA: URA informa resultado da navegação
→ Servidor grava no registro da chamada
7. Fluxo de monitoramento em tempo real¶
┌───────────────────────────────────────────────────┐
│ Lorentz Server │
│ │
│ A cada mudança de estado de agente/ramal: │
│ │
│ ┌─────────────┐ ┌──────────────┐ │
│ │ Envia para │ │ Envia para │ │
│ │ Supervisores│ │ Monitor CTI │ │
│ │ (TCP) │ │ (UDP) │ │
│ └──────┬──────┘ └──────┬───────┘ │
└─────────┼──────────────────┼───────────────────────┘
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Painel do │ │ Monitor CTI │
│ Supervisor │ │ (externo) │
│ (web) │ │ │
└───────────────┘ └───────────────┘
Dados enviados por agente:
- Usuário e grupo
- Ramal
- Estado do agente (livre, pausa, etc.)
- Estado do ramal (livre, ocupado, etc.)
- Horários (login, estado atual, ramal)
- Contadores (chamadas, pausas)
- Tempos acumulados em cada estado
- Telefone do interlocutor
- Serviço em atendimento
8. Fluxo de agente web (sem aplicativo desktop)¶
Agentes web se comunicam com o servidor através do banco de dados (tabela de situação CTI), sem necessidade de conexão TCP direta:
┌───────────┐ Grava comando ┌──────────────┐
│ Agente ├────────────────────►│ Tabela de │
│ (web) │ na tabela │ Situação │
└───────────┘ │ CTI │
└──────┬───────┘
│
Servidor lê a cada 1s │
▼
┌──────────────┐
│ Lorentz │
│ Server │
└──────┬───────┘
│
Grava resposta │
na tabela ▼
┌──────────────┐
┌───────────┐ Lê resposta │ Tabela de │
│ Agente │◄────────────────────┤ Situação │
│ (web) │ │ CTI │
└───────────┘ └──────────────┘
Última atualização: Junho 2025