feat: activate mod_xml_curl with b2bcall-fs-config (agente.md secao 26)
- apps/freeswitch-config (b2bcall-fs-config): Fastify service implementing the mod_xml_curl HTTP protocol (form-encoded POST -> XML response), containerized, no host port published - reactivated mod_xml_curl in FreeSWITCH, binding restricted to directory|dialplan only (configuration was removed after testing showed it firing several unnecessary HTTP round-trips at boot for module configs we don't need dynamic — matches agente.md's own 'don't put every critical config through XML Curl' guidance) - no extensions/dialplan tables exist yet (next phases), so the service always answers 'not found' for now — this phase only proves the wire protocol works without breaking the static vanilla config fallback - verified end-to-end: user/8888 (nowhere) -> SUBSCRIBER_ABSENT via fs-config; user/1000 (static vanilla extension) -> USER_NOT_REGISTERED, proving FreeSWITCH correctly falls through to static XML when xml_curl says not found - docs/XML_CURL.md, including the not-yet-authenticated endpoint note (fine while it only returns not-found; needs gateway-credentials before serving real directory/dialplan data)
This commit is contained in:
16
TODO.md
16
TODO.md
@@ -42,6 +42,18 @@
|
||||
- [ ] Reconciliação pós-reconexão (calls/agents/queues/registrations/gateways)
|
||||
— não é possível ainda, sem essas tabelas persistidas
|
||||
|
||||
## PHASE 07 — XML Curl (agente.md secao 26)
|
||||
- [x] `apps/freeswitch-config` (b2bcall-fs-config): responde ao protocolo
|
||||
XML Curl do FreeSWITCH (POST form-encoded → XML), containerizado
|
||||
- [x] `mod_xml_curl` reativado, binding restrito a `directory|dialplan`
|
||||
(não `configuration` — evita chamadas HTTP desnecessárias no boot)
|
||||
- [x] Por enquanto sempre "not found" (sem tabela extensions/dialplan ainda);
|
||||
verificado que a config estática vanilla continua funcionando como
|
||||
fallback (`user/8888` → SUBSCRIBER_ABSENT via fs-config,
|
||||
`user/1000` → USER_NOT_REGISTERED via config estática — achou o usuário)
|
||||
- [ ] Sem autenticação HTTP ainda — ok enquanto só responde "not found";
|
||||
adicionar `gateway-credentials` antes de servir directory/dialplan reais
|
||||
|
||||
## PHASE 02 — SaaS Core
|
||||
- [x] Monorepo Node.js/TypeScript (pnpm workspaces, tsconfig base)
|
||||
- [x] Node 22 LTS + pnpm instalados no host
|
||||
@@ -73,8 +85,8 @@
|
||||
— testado ponta a ponta com curl (login, refresh rotation, logout, RBAC, 401/403/429)
|
||||
- [ ] Password reset por e-mail — depende de SMTP configurado
|
||||
|
||||
## PHASE 07+ — ver `agente.md` seções 26 em diante (XML Curl, Extensions, Trunks, Dialplan,
|
||||
Call Center, Predictive Dialer, Recordings, AI, Billing, Frontend, Reports, Security, Tests)
|
||||
## PHASE 08+ — ver `agente.md` seções 39 em diante (Extensions, Trunks, Dialplan, Call Center,
|
||||
Predictive Dialer, Recordings, AI, Billing, Frontend, Reports, Security, Tests)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user