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.

ViewWho it is forWhat lives there
AgentEveryoneDialer, campaigns, call history, callbacks, analytics
SupervisorSupervisors and upAgent monitor, QA scorecards, coaching, compliance, leaderboard
AdminTenant adminsUsers, telephony, inbound routing, integrations, security, subscription
Platform AdminPlatform operatorsTenants, 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:

  1. An impersonation token, if a support session is active
  2. An explicit tenant header
  3. A custom domain
  4. A subdomain
  5. 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 agent

Two 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.