-
803859a1d2
sip: TLS transport with a checked certificate, TLS + SRTP trunks
iamdoubz
2026-10-19 16:33:11 -05:00
-
8c750c67ca
auth: two-step sign-in (TOTP) for admins, with recovery codes
iamdoubz
2026-10-19 15:41:53 -05:00
-
65e777ab41
security: headers, phone ACL, PIN rules for PINs set from the phone
iamdoubz
2026-10-19 14:47:04 -05:00
-
62939f0138
live: listen, whisper and barge on calls in progress
iamdoubz
2026-10-19 14:30:48 -05:00
-
c1f8b04e7e
provisioning: Linphone setup QR, "Set up a phone app"
iamdoubz
2026-10-19 14:16:28 -05:00
-
6195aca2fb
provisioning: BLF keys, time zone table, company phonebook
iamdoubz
2026-10-19 13:48:34 -05:00
-
fa63908261
provisioning: phones, /prov with Basic auth, rate limit and IP block
iamdoubz
2026-10-19 13:38:18 -05:00
-
dc79120de0
roadmap: park SMS (M9-T2, M9-T3) until the owner wants it
iamdoubz
2026-10-19 13:21:59 -05:00
-
33b1456c0f
voipms: API client, POP server list, import numbers
iamdoubz
2026-10-19 12:41:45 -05:00
-
4742ed52ea
queues: service level counts callers who weren't answered
iamdoubz
2026-10-19 12:13:39 -05:00
-
088372bff8
e2e: M8 milestone check
iamdoubz
2026-10-19 11:26:54 -05:00
-
b8ff6e3386
moh: music-on-hold classes, uploads, pickers for users and queues
iamdoubz
2026-10-19 10:10:01 -05:00
-
e95271e694
paging: paging groups, *80 intercom, auto-answer headers
iamdoubz
2026-10-19 09:40:22 -05:00
-
a6c423de97
conferences: rooms with PIN and admin PIN, per-room limits, recording
iamdoubz
2026-10-19 04:56:41 -05:00
-
964a3c0b25
web: logo on the login page, icon as favicon and in the headers
iamdoubz
2026-10-19 04:34:08 -05:00
-
863a9d121c
parking: parked calls live, on the dashboard and Home, pick up from Home
iamdoubz
2026-10-19 04:23:21 -05:00
-
2d9f8ed99e
queues: queues, agents, *45 login, live tiles, stats
iamdoubz
2026-10-18 20:15:51 -05:00
-
6ddd8d3ea9
live: prettier on calls.ts
iamdoubz
2026-10-18 16:21:22 -05:00
-
04ec3761c1
live: drop events for channels already hung up; e2e waits for the page
iamdoubz
2026-10-18 15:37:06 -05:00
-
f7fc4ed70e
live: calls in progress, dashboard list, admin hang up and transfer
iamdoubz
2026-10-18 15:06:57 -05:00
-
4b6b95090a
recordings: record calls, link them to history, Recordings page
iamdoubz
2026-10-18 14:57:52 -05:00
-
8abcea9533
calls: call history API and pages, CSV export, missed calls
iamdoubz
2026-10-18 14:46:32 -05:00
-
71440ac85d
cdr: store Cdr events, aggregate calls, fixtures from real calls
iamdoubz
2026-10-18 14:37:14 -05:00
-
8a763ff130
ci: actions on Node 24 (checkout v7, pnpm/action-setup v6)
iamdoubz
2026-10-18 14:21:49 -05:00
-
80032cba1f
ci: run the check job in a container so "postgres" resolves
iamdoubz
2026-10-18 14:17:24 -05:00
-
9808a602a9
e2e: phones unregister before their container is removed
iamdoubz
2026-10-18 14:11:40 -05:00
-
4fc0fb4084
blocked: blocked numbers page and API; M6 milestone check
iamdoubz
2026-10-18 13:57:27 -05:00
-
57e0e3dac2
featurecodes: DND, forwarding, pickup, echo, say-ext; /me settings
iamdoubz
2026-10-18 11:19:21 -05:00
-
d746772b97
destinations: full picker everywhere, numbers in summaries, Ring everyone
iamdoubz
2026-10-18 11:04:42 -05:00
-
dd640b368b
announcements: play a sound, then continue
iamdoubz
2026-10-18 11:00:33 -05:00
-
108547046c
timeconditions: office hours, holidays, override codes, weekly grid
iamdoubz
2026-10-18 10:56:28 -05:00
-
15624f7b77
ivrs: digital receptionist with keypad grid, SoundPicker, golden case
iamdoubz
2026-10-18 10:39:13 -05:00
-
f87d4d47dd
ringgroups: ring-all and hunt groups, API, page, golden case
iamdoubz
2026-10-18 10:31:05 -05:00
-
17db68a8c5
sounds: upload, convert, play, rename, delete with references
iamdoubz
2026-10-18 10:13:58 -05:00
-
609965bba5
softphone: People panel with presence, click-to-call
iamdoubz
2026-10-18 10:06:28 -05:00
-
c7fd4df77c
softphone: dock panel, incoming dialog, hold/mute/DTMF, transfers, one tab
iamdoubz
2026-10-18 09:43:41 -05:00
-
ae3a723a3c
softphone: SIP.js engine, /api/me/webrtc, minimal dock
iamdoubz
2026-10-18 09:27:45 -05:00
-
f60dda0bb0
me: voicemail page, greetings, My Phone home
iamdoubz
2026-10-17 22:56:10 -05:00
-
fe2eb4cc22
chore: stop tracking api.pid
iamdoubz
2026-10-17 22:34:01 -05:00
-
8d752ba705
voicemail: index messages, live event, email with the recording
iamdoubz
2026-10-17 22:33:52 -05:00
-
0d29131d18
voicemail: mailbox config, voicemail on no-answer/busy, *97/*98, MWI
iamdoubz
2026-10-17 22:21:53 -05:00
-
1e50d12c6e
docs: track open real voip.ms acceptance checks for M3
iamdoubz
2026-10-17 22:07:42 -05:00
-
c2b9fff126
setup: first-run wizard, telephony restart, system status
iamdoubz
2026-10-17 21:11:04 -05:00
-
409724bc55
emergency: 911 dialplan, notifications, test button, settings, warnings
iamdoubz
2026-10-17 20:52:50 -05:00
-
4496f6b89a
outbound: routes with failover and caller ID, test box, Outbound rules page
iamdoubz
2026-10-17 20:04:35 -05:00
-
c117d8bb1d
dids: phone numbers, destinations, inbound dialplan, Phone numbers page
iamdoubz
2026-10-17 19:52:49 -05:00
-
1b7f60b5f2
trunks: CRUD API, PJSIP trunk config, live registration status, Trunks page
iamdoubz
2026-10-17 19:42:14 -05:00
-
c0c4036887
live: AMI-fed live state, /api/live WebSocket, dashboard and status dots
iamdoubz
2026-10-17 16:49:25 -05:00
-
1cfc13ead3
extensions: numbering service, CRUD API, credentials, Users page tabs
iamdoubz
2026-10-17 16:35:07 -05:00
-
a4da81cf8f
generator: base dialplan, globals and sp-local-numbers with hints
iamdoubz
2026-10-17 16:28:13 -05:00
-
06ac99b9f4
generator: PJSIP transports, extension endpoints and rtp config
iamdoubz
2026-10-17 16:22:16 -05:00
-
a5de247948
generator: core apply loop, sanitizers, system config routes
iamdoubz
2026-10-17 16:17:13 -05:00
-
70b0a92666
ami: TCP client with parser, list actions, ping and reconnect backoff
iamdoubz
2026-10-17 16:12:25 -05:00
-
9a81e37725
users: admin CRUD API and admin shell UI
iamdoubz
2026-10-17 15:18:08 -05:00
-
13733ac262
auth: sessions, login/logout/me/change-password, CSRF, guards, audit
iamdoubz
2026-10-17 15:08:44 -05:00
-
15b8a20751
db: drizzle schema matching spec 02, initial migrations, settings service
iamdoubz
2026-10-17 15:04:18 -05:00
-
63a03b4185
api: AES-256-GCM secrets, SIP password and PIN generation
iamdoubz
2026-10-17 15:02:23 -05:00
-
c49426971e
Merge Gitea initial commit (keep project README and canonical AGPL text)
iamdoubz
2026-10-17 14:54:16 -05:00
-
-
2322d7242e
Initial commit
iamdoubz
2026-10-17 14:53:45 -05:00
-
2aa170221f
workspace: ignore .pnpm-store (CI runners put it in the checkout)
iamdoubz
2026-10-17 14:42:34 -05:00
-
240b33fb68
ci: drop setup-node pnpm cache (fails without an Actions cache server)
iamdoubz
2026-10-17 14:40:54 -05:00
-
b2d57c1e81
ci: lint, typecheck, test and build both images
iamdoubz
2026-10-17 14:32:58 -05:00
-
d0de0c9039
deploy: docker compose stack, api image, install script, proxy configs
iamdoubz
2026-10-17 14:32:52 -05:00
-
909ac2d62d
asterisk: 24.0.0-rc2 image built from source with static config
iamdoubz
2026-10-17 14:31:05 -05:00
-
d12795ec8b
web: vite + react + tailwind hello page with dark-mode toggle
iamdoubz
2026-10-17 14:23:15 -05:00
-
08bd33eefa
api: env config, fastify with /healthz and SPA static serving
iamdoubz
2026-10-17 14:20:52 -05:00
-
0247137765
shared: phone number normalize, format and reserved check
iamdoubz
2026-10-17 14:19:08 -05:00
-
aa99622a24
workspace: pnpm monorepo with api, web, shared
iamdoubz
2026-10-17 14:18:02 -05:00
-
547bb68a6f
docs: initial SelfPhoneNG spec
iamdoubz
2026-10-17 14:11:09 -05:00