- 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)
18 lines
485 B
Docker
18 lines
485 B
Docker
# syntax=docker/dockerfile:1.7
|
|
FROM node:22-slim
|
|
|
|
RUN corepack enable && corepack prepare pnpm@11.24.0 --activate
|
|
|
|
WORKDIR /repo
|
|
|
|
COPY pnpm-workspace.yaml package.json pnpm-lock.yaml tsconfig.base.json ./
|
|
COPY packages/types packages/types
|
|
COPY packages/shared packages/shared
|
|
COPY apps/freeswitch-config apps/freeswitch-config
|
|
|
|
RUN pnpm install --frozen-lockfile --filter @b2bcall/freeswitch-config...
|
|
|
|
WORKDIR /repo/apps/freeswitch-config
|
|
|
|
CMD ["pnpm", "exec", "tsx", "src/main.ts"]
|