Optimizing VICIdial: 15 Critical Settings to Reclaim Agent Talk Time
These articles are AI-generated summaries. Please check the original sources for full details.
15 VICIdial Settings Wasting Your Agents’ Time Right Now
VICIdial’s campaign detail screen features over 170 configurable fields, yet most administrators only modify three. This conservative default configuration often results in agents sitting idle for 40% of their shift, translating to a wasted capacity of $300 per hour for 50-agent teams.
Why This Matters
In a technical reality, default VICIdial settings are tuned for stability rather than performance, leading to only 28-32 minutes of talk time per hour. For a 50-agent floor at $15/hour, this inefficiency creates $300/hour in wasted capacity, totaling $12,000 in weekly losses because the underlying predictive algorithm (AST_VDadapt.pl) is receiving sub-optimal inputs.
Key Insights
- The AST_VDadapt.pl Perl script recalculates dial levels every 15 seconds based on drop rates, agent availability, and connection rates.
- Setting adaptive_dl_level to 4.0-5.0 for small teams (5-10 agents) provides the statistical headroom needed to compensate for volatility.
- A 1.5-2.0 adaptive_dropped_percentage provides a necessary safety buffer against the FTC/TCPA 3% rolling 30-day drop limit.
- Reducing dial_timeout from 26 to 18 seconds can reduce wasted trunk time by 30% on no-answer calls.
- Switching from RATIO to ADAPT_TAPERED allows the dialer to tighten performance as the shift progresses, avoiding manual adjustment overhead.
- Tuning the amd.conf total_analysis_time from 5000ms to 3500ms reduces dead air, preventing live humans from hanging up prematurely.
Working Examples
Monitor live campaign drop rates via SQL
SELECT campaign_id, drops_today, calls_today,
ROUND((drops_today / calls_today) * 100, 2) AS drop_pct
FROM vicidial_campaign_stats
WHERE campaign_id = 'YOUR_CAMPAIGN';
Recommended AMD configuration in /etc/asterisk/amd.conf
[general]
initial_silence=2000
greeting=1200
after_greeting_silence=300
total_analysis_time=3500
min_word_length=120
between_words_silence=50
maximum_number_of_words=3
silence_threshold=256
Analyze agent performance and pause code utilization
SELECT sub_status, COUNT(*) AS pause_count,
SUM(pause_sec) AS total_seconds,
ROUND(AVG(pause_sec), 1) AS avg_seconds
FROM vicidial_agent_log
WHERE campaign_id = 'YOUR_CAMPAIGN'
AND event_time >= CURDATE()
GROUP BY sub_status
ORDER BY total_seconds DESC;
Practical Applications
- Use Case: Implementing ADAPT_TAPERED with a 1.5 auto_dial_level allows the algorithm to find optimal levels within 15 minutes. Pitfall: Using RATIO for production campaigns prevents the system from adapting to contact rate shifts, causing idle time.
- Use Case: Setting available_only_tally_threshold to 10 prevents over-dialing and abandoned calls for small teams. Pitfall: Counting mid-call agents as ‘available’ in small groups leads to high drop spikes when multiple calls connect simultaneously.
- Use Case: Forcing agent pause codes provides visibility into non-productive time across BREAK, LUNCH, and TRAIN categories. Pitfall: Leaving pause codes optional results in zero visibility into why agents are not taking calls.
References:
Continue reading
Next article
5 System-Level Strategies to Mitigate LLM Hallucinations in Production
Related Content
Optimizing VICIdial Performance: 5 Essential Agent Metrics for Contact Centers
Improve call center efficiency using five key VICIdial metrics like Talk Time Ratio and ACW to identify and eliminate unproductive pause codes.
Optimizing VICIdial Inbound Queues: Fixes for the 5 Worst Default Settings
Learn how to reduce call abandonment by fixing VICIdial's default settings, which often result in 45-second dead-air disconnects and lost leads.
VICIdial CRM Integration: Optimizing Contact Center Workflows for Salesforce and HubSpot
This technical guide details the integration of VICIdial with Salesforce and HubSpot to eliminate 25-40 hours of lost daily productivity. It covers the Non-Agent and Agent APIs, providing production-tested code for automated screen pops, disposition synchronization, and real-time lead injection for enterprise contact centers.