Case Studies

Selected deployments from our VoIP, infrastructure, and automation work. Client names are withheld under confidentiality, so each study is described by organisation type and scale.

Case study 01

Automated call detail reporting for a 55 agent call centre

SectorBPO / Call centre
Scale55 agents
PlatformFreePBX, MySQL
Automationn8n, SMTP
Context

A BPO call centre running FreePBX with 55 agents on extensions 2000 to 2054, with call detail records split across two separate MySQL servers.

Challenge

Reporting was manual. Supervisors had to assemble figures by hand from two databases, so reports arrived irregularly and in inconsistent formats. Timezone differences between the reporting audience and the switch made the raw records easy to misread.

What we deployed

A set of n8n workflows querying both CDR databases, with timezone correction applied to the reporting window. Output is generated as pivot table Excel summaries and delivered over SMTP on daily, weekly, and on demand schedules.

Result

Reporting now runs without manual assembly. Supervisors receive a consistent report format on a fixed schedule rather than requesting figures each time.

Case study 02

Multi tenant self service portal over a shared FreePBX estate

SectorHosted VoIP
ArchitectureMulti tenant
StackLaravel 11, Vue 3, Node.js
InfraDocker, nginx, Redis
Context

A hosted PBX operator serving several client companies from a single FreePBX installation.

Challenge

The estate had no tenant separation. All extensions, calls, and recordings were visible from one administrative interface, which made client self service impossible without exposing other clients’ data.

What we deployed

A Laravel 11 and Vue 3 portal with enforced multi tenant data isolation, extension synchronisation from the FreePBX user manager tables, and a browser based WebRTC dialler with full call controls. Call recordings stream from the production recording server through a separate Node.js service. Deployed with Docker behind nginx, with Redis handling sessions and queues.

Result

Each tenant sees only its own extensions, call history, and recordings, and agents place calls directly from the browser without a desk phone or softphone installation.

Case study 03

Closed database access for an externally hosted agent portal

SectorCall centre
PatternAPI proxy middleware
Stackn8n, MySQL
AccessStatic IP allowlist
Context

A call centre operation needing agents to reach their own call data from a portal hosted outside the PBX network.

Challenge

The agent portal ran on shared hosting while the call data lived in MySQL on the PBX VPS. Opening that database to a shared hosting environment was not an acceptable exposure.

What we deployed

An n8n instance on the VPS acting as a query proxy. The portal calls webhook endpoints protected by a shared secret, n8n executes the queries server side and returns only the fields required for the response. The database accepts connections from the VPS static IP alone.

Result

Agents reach their call data through the portal while the database itself stays closed to the public internet, with no direct credentials held on the shared host.

Talk through a deployment like these

We respond within one business day.