Commit Graph

  • 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