Home / Blog / VICIdial optimization checklist
VICIdial optimizationVICIdial optimization checklist for sales and presales teams
When someone says “VICIdial is broken”, pause before rebuilding the server. Most slow floors are not one big failure. They are a chain of small mismatches: leads, hopper, agents, transfers, carrier, and reports.
The first mistake is treating every slow floor as a server problem
A sales manager sees low contact rate. Presales says transfers keep dying. Agents say they are ready but the screen is quiet. The easy story is “VICIdial is broken”. Sometimes it is. More often, one earlier link in the chain is false and the dialer is only showing the symptom.
We use this order: dialable leads, hopper, agent readiness, phone state, transfer handoff, carrier response, reporting truth. If you skip straight to a rebuild, you may preserve the same broken workflow on a cleaner machine.
A floor can look broken before the first phone rings
Start with a normal morning. The team logs in. A few agents show READY. Supervisors expect the hopper to move. Instead, the campaign sits there. Someone increases dial level. Nothing improves. Ten minutes later, the blame has already moved to Asterisk, the trunk, the VM, or “the dialer”.
The uncomfortable check is simpler: are there leads VICIdial is actually allowed to call? Active lists can be attached to the wrong campaign. Dial statuses can exclude the leads everyone thinks are available. A lead filter can remove the whole market. Call time can be correct for the server and wrong for the customer timezone.
This is why hopper work comes first. Before tuning ratio, carrier, or hardware, prove the campaign has live lead supply.
| Symptom | First evidence to check |
|---|---|
| Agents ready, no calls | Active lists, campaign assignment, dialable statuses, lead filters, call time, hopper fill. |
| Old leads keep returning | Recycle rules, reset jobs, callback handling, terminal statuses. |
| One market silent | GMT, local call window, phone format, source-specific filters. |
READY is not the same as available
The next trap is agent state. A person can be logged in and still not be usable capacity. The extension can be wrong. The phone can be unregistered. The agent can sit in a test campaign. Pause codes can hide work that the report later treats as idle time.
On a sales or presales floor, this matters because volume amplifies small confusion. If wrap-up, WhatsApp follow-up, training, lunch, and manual hold all look like the same pause, nobody can tell whether the floor needs more leads, better staffing, or cleaner discipline.
Fixing this is not glamorous. Name pause codes clearly. Keep agents in the intended campaign. Verify phone registration against the session. Make dispositions honest enough that recycle rules and management reports can trust them.
The handoff is where presales floors quietly leak money
Presales can qualify the right person and still lose the opportunity in the transfer. A blind transfer drops context. A parked call is useless if the sales agent never grabs it. A cleanup script can look innocent until timestamps show it touched a bridge that was still alive.
The check is not “was the transfer button clicked?” The check is whether the customer, the target agent, and the reason for qualification reached the same moment. Sales should know who is on the line, why they were qualified, what was promised, and which source campaign produced the call.
When transfers fail, line up VICIdial events, Asterisk bridge events, parked-call timestamps, and agent state. Do that before changing the dialer logic. Otherwise you fix the loudest log line, not the failed handoff.
Carrier failures can wear a dialer costume
From the supervisor screen, carrier rejection and dialer failure can look the same: fewer conversations. Under the hood they are different problems. A caller ID rule can reject an originate. A phone number can be formatted for humans but not for the route. NAT and RTP can make SIP appear successful while media fails later.
Separate internal readiness from external acceptance. Does the campaign select a lead? Does VICIdial originate correctly? Does the trunk accept the call? Does audio travel both ways? Do failure codes cluster around one route, one prefix, one carrier, or one time window?
For infrastructure background, see our ViciBox 12 on GCE install path and the WhatsApp SIP to VICIdial implementation pattern.
Bad definitions make good optimization impossible
Reports are where many floor fixes turn political. One team says MQL, another team means answered call. One dashboard says transfer success, but the customer never reached sales. A disposition gets used because it is easy to click, not because it tells the truth.
Before changing campaigns, agree on what the floor is measuring. Contact rate, qualified conversion, talk time, ready time, transfer success, and abandon rate only help when everyone uses the same definition. In our case study, the useful view was not one vanity number. It was contact rate, qualified conversion, talk time, and active headcount read together.
| Metric | Question it must answer |
|---|---|
| Contact rate | Did we reach humans, or only create dial attempts? |
| MQL or SQL | Is this a real business qualification, or just a convenient status? |
| Transfer success | Did customer and context reach the target team? |
| Drop or abandon | Was this dial pressure, carrier failure, or customer hangup? |
The checklist we actually use
After the story is clear, the checklist becomes useful. Use it in order. Stop when evidence explains the floor.
- Prove the campaign has dialable leads and a hopper that can fill.
- Verify agent phone registration, campaign session, pause codes, and dispositions.
- Trace presales to sales handoff with logs, bridge evidence, and business context.
- Separate carrier rejection, phone formatting, SIP, RTP, and NAT from dialer state.
- Clean reporting definitions before using metrics to judge people or campaigns.
- Optimize when workflow is misaligned. Rebuild only when the platform itself cannot be trusted.
For hands-on support, see our VICIdial optimization service.
FAQ
What should you check first when VICIdial performance drops?
Start by proving there are dialable leads: active lists, campaign assignment, dial statuses, lead filters, timezone rules, call-time rules, and hopper fill.
Why do presales to sales transfers fail?
Common causes include blind transfer where consult transfer is required, parked calls that are not grabbed, missing context, wrong agent state, phone registration problems, or cleanup logic that misclassifies a live bridge.
When should we optimize instead of rebuilding?
Optimize when campaigns, lists, agent states, transfer flows, carrier settings, or reports are misaligned. Rebuild when the host, image, telephony assumptions, or maintenance model cannot be trusted.
Need a second pair of eyes on a live floor?
We audit VICIdial floors by evidence: campaign and list state, agent sessions, Asterisk events, carrier responses, transfer logs, and business reporting definitions. Start with the optimization service or read the production case study first.