dev1
- Elixir 55%
- Svelte 28.2%
- TypeScript 13.7%
- HTML 1.3%
- JavaScript 1.1%
- Other 0.7%
Required by callkit.ts and audio_route.ts. Used as no-op when running in a browser (not inside a Capacitor mobile wrapper). Build succeeded after restore. |
||
|---|---|---|
| kooltel_comms | ||
| spoke | ||
| .gitignore | ||
| README.md | ||
comms-alpha-dev1
Alpha codebase for the next-generation Kooltel Communications stack.
What this is
A self-contained codebase that:
- Speaks SIP via sip.js (RFC 7118) over WSS, terminating in a chan_pjsip Asterisk back end.
- Has zero references to legacy WebRTC SIP-bridge stacks.
Seeded from the deploy-host.invalid known-good base
(
104cc28d hotfix v0.2.77.1) with every legacy SIP-bridge file, test, dependency, and comment stripped out. - Has no embedded coupling to specific deploy targets.
The sip.js extension map (WSS URL / SIP domain / REGISTER
password per ext) is populated at runtime from
KT_SIPJS_EXTS_JSON; no hostname, IP, or password is hardcoded. - Builds and runs as a single deployable unit.
Elixir/Phoenix hub (
kooltel_comms/) + Svelte 5 frontend (spoke/) build independently and ship as one Phoenix release.
Layout
kooltel_comms/ # Elixir/Phoenix hub (Mix project)
spoke/ # Svelte 5 + Vite frontend (Capacitor wrapper for APK/iOS)
Build (frontend)
cd spoke
npm install
npm run build # writes spoke/dist-spoke/
Build (hub)
cd kooltel_comms
mix deps.get
mix compile
Runtime configuration
The Phoenix hub uses environment-variable driven config in
kooltel_comms/config/runtime.exs.
sip.js / Asterisk adapter
export PBX_ADAPTER=sipjs_asterisk
export KT_SIPJS_EXTS_JSON='{
"101": {
"wss_url": "wss://your-asterisk-host:8089/ws",
"domain": "your-asterisk-host",
"password": "register-secret"
}
}'
Each ext in the map is independently configured. The hub's
/api/me/sip_profile endpoint returns these values to the
authenticated client; the spoke consumes them and boots its sip.js
UserAgent against the configured WSS endpoint.
Provenance
This codebase is separate from git.deploy-host.invalid/Kooltel/comms-app.
It is seeded from that repo's deploy-host.invalid known-good commit
(104cc28d), with the legacy WebRTC SIP-bridge stack fully
removed and the sip.js path made the only SIP transport.
Future commits live in this repository only.