B2BCall Bootstrap 675806314d docs: registrar liberação de SIP/RTP no firewall e confusão de senhas
Atualiza TODO.md/SECURITY.md para refletir a regra de nftables real (SIP/
RTP liberados para RFC1918, AMI/ARI seguem bloqueados incondicionalmente)
e documenta em TROUBLESHOOTING.md o caso completo: timeout de registro de
softphone causado pelo firewall + confusão entre senha de login web e
senha SIP do ramal (duas credenciais diferentes).
2026-08-27 21:33:32 -03:00
2026-08-27 10:17:07 -03:00
2026-08-27 12:23:02 -03:00

B2BCall

Plataforma de discagem preditiva / call center — monorepo TypeScript (Next.js + NestJS + PostgreSQL + Redis + Asterisk 22/PJSIP), construída e testada de ponta a ponta contra containers reais.

Stack

  • Frontend: Next.js 15 (App Router), React 19, Tailwind CSS v4.
  • Backend: NestJS 11 (Fastify), Prisma ORM.
  • Banco: PostgreSQL 17 (schemas public + asterisk).
  • Cache/coordenação: Redis 7 (CPS limiter, lock distribuído, EWMA de pacing).
  • Telefonia: Asterisk 22.10.1 (PJSIP, AMI, ARI, Realtime via ODBC).
  • Infra: Docker Compose, Nginx (reverse proxy único), nftables.

Início rápido

git clone <url> /opt/b2bcall
cd /opt/b2bcall
sudo ./scripts/install.sh

Ao final, a URL de acesso e o caminho do FIRST_LOGIN.txt (credenciais do primeiro acesso) são impressos no terminal. Detalhes em docs/INSTALL.md.

Documentação

Documento Conteúdo
docs/ARCHITECTURE.md Decisões de arquitetura, estrutura do monorepo, rede
docs/INSTALL.md Instalação passo a passo
docs/OPERATIONS.md Operação do dia a dia, atualização, escala
docs/BACKUP_RESTORE.md Backup e restore
docs/SECURITY.md Postura de segurança e checklist de aceite
docs/DATABASE.md Modelo de dados e decisões de schema
docs/API.md Referência de rotas da API
docs/ASTERISK.md Configuração e diagnóstico do Asterisk
docs/OPENSIPS.md Por que não foi implantado nesta fase
docs/PREDICTIVE_DIALER.md Algoritmo do discador preditivo
docs/TROUBLESHOOTING.md Problemas reais encontrados e soluções
docs/RELATORIO_FINAL.md Relatório final de aceite do projeto
CHANGELOG.md O que foi entregue em cada fase
TODO.md Checklist detalhado, item a item, com notas de teste

Estrutura

apps/
  frontend         Next.js — interface web completa
  api              NestJS — REST, autenticação, RBAC, telefonia, relatórios
  dialer-worker    Motor do discador preditivo
  asterisk-events  Conector AMI dedicado (eventos → Postgres/Redis)
packages/
  database         Schema Prisma + migrations
  shared           Utilitários compartilhados (permissões, criptografia)
  telephony        Client AMI/ARI próprio
infrastructure/
  asterisk         Configuração do Asterisk
  nginx            Reverse proxy
  postgres         Scripts de inicialização (schemas public + asterisk)
  docker           Dockerfiles
  nftables         Regras de firewall
scripts/           install.sh, update.sh, backup.sh, restore.sh, healthcheck.sh

Desenvolvimento

pnpm install
pnpm -r build      # build de todos os pacotes/apps
pnpm -r test       # testes unitários (dialer-worker + api)
pnpm --filter @b2bcall/api lint

Ambiente de referência

Construído e validado em Debian 13 (trixie), 2 vCPU / 1.9 GiB RAM — ver docs/ARCHITECTURE.md §1 para as implicações dessa restrição nas decisões de arquitetura. Recomendado 4 vCPU / 8 GiB RAM para produção com volume real de discagem.

Description
No description provided
Readme 2.1 MiB
Languages
TypeScript 95.4%
Shell 2.1%
Dockerfile 1.4%
CSS 0.6%
Smarty 0.3%
Other 0.2%