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.