Platform Overview
The four workspaces, the tenancy model, and how a call is actually placed.
Neo Dialer is one application presented as four workspaces, layered on a multi-tenant core, sitting on top of Asterisk for telephony and an optional AI voice runtime.
The four views
The view switcher in the sidebar moves between these. You see only the views your role grants.
| View | Who it is for | What lives there |
|---|---|---|
| Agent | Everyone | Dialer, campaigns, call history, callbacks, analytics |
| Supervisor | Supervisors and up | Agent monitor, QA scorecards, coaching, compliance, leaderboard |
| Admin | Tenant admins | Users, telephony, inbound routing, integrations, security, subscription |
| Platform Admin | Platform operators | Tenants, plans, entitlements, rate cards, media servers |
Platform Admin is the white-label console. If you run Neo Dialer for your own customers, that is where you create and manage their tenants.
Tenancy
Every record in the system is scoped to an organisation. Tenant resolution happens server-side, in this order:
- An impersonation token, if a support session is active
- An explicit tenant header
- A custom domain
- A subdomain
- The signed-in user's own organisation
A client cannot select a different tenant by changing a request parameter.
Platform authority is deliberately separate from tenant role. A tenant can write its own members' roles, so tenant role is never accepted as evidence of platform access — platform staff carry a distinct platform role stored outside tenant control.
How an outbound call is placed
Campaign or agent
│
▼
Backend selects trunk + media server
│
▼
Asterisk originates: PJSIP/{number}@{trunk endpoint}
│
▼
Carrier ── PSTN ── the person you called
│
▼
Bridged to the agent's browser softphone, or to an AI voice agentTwo details worth knowing because they show up in your reporting:
- Talk time is measured from answer, never from the invite. A call that rang
for forty seconds and was never picked up has no talk time. This is deliberate, and it is why Neo Dialer's talk-time figures tend to be lower than dialers that count ringing.
- Recordings of browser calls are stereo — agent on the left channel, contact
on the right. Transcription splits the channels, so speaker labels are deterministic rather than guessed.
How an inbound call is routed
An inbound call is matched to a trunk by its source, resolved to the one tenant that owns the number, then handed to your routing configuration: business hours, IVR menus, queues, ring groups, extensions, and voicemail — or an AI receptionist. See Inbound Routing.
Every routing decision is recorded, so Admin → Telephony → Routing Log will tell you exactly which rule sent a given call where.
Where the AI runs
The AI voice runtime is co-located with Asterisk on the media server, so call audio reaches the speech pipeline over the loopback interface rather than crossing a network.
Media servers are internet-facing, so they never hold your integration credentials. When an AI agent needs to write to your calendar or sheet, it calls back to the application over an HMAC-signed channel and the application performs the action with credentials it alone holds.
Plans and limits
Your plan sets seats, concurrent calls, monthly minutes, AI minutes, TTS characters, storage, campaigns and contacts per campaign. Current usage against those limits is always visible under Admin → Administration → Subscription.
What happens at the limit is your choice: block, allow with overage, or notify.
Something here wrong or missing? Tell us — these pages describe the platform as it actually behaves, so a mismatch is a bug we want to know about.