a6c423de973d33ebf75a459a03dd9cfa87c59e8d
/api/conferences CRUD: PINs stored encrypted, shown to admins (they hand
them out), never in the audit log; an admin PIN needs a different room
PIN (checked against the stored values on PATCH). The generator renders
sp-conf-{id} per 03 §6.11 (PIN prompt, 3 tries, admin PIN joins with
sp_admin_user), the number in sp-local-numbers and destApp conference.
Two changes from the spec's snippet, both found with real calls and
written back into 03:
- Set(CONFBRIDGE(bridge,max_members)) is ignored once ConfBridge()
names a bridge profile: a 4th caller got into a room of 3. Each room
now has its own [sp_room_<n>](default_bridge) profile in
confbridge_selfphoneng.conf.
- A recorded room runs sp-sub-record on each caller's leg (just before
ConfBridge) instead of record_conference, so the files are ordinary
call recordings: call history, Recordings page, retention.
Web: Conference rooms page (list, drawer form), "Conference room" in
the DestinationPicker. Golden case conferences. e2e m8-t3: room built
in the UI, wrong PIN refused and asked again, admin PIN joins with
flags AM, a 4th caller turned away, recordings listed, and a no-PIN
room with two desk phones.
Task: M8-T3
SelfPhoneNG
A fully open source, self-hosted business phone system: extensions, desk phones and a browser softphone, voicemail to email, IVRs, ring groups, queues, office hours, call recording, live dashboard, SMS and phone provisioning. Bring your own SIP trunk and numbers (reference provider: voip.ms). Built on Asterisk 24 LTS + TypeScript + PostgreSQL 18.
Status: specification stage. Nothing is built yet.
- Start here if you are writing code (human or AI):
AGENTS.md - The full spec:
docs/spec/ - Build order:
docs/spec/09-roadmap.md
License: AGPL-3.0-or-later.
Description
Open source, self hosted alternative for 3cx
https://github.com/iamdoubz/selfphoneng
9.2 MiB
0 Stars
1 Watchers
0 Forks
Languages
TypeScript
83.9%
JavaScript
15%
Shell
0.7%
Dockerfile
0.3%