All posts
Analytics

How Neo Dialer Counts Calls — and Why Your Numbers May Drop

Talk time from answer, outcomes decided by the media server, and reconciliation. Three decisions that make our reporting more conservative than some dialers.

The Neo Dialer teamJuly 8, 20265 min read

If you migrate to Neo Dialer from another dialer, some of your numbers will go down. Not because you are doing worse — because we count differently. Here are the three decisions behind that, and the reasoning for each.

1. Talk time starts at answer

Duration is measured from the moment a call is answered, never from when it started ringing.

A call that rang for forty seconds and was never picked up has zero talk time in Neo Dialer. Not forty seconds.

This sounds obvious stated plainly, and yet the alternative is common enough that it is worth stating. Ring time is not talk time. An agent who dialled forty numbers that all rang out did not spend time talking, and a metric that says otherwise will let a bad shift look like a busy one.

The practical effect: your average handle time will look lower here, and it will be the more honest figure.

2. Outcomes are decided by the media server

The authoritative outcome — busy, no answer, voicemail, completed — is decided by the media server that actually handled the call, from the signalling the carrier returned.

The agent's browser reports what it saw too, but it cannot overwrite a decided outcome with a generic "completed". Three separate things finalise a call record and the browser is usually last to speak; without that rule, a call the network knew went to voicemail could be relabelled as connected simply because a browser tab closed afterwards.

The practical effect: your connect rate may drop, and your voicemail and no-answer counts may rise. That is the same set of calls, described accurately.

We also record the underlying SIP cause for a call ending, so a failed call can be diagnosed from the record rather than guessed at.

3. Open records get reconciled, not abandoned

Browsers crash. Laptops sleep. Connections drop mid-call. When that happens the call record is left open, and a naive system accumulates calls that never formally ended — which quietly corrupts every average computed from them.

A background reconciler closes stale records on a schedule.

Two consequences worth knowing:

  • An occasional call record is finalised minutes after the call rather than

instantly. If you are watching a live dashboard, that is what you are seeing.

  • A reconciler only judges calls it can actually observe. On a deployment with

several media servers, each one closes the records it owns rather than guessing about the others' — because reachability is not ownership, and a node that can reach a record is not necessarily the node that handled it.

Why bother

Because the numbers are for making decisions. A connect rate inflated by voicemail, or a talk time inflated by ringing, will tell you a campaign is working right up until the revenue disagrees.

More on analytics and reporting.

Ready to Transform Your Outbound Calling?

Tell us what you're calling and which SIP provider you use, and we'll set up a trial tenant you can place real calls from.

Trial on a real tenantBring your own SIP trunkNo number porting needed