Files
b2bcall/infrastructure/asterisk/config/extensions.conf
B2BCall Bootstrap cf3fc4b3ef feat: add structured versioned dialplan and asterisk admin
- packages/database: DialplanEntry + DialplanVersion (schema/config
  gerado, nunca dialplan cru vindo do usuario)
- apps/api/src/dialplan: DialplanService gera extensions a partir de
  entradas estruturadas (campos com allowlist estrita de caracteres),
  escreve em arquivo compartilhado via volume Docker 'dialplan-generated'
  entre api e asterisk, recarrega via AMI ('dialplan reload') e valida
  checando 'dialplan show <contexto>' por marcadores de erro. Falha na
  validacao dispara rollback automatico para a versao anterior; rollback
  manual tambem disponivel para qualquer versao no historico
- infrastructure/asterisk: extensions.conf agora inclui o arquivo gerado
  pela aplicacao; entrypoint garante que ele existe (vazio) no primeiro
  boot antes da primeira publicacao
- apps/api/src/asterisk-admin: status (AMI + heartbeat), module show, e
  diagnostico com ALLOWLIST ESTRITA de comandos exatos (nunca shell
  arbitraria) — agente.md secao 22

Testado ponta a ponta contra o Asterisk real: dialplan publicado fica
ativo imediatamente sem restart (confirmado via 'dialplan show'),
comando de diagnostico fora da allowlist rejeitado com 400.
2026-08-27 13:14:50 -03:00

23 lines
906 B
Plaintext

; Dialplan mínimo de validação da Fase 2 (infraestrutura). O editor
; estruturado + versionamento (dialplan_versions) chega na Fase 4 —
; Telefonia, e substituirá este arquivo estático por dialplan gerado pela
; aplicação (AEL/realtime), com backup/validação/rollback antes de ativar.
[general]
static = yes
writeprotect = no
[globals]
; Contexto de teste: confirma que o core do dialplan está funcionando.
[b2bcall-healthcheck]
exten => 600,1,Answer()
same => n,Playback(demo-echotest)
same => n,Echo()
same => n,Hangup()
; Dialplan gerenciado pela aplicação (Telefonia → Dialplan), gerado por
; DialplanService e compartilhado via volume Docker "dialplan-generated"
; (ver docs/ARCHITECTURE.md). Nunca editar este arquivo manualmente — toda
; alteração é versionada em dialplan_versions com backup/validação/rollback.
#include "/etc/asterisk-generated/b2bcall-dialplan.conf"