Click-to-Call: PBX-Integrated Company Directory & CRM
Arasix Click-to-Call is an enterprise application I built to let companies manage their phone traffic from a single web screen. Employees find a contact in the shared directory and click the number; their desk phone rings first, and as soon as they pick up, the PBX dials the other party automatically. No more manual dialing, misdials or scattered spreadsheet directories.
The Problem It Solves
Outdated phone lists scattered across departments
Manual dialing and wrong numbers
No visibility into who talked to which customer, and when
Uncontrolled calls to premium-rate (0900 / 0898) and international numbers
Key Features
One-Click Calling with Live Call Status
Every number in the directory is clickable. Call progress is shown live on screen: dispatching, ringing, connected, ended. Calls with an uncertain outcome are never hidden; they are clearly flagged.
Shared Directory with Department-Based Permissions
Contacts and organizations, multiple phone numbers per record, favorites and department-based visibility. Each user sees only the records they are allowed to see.
Built-in CRM
Sales opportunities, a drag-and-drop sales pipeline, contact notes and task tracking. Calls are shown together with the related customer record.
Multi-Tenant SaaS Management
A single installation serves multiple companies. Each company has its own users, departments, roles and PBX profile. Plans, subscriptions, purchases and billing summaries are managed from the admin panel.
Enterprise-Grade Security
Two-factor authentication (TOTP) with recovery codes
Active session and trusted device management
Role- and permission-based access control
Complete audit trail: who did what, and when
Premium-rate and international call blocking
Resilient Architecture
Duplicate-call protection prevents the same call from being sent twice, and a circuit breaker kicks in when the PBX is unreachable, so the system stays predictable even under heavy load.
How It Works
The user finds a contact in the directory and clicks the number.
The system sends the call command to the PBX over a secure session.
The user's extension rings first.
Once the user answers, the PBX dials the target number.
Call status and duration appear live on screen and are then stored in the call history.
Tech Stack
Backend: C#, ASP.NET Core 10 (Minimal API), Entity Framework Core 10
Frontend: React 19, TypeScript, Vite
Database: Microsoft SQL Server
PBX Integration: Grandstream UCM HTTPS API, WebSocket event stream and real-time CDR
UI: Turkish and English localization, light / dark theme, responsive design
Outcome
By combining the directory, telephony, CRM and company management in one product, Arasix Click-to-Call cuts the time teams spend on calls, keeps a record of every customer conversation and gives managers full control.