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:
2026-08-28 07:07:05 -03:00
parent 60e9f6838e
commit d2ea83c06a
11 changed files with 240 additions and 7 deletions

View File

@@ -8,11 +8,7 @@
<load module="mod_enum"/>
<!-- XML Interfaces (agente.md secao 26: mod_xml_curl para Directory/Dialplan) -->
<!-- Desativado por enquanto: mod_xml_curl recusa carregar sem pelo menos
um binding com gateway-url configurada (falha "Binding has no url!"
com o xml_curl.conf.xml default, que vem com tudo comentado). Ativar
junto com o b2bcall-fs-config na fase "XML Curl" do agente.md. -->
<!-- <load module="mod_xml_curl"/> -->
<load module="mod_xml_curl"/>
<!-- Event Handlers -->
<load module="mod_cdr_csv"/>