Download the PHP package apntalk/freeswitch-xml-projection without Composer
On this page you can find all versions of the php package apntalk/freeswitch-xml-projection. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download apntalk/freeswitch-xml-projection
More information about apntalk/freeswitch-xml-projection
Files in apntalk/freeswitch-xml-projection
Package freeswitch-xml-projection
Short Description Standalone PHP package for rendering APNTalk SIP endpoint projections as FreeSWITCH mod_xml_curl directory XML.
License proprietary
Informations about the package freeswitch-xml-projection
apntalk/freeswitch-xml-projection
Framework-agnostic PHP library for parsing FreeSWITCH mod_xml_curl request fields and rendering package-owned directory and dialplan XML projections.
Boundary
APNTalk owns authority. FreeSWITCH owns provider-local runtime behavior. This package owns only XML projection.
v0.1.0 is intentionally narrow:
- Directory
sip_authparsing and projection only. - Reverse-auth, message-count, gateways, and network-list are parsed only enough for the caller to return not-found XML.
- No Laravel dependency.
- No Symfony dependency.
- No PSR-7 dependency.
- No APNTalk core dependency.
- No database, HTTP client, filesystem writes, or FreeSWITCH ESL behavior.
v0.2.0 adds dynamic dialplan conference-entry XML projection. Configuration projection, conference.conf generation, runtime ESL conference control, and APNTalk conferenceReady / callReady decisions remain downstream-owned and out of scope.
Install
Public API
APNTalk\FreeSwitchXmlProjection\Http\XmlCurlRequestAPNTalk\FreeSwitchXmlProjection\Http\XmlCurlRequestParserAPNTalk\FreeSwitchXmlProjection\Http\XmlCurlResponseAPNTalk\FreeSwitchXmlProjection\Directory\DirectoryDocumentAPNTalk\FreeSwitchXmlProjection\Directory\DirectoryDomainAPNTalk\FreeSwitchXmlProjection\Directory\DirectoryUserAPNTalk\FreeSwitchXmlProjection\Directory\DirectoryParamAPNTalk\FreeSwitchXmlProjection\Directory\DirectoryVariableAPNTalk\FreeSwitchXmlProjection\Directory\DirectoryCredentialAPNTalk\FreeSwitchXmlProjection\Directory\PlainPasswordCredentialAPNTalk\FreeSwitchXmlProjection\Directory\A1HashCredentialAPNTalk\FreeSwitchXmlProjection\Directory\DirectoryXmlRendererAPNTalk\FreeSwitchXmlProjection\Dialplan\DialplanDocumentAPNTalk\FreeSwitchXmlProjection\Dialplan\DialplanContextAPNTalk\FreeSwitchXmlProjection\Dialplan\DialplanExtensionAPNTalk\FreeSwitchXmlProjection\Dialplan\DialplanConditionAPNTalk\FreeSwitchXmlProjection\Dialplan\DialplanActionAPNTalk\FreeSwitchXmlProjection\Dialplan\DialplanXmlRendererAPNTalk\FreeSwitchXmlProjection\Dialplan\Conference\ConferenceRoomNameAPNTalk\FreeSwitchXmlProjection\Dialplan\Conference\ConferenceProfileNameAPNTalk\FreeSwitchXmlProjection\Dialplan\Conference\ConferenceEntryTargetAPNTalk\FreeSwitchXmlProjection\Dialplan\Conference\ConferenceEntryActionAPNTalk\FreeSwitchXmlProjection\Result\ResultXmlRendererAPNTalk\FreeSwitchXmlProjection\Security\RedactorAPNTalk\FreeSwitchXmlProjection\Security\SensitiveFieldList
See docs/public-api.md for the full surface.
Usage
Security
- Prefer
a1-hashover plaintext password. - Never log rendered XML containing live credentials.
- Basic auth, mTLS, IP allowlists, rate limits, and audit logging belong at APNTalk's HTTP edge, not in this package.
See docs/security.md.
Dialplan conference entry
v0.2.0 can render safe conference-entry dialplan XML for section=dialplan requests. The package only renders XML; FreeSWITCH joins or creates the conference when it executes the conference dialplan application.
See docs/conference-boundaries.md.
Fixture provenance
tests/Fixture/Requests/real-directory-sip-auth-redacted.php is based on a real redacted FreeSWITCH Docker mod_xml_curl directory sip_auth capture from 2026-05-09.
The capture used a local Docker lab with service lab01, container freeswitch, host networking, and a temporary local capture endpoint outside the repository. The full local docker/ lab is ignored to avoid committing logs and generated FreeSWITCH state; the sanitized capture evidence is tracked in docs/fixture-provenance.md.
Dialplan conference-entry fixtures are synthetic in v0.2.0 Phase A. Dialplan conference-entry live validation pending; real redacted fixture capture pending; not yet release-proven by live FreeSWITCH.
Synthetic dialplan fixtures are sufficient for deterministic local tests only. They are not sufficient for v0.2.0 release readiness. v0.2.0 may not be tagged until live FreeSWITCH conference-entry validation passes and a real redacted dialplan request fixture is committed with provenance.
Live smoke
An opt-in live Docker FreeSWITCH smoke harness is available for operators who have the local lab. It is not part of normal CI or composer check.
See docs/live-smoke.md.
Live conference-entry release gate
The live conference-entry smoke is an operator-run v0.2.0 release gate. It remains excluded from default CI and composer check.
Release readiness is blocked until the Docker live smoke proves FreeSWITCH requests section=dialplan, parses the projected XML, reaches the conference dialplan application, captures tests/Fixture/Requests/dialplan-conference-entry-redacted.php, and docs/dialplan-fixture-provenance.md records the evidence.
The repo-native command uses docker/docker-compose.yml service lab02-esl-xml-curl and container freeswitch-xml-curl. The lab runs with host networking, so the temporary PHP XML curl endpoint binds to localhost and restores docker/freeswitch/conf/autoload_configs/xml_curl.conf.xml after the run.
Chaos smoke
An opt-in Docker FreeSWITCH chaos harness is available for controlled local failure-mode validation. It is not part of normal CI or composer check.
See docs/chaos-smoke.md.
All versions of freeswitch-xml-projection with dependencies
ext-dom Version *
ext-libxml Version *
ext-xmlwriter Version *