Roadmap

Supranet Roadmap

Roadmap completo do projeto stCall — do estado atual até produção com checklist de todas as etapas.

Supranet Roadmap

Roadmap completo do projeto stCall para a Supranet, cobrindo todas as etapas desde o estado atual até a aplicação estar 100% em produção e disponível para uso comercial.

Última atualização: Fevereiro de 2026


Estado Atual do Projeto

O stCall encontra-se em estágio Beta/MVP — as funcionalidades principais de call center estão implementadas ponta a ponta.

O que já funciona

  • Autenticação JWT com controle de acesso por papel (agente/supervisor/admin)
  • Dashboard com estatísticas em tempo real
  • Discador e interface de chamadas via WebRTC (SIP.js)
  • Controles de chamada (mudo, espera, transferência, DTMF)
  • Histórico de chamadas com filtros
  • Gerenciamento de agentes (listar, buscar, filtrar, criar — parcial: criação de usuário não provisiona endpoint WebRTC automaticamente)
  • Dashboard administrativo com monitoramento de agentes em tempo real
  • Servidor WebSocket (Bun nativo) com integração Asterisk ARI
  • Rastreamento de chamadas e filas
  • Sincronização PJSIP com FreePBX
  • Configurações do usuário (aparência, áudio, notificações)
  • Documentação técnica completa em PT-BR

O que falta ou está incompleto

  • Gerenciamento de usuários completo — a criação de usuário não configura automaticamente o endpoint PJSIP, credenciais WebRTC e associação à fila no Asterisk/FreePBX. O usuário é criado no banco mas não consegue fazer/receber chamadas WebRTC
  • Exportação de relatórios — necessário exportar em CSV e PDF estilizado (com logo, cabeçalho, formatação profissional)
  • Transcrição de chamadas sob demanda — funcionalidade prometida para transcrever áudio de chamadas gravadas
  • URA (IVR) — menus de atendimento automático com roteamento por departamento/horário
  • Gravação de mensagens e personalização de áudio — upload/gravação de mensagens de URA, música de espera, anúncios de fila, mensagens de fora de expediente e voicemail
  • Papel Superadmin — interface dentro do stCall para configurar tudo que hoje depende do FreePBX (URA, áudios, troncos, filas, etc.)
  • Papel Wallboard (TV) — usuário dedicado que exibe apenas analytics em tempo real (status dos agentes), sem sidebar nem topbar, para uso em TVs no call center
  • Testes automatizados (unitários, integração, E2E)
  • Pipelines de CI/CD
  • Containerização do FreePBX (atualmente em VM)
  • Monitoramento e observabilidade (métricas, alertas)
  • Hardening de segurança para produção
  • Definição de nome comercial e identidade visual
  • Contratos e documentação jurídica
  • Estratégia de marketing e vendas

Fase 1 — Estabilização e Testes

Duração estimada: 3–4 semanas

Preparar o software para uso real com agentes do call center.

Checklist

Gerenciamento de Usuários (crítico)

Problema atual: A criação de agentes pelo painel admin insere o usuário no banco de dados, mas não provisiona tudo que é necessário para o agente fazer chamadas WebRTC. Itens faltantes no fluxo de criação:

  • Ao criar usuário, criar automaticamente o endpoint PJSIP no Asterisk/FreePBX (via API GraphQL ou AMI)
  • Gerar credenciais WebRTC (username/secret) e associar ao endpoint PJSIP
  • Configurar transport WebRTC (WSS) no endpoint criado
  • Associar o agente à(s) fila(s) de atendimento no Asterisk
  • Sincronizar dados entre banco stCall (PostgreSQL) e FreePBX (MySQL)
  • Ao editar usuário, refletir alterações no endpoint PJSIP
  • Ao desativar/remover usuário, remover ou desabilitar o endpoint PJSIP correspondente
  • Testar fluxo completo: criar agente → agente faz login → agente faz/recebe chamada WebRTC

Correções e Testes

  • Corrigir lookup de CDR/gravações (temporariamente desabilitado)
  • Implementar testes unitários para composables críticos (useWebRTCPhone, useCallHandler, useAuthAPI)
  • Implementar testes unitários para o backend (server.ts, call-tracker.ts, registry.ts)
  • Criar testes de integração para fluxo WebSocket (conexão → autenticação → eventos)
  • Criar testes E2E para fluxos principais (login → discar → atender → desligar)
  • Realizar teste de carga com 60+ conexões WebSocket simultâneas
  • Testar em todos os navegadores (Chrome, Firefox, Safari, Edge)
  • Resolver validação JWT simplificada (reforçar para produção)
  • Implementar rate limiting no servidor WebSocket
  • Adicionar IP whitelisting opcional
  • Revisar e corrigir tratamento de erros em todos os composables
  • Testar reconexão automática WebSocket e WebRTC sob falha de rede
  • Validar fluxo completo de chamadas entrantes (PSTN → Asterisk → agente)
  • Validar fluxo completo de chamadas saintes (agente → Asterisk → PSTN)

Fase 2 — Containerização do FreePBX

Duração estimada: 2–3 semanas

Situação atual: O FreePBX roda em uma VM em freepbx.supranet.com.br. O objetivo é migrar para container Docker para melhorar portabilidade, manutenção e consistência do ambiente.

Checklist

  • Avaliar imagens Docker existentes para FreePBX (ex: tiredofit/freepbx, build customizado)
  • Criar Dockerfile customizado para FreePBX com as configurações da Supranet
  • Configurar persistência de dados (gravações, banco de dados, configurações)
  • Migrar configurações PJSIP da VM para o container
  • Configurar volumes Docker para gravações de chamadas
  • Migrar banco de dados MySQL do FreePBX da VM para container
  • Configurar rede Docker para comunicação entre FreePBX, stcall-ws e PostgreSQL
  • Testar conectividade PSTN (troncos SIP) a partir do container
  • Testar WebRTC (WSS) com certificados SSL no container
  • Configurar STUN/TURN server para traversal de NAT
  • Realizar teste comparativo de qualidade de áudio (VM vs Container)
  • Documentar procedimento de backup e restauração
  • Criar docker-compose unificado com todos os serviços (FreePBX, stcall-app, stcall-ws, PostgreSQL, Traefik)
  • Testar deploy completo do stack em servidor limpo
  • Descomissionar a VM após validação completa em container

Fase 3 — Infraestrutura de Produção

Duração estimada: 2–3 semanas

Preparar a infraestrutura para deploy em produção com alta disponibilidade.

Checklist

  • Configurar Portainer para gerenciamento dos containers
  • Configurar Traefik como reverse proxy com SSL automático (Let's Encrypt)
  • Criar docker-compose de produção (sem volumes de desenvolvimento, sem devtools)
  • Configurar Dockerfile de produção para stcall-app (build otimizado, sem HMR)
  • Configurar Dockerfile de produção para stcall-ws (multi-stage build otimizado)
  • Implementar health checks em todos os serviços
  • Configurar backups automáticos (PostgreSQL, MySQL, gravações)
  • Implementar rotação de logs
  • Configurar monitoramento com Prometheus + Grafana (ou stack equivalente)
  • Criar alertas para: servidor WebSocket down, Asterisk desconectado, banco de dados inacessível
  • Configurar métricas de performance (tempo de resposta, chamadas ativas, uso de CPU/memória)
  • Definir domínio de produção e configurar DNS
  • Configurar firewall (liberar apenas portas necessárias: 443, 8089, 3001, SIP/RTP)
  • Implementar WAF (Web Application Firewall) se necessário
  • Documentar runbook de operações (procedimentos para incidentes comuns)

Fase 4 — CI/CD e DevOps

Duração estimada: 1–2 semanas

Automatizar o processo de build, teste e deploy.

Checklist

  • Criar repositório Git unificado ou definir estratégia de monorepo vs multi-repo
  • Configurar GitHub Actions (ou GitLab CI) para stcall-app
    • Pipeline: lint → build → test → deploy
  • Configurar GitHub Actions para stcall-ws
    • Pipeline: lint → test → build → deploy
  • Configurar pipeline para docs
    • Pipeline: build → deploy
  • Implementar deploy automático via Portainer webhook ou SSH
  • Configurar ambientes separados (staging e produção)
  • Implementar versionamento semântico (semver)
  • Configurar changelog automático baseado em commits
  • Criar processo de rollback documentado
  • Configurar notificações de deploy (Slack, email, etc.)

Fase 5 — Funcionalidades Complementares

Duração estimada: 8–11 semanas (várias trilhas podem rodar em paralelo)

Completar funcionalidades que estão parcialmente implementadas, prometidas, ou faltando.

Checklist

Exportação de Relatórios

  • Implementar exportação CSV com dados completos (histórico de chamadas, métricas de agentes, analytics)
  • Implementar geração de PDF estilizado com:
    • Logo da empresa e cabeçalho profissional
    • Tabelas formatadas com cores e estilos
    • Gráficos embutidos (resumo visual dos dados)
    • Rodapé com data de geração, período do relatório e paginação
  • Avaliar biblioteca para geração de PDF (ex: jsPDF, pdfmake, ou geração server-side com puppeteer/playwright)
  • Permitir escolha de formato (CSV ou PDF) na interface de exportação
  • Permitir seleção de colunas/dados a incluir no relatório

Transcrição de Chamadas sob Demanda

  • Avaliar e escolher engine de Speech-to-Text (ex: Whisper da OpenAI, Google Speech-to-Text, Azure Speech)
  • Implementar endpoint no backend para solicitar transcrição de uma gravação
  • Criar worker/job assíncrono para processar transcrições (não bloquear o servidor principal)
  • Armazenar transcrições no banco de dados vinculadas à chamada
  • Implementar UI para solicitar transcrição a partir do histórico de chamadas
  • Exibir transcrição com timeline (timestamps por trecho de fala)
  • Permitir busca textual nas transcrições (encontrar chamadas por conteúdo falado)
  • Implementar indicador de status da transcrição (pendente, processando, concluída, erro)
  • Considerar custos de API de transcrição e implementar limites/quotas se necessário

URA (IVR) — Unidade de Resposta Audível

Pode rodar em paralelo com as demais funcionalidades desta fase.

  • Definir fluxos de URA padrão para a Supranet (ex: "Pressione 1 para vendas, 2 para suporte...")
  • Implementar editor visual de fluxo URA no painel admin (drag-and-drop ou formulário estruturado)
  • Configurar dialplan no Asterisk para execução dos fluxos de URA
  • Suporte a menus multinível (sub-menus aninhados)
  • Suporte a roteamento por horário (horário comercial vs fora de expediente)
  • Suporte a roteamento por fila/departamento
  • Integrar URA com filas de atendimento existentes
  • Implementar fallback (timeout, opção inválida) com redirecionamento configurável
  • Testar fluxo completo: chamada PSTN → URA → seleção → fila → agente

Gravação de Mensagens e Personalização de Áudio

Pode rodar em paralelo com as demais funcionalidades desta fase.

  • Implementar interface para upload de arquivos de áudio customizados (formato WAV/MP3)
  • Implementar gravador de mensagens integrado no navegador (gravar direto pelo painel admin)
  • Converter áudios enviados para formato compatível com Asterisk (WAV 16-bit 8kHz mono, via sox ou ffmpeg)
  • Gerenciamento de biblioteca de áudios (listar, reproduzir, renomear, excluir)
  • Categorizar áudios por tipo:
    • Mensagens de URA (saudação, menus, opções)
    • Música de espera (hold music)
    • Mensagem de fila de espera ("Sua chamada é importante para nós...")
    • Mensagem de fora de expediente
    • Mensagem de voicemail (saudação da caixa postal)
    • Anúncios periódicos em fila ("Você é o próximo da fila...")
  • Associar áudios aos pontos de uso no Asterisk (MOH class, URA prompts, queue announcements)
  • Implementar pré-visualização/playback de áudio antes de aplicar
  • Permitir áudio padrão do sistema com opção de sobrescrever por áudio customizado
  • Sincronizar arquivos de áudio com o Asterisk/FreePBX (upload para diretório correto do container)

Papel Superadmin — Interface de Configuração do FreePBX

Tudo abaixo já pode ser feito diretamente pelo FreePBX, mas o objetivo é trazer essas configurações para dentro do stCall, acessível apenas por um usuário com papel superadmin. Isso elimina a necessidade de acessar o painel do FreePBX para operações do dia a dia.

  • Criar papel superadmin no sistema de autenticação (acima de admin)
  • Implementar rota /superadmin com guard de acesso exclusivo
  • Criar seção de configuração de troncos SIP (visualizar, testar conectividade)
  • Criar seção de gerenciamento de filas de atendimento (criar, editar, remover filas, definir estratégia de distribuição)
  • Criar seção de gerenciamento de URA/IVR (editor de fluxos — vinculado à seção URA acima)
  • Criar seção de gerenciamento de áudios do sistema (vinculado à seção Áudio acima)
  • Criar seção de configuração de gravação de chamadas (habilitar/desabilitar, formato, retenção)
  • Criar seção de configuração de horários de funcionamento (dias da semana, feriados, exceções)
  • Criar seção de gerenciamento de extensões/ramais (PJSIP endpoints, codecs, transport)
  • Implementar comunicação com FreePBX via API GraphQL e/ou AMI para aplicar as configurações
  • Implementar log de auditoria para todas as ações do superadmin
  • Testar que alterações feitas via stCall refletem corretamente no Asterisk/FreePBX

Papel Wallboard (TV) — Dashboard de Monitoramento

Usuário dedicado para exibição em televisores no call center. Interface minimalista: sem sidebar, sem topbar — apenas o painel de analytics em tempo real, em tela cheia.

  • Criar papel wallboard no sistema de autenticação
  • Criar layout dedicado wallboard.vue (sem AppSidebar, sem TopBar, fundo escuro otimizado para TV)
  • Criar rota /wallboard que usa o layout dedicado
  • Após login de um usuário wallboard, redirecionar automaticamente para /wallboard
  • Exibir em tempo real:
    • Status de todos os agentes (disponível, em chamada, em pausa, offline) com indicadores visuais grandes
    • Total de chamadas ativas no momento
    • Tempo médio de espera na fila
    • Chamadas em fila aguardando atendimento
    • Métricas do dia (total de chamadas atendidas, abandonadas, tempo médio de atendimento)
  • Auto-refresh dos dados via WebSocket (sem polling)
  • Modo tela cheia automático (fullscreen API)
  • Impedir timeout de sessão / screen saver (manter tela ativa)
  • Layout responsivo para diferentes tamanhos de TV (43", 55", etc.)
  • Tema escuro fixo (otimizado para legibilidade à distância)

Funcionalidades de Chamada

  • Implementar UI de transferência de chamada (backend já pronto)
  • Implementar UI de conferência/bridge (backend já pronto)
  • Implementar sistema de voicemail
  • Implementar gravação sob demanda (iniciar/parar gravação durante chamada)
  • Adicionar notificações push no navegador para chamadas entrantes
  • Implementar fila de espera com música de espera configurável
  • Adicionar suporte a múltiplas filas de atendimento

Analytics e Operação

  • Completar módulo de analytics/relatórios com gráficos detalhados
  • Implementar sistema de pausas/breaks para agentes
  • Adicionar integração com CRM (API genérica para consulta de dados do cliente)

Fase 6 — Segurança e Compliance

Duração estimada: 2 semanas

Garantir que a aplicação atende requisitos de segurança e conformidade.

Checklist

  • Auditoria de segurança do código (OWASP Top 10)
  • Implementar HTTPS em todas as comunicações
  • Revisar e reforçar autenticação JWT (rotação de tokens, refresh tokens)
  • Implementar auditoria de ações administrativas (log de quem fez o quê)
  • Configurar política de senhas fortes
  • Implementar bloqueio de conta após tentativas de login falhas
  • Validar conformidade com LGPD (Lei Geral de Proteção de Dados)
    • Termo de consentimento para gravações
    • Política de retenção de dados
    • Mecanismo de exclusão de dados pessoais
  • Documentar política de privacidade
  • Configurar Content Security Policy (CSP) headers
  • Revisar permissões de acesso ao banco de dados (princípio do menor privilégio)

Fase 7 — Naming, Identidade Visual e Marketing

Duração estimada: 3–4 semanas (pode rodar em paralelo com fases técnicas)

Definir a identidade do produto para uso interno e futuro comercial.

Checklist

Naming

  • Definir nome comercial do produto (opções: stCall, SupraCall, ou outro)
  • Verificar disponibilidade de domínio para o nome escolhido
  • Verificar registro de marca no INPI
  • Registrar domínio comercial
  • Registrar marca no INPI (se aplicável)

Identidade Visual

  • Criar logotipo do produto
  • Definir paleta de cores oficial (baseada no laranja Supranet ou nova)
  • Criar manual de identidade visual (guia de marca)
  • Aplicar identidade visual no stcall-app (logo, favicon, splash screen)
  • Aplicar identidade visual na documentação
  • Criar templates de e-mail com branding

Marketing

  • Criar landing page comercial do produto
  • Elaborar material de apresentação comercial (pitch deck)
  • Criar documentação de funcionalidades para clientes (feature list)
  • Produzir vídeo de demonstração do produto
  • Definir tabela de preços e planos (se houver comercialização)
  • Criar comparativo com concorrentes

Fase 8 — Contratos e Documentação Jurídica

Duração estimada: 2–3 semanas (pode rodar em paralelo)

Preparar toda a documentação legal para uso interno e comercialização.

Checklist

Contratos Internos

  • Contrato de desenvolvimento e propriedade intelectual (PI)
  • Acordo de nível de serviço interno (SLA) com a equipe de operações
  • Definir responsabilidades de manutenção e suporte
  • Documentar SLA de disponibilidade do sistema (ex: 99.5% uptime)

Contratos Comerciais (para venda)

  • Elaborar Termos de Uso do serviço
  • Elaborar Política de Privacidade (alinhada com LGPD)
  • Criar modelo de contrato de licenciamento de software (SaaS ou on-premise)
  • Definir SLA comercial para clientes (tempo de resposta, uptime garantido)
  • Elaborar contrato de suporte técnico
  • Criar NDA (acordo de confidencialidade) modelo para clientes

Telecomunicações

  • Verificar necessidade de registro na ANATEL para serviço de VoIP
  • Verificar regulamentação de gravação de chamadas (obrigações legais)
  • Documentar conformidade com regulamentações de telecomunicações

Fase 9 — Deploy em Produção e Go-Live

Duração estimada: 1–2 semanas

O grande dia — colocar o sistema em produção para uso real.

Checklist

Pré-Deploy

  • Todos os testes passando (unitários, integração, E2E)
  • Revisão final de segurança aprovada
  • Backup completo do ambiente atual (VM FreePBX)
  • Documentação de rollback pronta
  • Equipe de suporte treinada
  • Agentes treinados no uso do sistema

Deploy

  • Deploy do stack completo no servidor de produção
  • Configurar DNS e certificados SSL
  • Migrar configurações do Asterisk/FreePBX
  • Validar conectividade PSTN (troncos SIP)
  • Testar chamada entrante end-to-end em produção
  • Testar chamada sainte end-to-end em produção
  • Testar gravação de chamadas em produção
  • Validar monitoramento e alertas funcionando
  • Validar backups automáticos funcionando

Pós-Deploy

  • Monitorar sistema nas primeiras 48h (modo vigilância intensiva)
  • Coletar feedback dos agentes e supervisores
  • Corrigir bugs críticos identificados
  • Ajustar performance conforme necessidade
  • Descomissionar a VM do FreePBX (após período de estabilização)

Fase 10 — Operação Contínua e Evolução

Duração: Contínua

Manter o sistema saudável e evoluir conforme demanda.

Checklist

  • Estabelecer ciclo de releases (ex: releases quinzenais)
  • Implementar sistema de feedback dos usuários dentro da aplicação
  • Monitorar métricas de uso e performance semanalmente
  • Planejar sprints de melhorias baseado em feedback
  • Manter documentação atualizada a cada release
  • Realizar auditorias de segurança periódicas (trimestral)
  • Atualizar dependências regularmente (Nuxt, PrimeVue, SIP.js, Bun)
  • Avaliar necessidade de escalabilidade (múltiplos servidores WebSocket, load balancing)
  • Expandir para documentação em inglês (se houver clientes internacionais)
  • Avaliar integração com plataformas adicionais (WhatsApp, chat, email)

Resumo das Fases

FaseDescriçãoDuração (pior caso)Dependências
1Estabilização e Testes4 semanas
2Containerização do FreePBX3 semanas
3Infraestrutura de Produção3 semanasFase 2
4CI/CD e DevOps2 semanasFase 1
5Funcionalidades (relatórios, transcrição, URA, áudio, superadmin, wallboard)11 semanasFase 1
6Segurança e Compliance2 semanasFase 1, 3
7Naming, Identidade Visual e Marketing4 semanasPode iniciar a qualquer momento
8Contratos e Documentação Jurídica3 semanasFase 7 (naming)
9Deploy em Produção e Go-Live2 semanasFases 1–6
10Operação ContínuaContínuaFase 9

Cenário pessimista (pior caso, sem paralelismo)

Soma total sequencial: 4 + 3 + 3 + 2 + 11 + 2 + 4 + 3 + 2 = 34 semanas

Cenário realista (com paralelismo máximo)

Semana 1–4:   [Fase 1: Estabilização + User Mgmt] + [Fase 2: FreePBX Container] + [Fase 7: Naming/Marketing]
Semana 4–7:   [Fase 3: Infraestrutura] + [Fase 4: CI/CD] + [Fase 7: continuação]
Semana 7–18:  [Fase 5: Relatórios + Transcrição + URA + Áudio + Superadmin + Wallboard]
              + [Fase 6: Segurança] + [Fase 8: Contratos]
              ↳ Todas as trilhas da Fase 5 rodam em paralelo entre si
Semana 18–20: [Fase 9: Deploy e Go-Live]
Semana 20+:   [Fase 10: Operação Contínua]

Tempo estimado realista até go-live: 18–22 semanas


Data-Alvo de Entrega

Considerando o pior cenário (34 semanas) + 3 semanas de margem de segurança = 37 semanas a partir de 18/02/2026:

Data-alvo: 3 de novembro de 2026

Esta data contempla o pior cenário possível (zero paralelismo) com 3 semanas adicionais de buffer para imprevistos.

No cenário realista (com paralelismo), a entrega pode ocorrer já em meados de julho de 2026.

Copyright © 2026