Ultima V2 Build Status
A plain-language map of what exists in this repository today, what needs hardening before deployment, and what remains on the larger PBX roadmap.
Board legend
Current product surface
Search is local to this board. Statuses describe the current repository, not the old dialer-core tracker.
Delivery roadmap
A staged sequence that protects the functionality already built, then expands it.
Secure the existing application
Supabase session validation, reusable server-side tenant authorization, secret redaction/storage, Telnyx signature validation, upload limits, and route-level tests.
Make the operating console excellent
Redesign the shared shell, SMS workspace, contacts, tickets, and settings around clear status, empty states, errors, and safe integration setup.
Operational reliability
Type cleanup, lint fixes, test coverage, provider error handling, observability, durable configuration, and deployment documentation.
Telephony Control Center
The Owner/Admin Control Center now exposes a real pilot gate: Telnyx Voice configuration, voice-ledger readiness, an owner extension, live call-history projection, invite-only Team access, controlled browser-device registration, and a manual inbound-call decision. Provisioning creates a distinct Telnyx credential; Connect mints a short-lived browser token. The existing pilot DID can notify the connected browser, which only answers after the owner clicks Answer.
Current code map
Where to look firstsms/ SMS inbox & compose
contacts/ Zoho contact views
tickets/ Zoho Desk ticket views
settings/ numbers & integrations
api/ server route handlers
supabase.ts service-role client
telnyx.ts outbound SMS helper
zoho.ts token refresh helper
src/contexts/
TenantContext.tsx browser tenant state
public/
UltimaV2-Build-Status-Board.html this board
Update protocol
Keep this usefulProject memory
Concise, evidence-based historyThe already-assigned pilot DID +1 (877) 818-0814 can now notify the registered owner browser for extension 122203. Ultima shows caller context and requires an explicit Answer or Decline; an answered pilot call can be ended from the same view. There is no automatic answer, outbound dialing, transfer, recording, conference, or IVR control.
Added the controlled WebRTC device layer for extension 122203. An authenticated owner can provision one distinct Telnyx telephony credential, receive a short-lived browser JWT, and register or disconnect the browser without exposing SIP secrets. The device ledger saves only opaque provider IDs and connection state.
Added password sign-in with an email-link fallback, a server-controlled first-owner invitation, invite-only workspace membership, and a Team access panel in Telephony Admin. Invitation links activate each user once so they can create their own password. The Voice configuration, verification, readiness, extension, live-call, history, and detail APIs now require an authenticated active member; the signed Telnyx webhook remains provider-authenticated. Applying the additive owner-access migration and setting the owner environment values is the next operator step.
Read-only Telnyx verification confirmed that active number +1 (877) 818-0814 is assigned to the dedicated Ultima Phone connection. The Admin Numbers view now represents this real pilot rather than a placeholder. The connection remains free of browser device credentials and there are no live calls.
Configured the dedicated Ultima Phone credential connection with the verified Ultima Owner WebRTC Outbound Voice Profile and Ultima’s v2 signed Voice webhook. Read-only verification confirms the App, profile, browser connection, and webhook configuration. No DID was assigned, no device credential was created, and no call was placed.
Stored and read-only verified the enabled Ultima Owner WebRTC Outbound Voice Profile. Signed Voice events can now calculate call duration, match an existing normalized contact when available, and feed safe detail/live-call projections without exposing raw carrier payloads. No number, device, route, or call was activated.
Settings now accepts a dedicated Telnyx credentials-based SIP Connection ID for the future browser softphone, separately from the Voice App and existing 3CX connections. The ID is validated server-side before Ultima can create per-agent credentials. No SIP connection, device, route, or call was created by this change.
Read-only checks confirmed that the live Supabase API does not yet expose the canonical calls table and that the existing project uses an older user_id shape. Replaced the incompatible canonical-schema instruction with an additive, voice-only compatibility migration. This database work does not affect the Telnyx number, 3CX, devices, or calls.
Added non-mutating pilot readiness, tenant-scoped voice call-history, and owner-extension endpoints. The Telephony Control Center now shows whether the encrypted Telnyx configuration and database ledger are ready; the Dial Pad replaces its reference history only when real Telnyx projections exist. Extension 122203 can be recorded after the migration, but it cannot register a device or place a call.
The configured Telnyx Voice App passed Ultima’s read-only connection check. The pilot API and public signing keys are stored encrypted server-side and remain write-only in the Settings UI. No customer number was moved, no webhook event was accepted, and no call was placed.
Added a Telnyx Voice setup card to Settings for the pilot App ID, webhook URL, API key, and public signing key. The saved keys are encrypted in the server-side local store and are write-only from the UI. The card includes a no-call configuration check; real traffic remains disabled until the database migration and live policy are applied.
Added the unapplied Supabase migration and provider-neutral voice contracts. The model extends the existing call ledger with Telnyx session/leg/control identifiers, duplicate-event protection, idempotent command records, extensions, device metadata, number capabilities, and recording metadata. No carrier credential, public voice webhook, or real call API was enabled.
Added the agent-facing Dial Pad workspace with a keyboard, visual call states, mute/hold controls, warm transfer, conference, recent-call design, and Customer 360 context. It deliberately runs in design mode: no carrier call, voice route, or call-event data model has been activated yet.
Telephony is the next product build priority. The first implemented surface is the Owner/Admin Telephony Control Center for number inventory, extensions, routing, IVR, queues, recording policy, and team access. The Telnyx Voice + WebRTC backend remains planned next, preserving a provider boundary for a later Asterisk/ARI option.
Created this repository-aligned status board. It separates the current Next.js/Supabase/Telnyx/Zoho application from the prior dialer-core roadmap and documents the security baseline required before deployment.
Verified working product surfaces for SMS, contacts, tickets, settings, uploads, and provider integrations. Identified tenant-ID trust, secret exposure, unsigned webhooks, and unrestricted uploads as deployment-blocking gaps.
The previous board reports a port to a Next.js App Router repository. The current implementation contains a smaller, separate product surface and does not include the older tRPC/Asterisk/repository-layer code described by that board.
Maintenance note: this is a deliberately self-contained static board for easy sharing. Update its structured feature list and dated memory entries in the same change that materially changes the project.