@vicistack/vicidial-complete-guide
v1.0.0
Published
VICIdial: The Complete Guide to Open-Source Call Center Software — ViciStack call center engineering guide
Maintainers
Readme
VICIdial: The Complete Guide to Open-Source Call Center Software
Last updated: March 2026 | Reading time: ~26 minutes VICIdial is the most widely deployed open-source contact center platform in the world. Over 14,000 installations. Zero licensing fees. It handles predictive dialing, inbound routing, IVR, blended campaigns, call recording, real-time reporting, and agent management — all through a web browser. If you're reading this, you're probably in one of three situations. You're evaluating VICIdial as an alternative to expensive hosted dialers. You've already installed it and you're trying to figure out what half the settings do. Or you've been running it for years and want to know if you're getting everything out of it. This guide covers all three scenarios. No vendor pitch. Just an honest assessment of what VICIdial is, what it's not, where it shines, and where it'll hurt you if you're not prepared. --- ## What VICIdial Actually Is VICIdial is a PHP web application that sits on top of Asterisk (the open-source PBX). Asterisk handles the actual phone calls — SIP signaling, RTP media, codec negotiation. VICIdial handles everything else — agent screens, lead management, campaign configuration, recording, reporting, and the predictive dialing algorithm. The stack: ┌─────────────────────────────────────┐ │ VICIdial Admin + Agent Web UI │ PHP, Apache/Nginx │ (campaign config, reporting, etc.) │ ├─────────────────────────────────────┤ │ VICIdial Backend Scripts │ Perl daemons │ (auto-dial, hopper, timeclock,etc.) │ (AST_VDauto_dial.pl, etc.) ├─────────────────────────────────────┤ │ MySQL / MariaDB │ Lead data, CDRs, config │ (vicidial_list, vicidial_log, etc.) │ ├─────────────────────────────────────┤ │ Asterisk PBX │ SIP, RTP, dialplan, │ (handles actual calls) │ AMI, recording ├─────────────────────────────────────┤ │ Linux OS │ ViciBox (OpenSuSE) or │ (AlmaLinux, Rocky, Debian) │ manual install └─────────────────────────────────────┘ The Perl backend scripts are the real engine. AST_VDauto_dial.pl is the predictive dialer — it monitors agent availability, calculates dial ratios, and sends originate commands to Asterisk via the Manager Interface (AMI). AST_VDhopper.pl loads leads from the database into the dial hopper — a pre-filtered buffer that the dialer pulls from. Everything runs in a web browser. Agents need nothing installed on their machines. Admins configure everything through the admin panel. Reports generate in the browser. Even the agent phone can run in the browser using WebRTC (since VICIdial 2.14 with Asterisk 16+). --- ## What VICIdial Can Do The feature list is genuinely massive. Here's what matters for most operations: ### Outbound Dialing - Predictive dialing — The algorithm monitors agent answer rates, call durations, and availability to calculate how many leads to dial simultaneously. When tuned correctly, it keeps agents on calls 85-95% of their logged-in time with minimal dropped calls. - Progressive dialing — Dials one call per available agent. Lower abandonment risk than predictive but lower agent utilization. - Preview dialing — Shows lead info to the agent before dialing. Agent reviews and clicks to dial. - Manual dialing — Agent types or selects a number and clicks dial. For high-value outreach. - Ratio dialing — Fixed ratio of calls per agent (e.g., 2:1 or 3:1). ### Inbound Call Handling - ACD (Automatic Call Distribution) — Routes inbound calls to available agents based on skills, priority, and wait time. - IVR (Interactive Voice Response) — Multi-level menus with DTMF input. "Press 1 for sales, press 2 for support." - Inbound DID routing — Map specific DIDs to specific in-groups, IVRs, or agents. - Skills-based routing — Route calls based on agent skills, language, product knowledge. - Queue management — Hold music, position announcements, callback offers. ### Blended Campaigns This is where VICIdial really differentiates from basic dialers. An agent can handle both inbound and outbound calls in the same session. When inbound calls are slow, the agent gets outbound leads. When an inbound call comes in, the system pauses outbound dialing for that agent and routes the inbound call. Blended mode is how you maximize agent utilization without overstaffing. It's also one of the harder things to configure correctly. The balance between inbound priority and outbound dial levels takes experimentation. ### Call Recording Every call can be recorded automatically. Recordings are stored on the server and accessible through the admin interface. You can configure recording at the campaign, in-group, or individual call level. Recording storage adds up fast. At 1 MB per minute (standard quality), a 100-agent operation doing 8 hours of calls daily generates about 48 GB per day. Plan your storage accordingly. ### Agent Management - Real-time monitoring — See every agent's status (ready, on call, paused, in wrap-up), current call duration, caller ID, and campaign. - Whisper/barge — Listen to agent calls silently, whisper coaching the agent can hear (lead can't), or barge in for three-way conversation. - Pause codes — Track why agents pause (break, lunch, bathroom, coaching). Essential for accountability. - Agent timeclock — Built-in time tracking with login/logout and pause time reporting. - Screen scripting — Display custom scripts to agents based on lead data, disposition, or campaign. ### Lead Management - List management — Upload, filter, shuffle, and segment lead lists. CSV import, API import, manual entry. - Lead recycling — Automatically re-attempt leads after configurable delays based on disposition. - DNC management — Internal DNC lists, campaign DNC, and system-wide DNC. Scrub leads before dialing. - Callback scheduling — Agents can schedule callbacks (agent-specific or anyone-available). The system automatically redials at the scheduled time. - Dial count limits — Cap how many times any lead gets called. For TCPA compliance and to avoid burning your reputation. ### Reporting VICIdial includes dozens of built-in reports: - Real-Time Report — Live view of all agents, campaigns, and call activity - Agent Performance — Calls per hour, talk time, wait time, pause time, disposition breakdown - Campaign Statistics — Contact rate, dial-to-connect ratio, drops, abandon rate - Call Detail Records — Every call with timestamps, duration, disposition, recording link - Outbound Calling Report — Detailed per-call data for compliance auditing - DID Report — Inbound call tracking per number - Export — Most reports export to CSV The reporting is functional but not pretty. If you need polished dashboards, you'll either use the Grafana integration or build custom reports against the MySQL database. --- ## What VICIdial Is Not Let's be honest about the limitations, because the forums and Reddit are full of people who went in with the wrong expectations. It's not a cloud SaaS product. There's no sign-up page. You run it on your own servers (or pay someone to host it). You manage the infrastructure, the updates, the backups. If Asterisk crashes at midnight, that's your problem. The UI is from 2006. The admin interface is functional — it does everything — but it looks like it was designed by someone whose primary tool was a text editor. Because it was. This is PHP from the era of tables-for-layout. No responsive design. No modern JavaScript framework. It works, but don't show it to a designer. No built-in CRM. VICIdial manages leads and call activity, but it's not a CRM. There's no deal pipeline, no email tracking, no marketing automation. You'll need to integrate with a separate CRM (Salesforce, HubSpot, custom) using the VICIdial API. Documentation is thin. The official documentation is the Manager manual (PDF) and the vicidial.org forums. There is no getting-started tutorial. There is no API reference website. The forums have the answers, but they're buried in 15 years of threads. You'll spend time searching. No mobile app. The agent screen is a web page designed for desktop browsers. There's no native mobile experience. Agents on phones would use the WebRTC interface, which works but isn't optimized for small screens. --- ## Who Uses VICIdial VICIdial's user base is larger than most people realize: - Outbound sales operations — The largest user segment. Solar, insurance, home services, political campaigns, debt consolidation, real estate. - Collection agencies — Predictive dialing for debt collection with TCPA-compliant settings. - Political campaigns — Volunteer phone banks and paid canvassing operations. VICIdial's political campaign features include survey scripting and voter file integration. - Customer service centers — Inbound ACD with IVR and skills-based routing. - BPOs (Business Process Outsourcing) — Multi-tenant VICIdial clusters serving multiple clients. Common in the Philippines, India, and Latin America. - Government agencies — Some municipalities and state agencies run VICIdial for citizen outreach and survey programs. The common thread: organizations that make or receive enough calls to justify dedicated infrastructure but don't want to pay $100-200/seat/month for a hosted solution. --- ## What VICIdial Costs The software is free. The infrastructure isn't. Here's a realistic breakdown. ### Server Hardware For a 20-agent operation, a single server handles everything: | Component | Spec | Cost | |-----------|------|------| | CPU | Intel Xeon E-2388G (8 cores) | $350 | | RAM | 64 GB ECC DDR4 | $200 | | Storage | 2× 1TB NVMe (RAID 1) | $200 | | OS Drive | 500GB NVMe | $50 | | NIC | Intel X710 dual-port 10GbE | $150 | | Server chassis | Supermicro 1U or similar | $400 | | Total | | ~$1,350 | For 50+ agents, you need a multi-server cluster — separate database server, web server, and one or more telephony servers. Double or triple the hardware cost. Colocation for a single server runs $50-150/month at most data centers. If you go cloud (AWS, GCP), expect $200-500/month for an equivalent instance. We have a full cost analysis here if you want the detailed numbers. ### SIP Trunking You need a SIP carrier to route calls to the PSTN. Costs vary by volume: - Low volume (< 50K minutes/month): $0.01-0.02/minute - Medium volume (50K-500K minutes/month): $0.005-0.01/minute - High volume (500K+ minutes/month): $0.003-0.007/minute For a 20-agent operation doing 8 hours/day, 20 business days/month, roughly 50% talk time: 20 agents × 8 hours × 60 min × 20 days × 50% = 96,000 minutes 96,000 × $0.008/min = $768/month in carrier costs Add $20-50/month for DIDs (caller ID numbers). Carrier selection guide here. ### Support and Maintenance This is where people underestimate costs. VICIdial doesn't maintain itself. - Updates: VICIdial releases SVN updates regularly. Someone needs to apply them, test, and handle any issues. - Asterisk maintenance: Security patches, version upgrades, configuration tuning. - Database maintenance: Table optimization, log rotation, backup verification. - Troubleshooting: SIP issues, one-way audio, registration failures, hopper problems, agent connection issues. You're either paying a sysadmin ($4-8K/month for a good one) or you're doing it yourself. Or you hire a managed VICIdial provider. ### Total Cost Comparison | | VICIdial (Self-Hosted) | VICIdial (Managed) | Hosted Dialer | |---|---|---|---| | 20 agents | ~$1,200/month | ~$2,000/month | $2,000-4,000/month | | 50 agents | ~$2,500/month | ~$4,000/month | $5,000-10,000/month | | 100 agents | ~$4,000/month | ~$6,500/month | $10,000-20,000/month | The savings compound with scale. At 100 agents, VICIdial costs a fraction of hosted alternatives. But you're taking on the operational responsibility. That's the trade-off. --- ## Getting Started with VICIdial ### Installation Options ViciBox (Recommended for New Installs) ViciBox is a pre-built ISO image that installs a complete VICIdial system. Boot from the ISO, answer a few questions, and you have a working system in 30-45 minutes. ViciBox 12.0.2 (current) runs on OpenSuSE Leap 15.6 with Asterisk 18 and MariaDB 10.11. bash # After ViciBox install, the system is at: # Admin: http://your-server-ip/vicidial/admin.php # Agent: http://your-server-ip/agc/vicidial.php # Default admin login: 6666 / 1234 (change immediately!) Manual Install on AlmaLinux 9 If you want control over the base OS, install AlmaLinux 9 minimal and then install VICIdial from SVN. This is harder but gives you full control. Our setup guide covers this path in detail. Cloud Deployment VICIdial runs fine on cloud instances (AWS EC2, GCP Compute Engine, DigitalOcean Droplets), but there are caveats. Cloud networking adds latency and jitter that can degrade call quality. Bare metal is better for voice. If you go cloud, use dedicated instances (not shared/burstable) and pick a region close to your SIP carrier. ### First Campaign Setup Once VICIdial is installed, here's the path to your first outbound call: **1. Configure a SIP Trunk
About
Built by ViciStack — enterprise VoIP and call center infrastructure.
- VICIdial Hosting & Optimization
- Call Center Performance Guides
- Full Article: VICIdial: The Complete Guide to Open-Source Call Center Software
License
MIT
