# B2BCall — OpenSIPS (não implementado nesta fase) A arquitetura alvo do projeto (agente.md seção 5) prevê OpenSIPS na frente do Asterisk: ```text INTERNET → [OpenSIPS] → rede SIP privada → [Asterisk] → [B2BCall] ``` **Este componente não foi implantado neste ciclo.** O Asterisk hoje recebe tráfego SIP diretamente (protegido por nftables, sem IP público — ver `docs/ARCHITECTURE.md` §3.2). Isso é suficiente para o ambiente de laboratório atual (um servidor, troncos configurados diretamente no Asterisk), mas não entrega os benefícios que OpenSIPS traria: - Balanceamento entre múltiplas instâncias de Asterisk. - Roteamento/normalização de múltiplos troncos antes de chegar ao core de telefonia. - Uma camada adicional de proteção SIP (rate limiting, topology hiding) antes do Asterisk. ## Por que não foi feito agora Motivo honesto: com um único servidor e um único Asterisk, OpenSIPS não resolve nenhum problema real deste ambiente — adicionaria complexidade operacional (mais um serviço com seu próprio config/estado/observabilidade) sem benefício imediato. A decisão de projeto (agente.md seções 71/72) é não construir infraestrutura para um cenário hipotético que ainda não existe. ## Quando reconsiderar Implantar OpenSIPS quando pelo menos uma destas condições existir: 1. Mais de uma instância de Asterisk precisar compartilhar o mesmo conjunto de troncos/roteamento. 2. Necessidade de expor SIP a múltiplas operadoras com normalização de roteamento antes do Asterisk. 3. Volume que justifique uma camada de proteção SIP dedicada, separada do Asterisk. ## Esboço de integração futura - OpenSIPS ficaria na mesma rede privada do Asterisk (nunca IP público direto no Asterisk — isso não muda). - Trunks/roteamento no domínio da aplicação (`Trunk` no Postgres) já modelam host/porta/credenciais de forma genérica — o registro de domínios `Trunk.host` como sendo o OpenSIPS em vez do Asterisk-tronco direto é, na prática, uma mudança de configuração, não de schema. - Regras de firewall (`infrastructure/nftables/`) precisariam abrir a porta SIP do OpenSIPS para a origem confiável (operadora/OpenSIPS peer), mantendo o Asterisk inacessível de fora da rede interna.