Understanding VICIdial: What You Need to Know
What is VICIdial?
VICIdial is an open-source call center software suite designed to handle inbound and outbound calls, predictive dialing, and customer relationship management (CRM) integration. It's trusted by businesses worldwide for its flexibility, scalability, and robust feature set, making it ideal for organizations of all sizes.
Key Features of VICIdial
- Predictive Dialing: Automatically dials multiple numbers to connect agents with live callers.
- Inbound and Outbound Support: Handles incoming customer inquiries and outbound sales campaigns seamlessly.
- WebRTC Integration: Allows agents to make calls directly from a web browser.
- CRM Integration: Connects with tools like Salesforce or HubSpot.
- Scalability: Supports small teams or large VICIdial cluster setups.
Why Choose a Scratch Install on Ubuntu?
A VICIdial scratch installation involves manually installing VICIdial and its dependencies on a fresh Ubuntu server. This method gives you full control over the setup, allowing you to customize every component. Ubuntu 24.04 LTS offers long-term support until 2029, compatibility with Asterisk 20, and a large community for support.
Getting Started: Prerequisites for VICIdial on Ubuntu
Hardware and Software Needs
- CPU: Minimum 2-core; 4 cores recommended for 10+ agents.
- RAM: At least 4GB; 8GB or more for larger setups.
- Storage: Minimum 50GB SSD; 100GB+ recommended.
- Network: Stable internet with 10Mbps upload/download speed.
- OS: Ubuntu 24.04 LTS Server edition.
Cloud vs. Local Server Setup
For VICIdial installation on AWS EC2 or DigitalOcean, create an instance with Ubuntu 24.04 LTS, open ports 80, 443, 5060, and 10000-20000. A local server gives you full control but requires hardware maintenance.
Installing VICIdial on Ubuntu 24.04: Step-by-Step Guide
Step 1: Update System and Install Dependencies
apt update && apt upgrade -y
apt install -y build-essential linux-headers-$(uname -r) apache2 mariadb-server mariadb-client php php-mysql php-mbstring php-gd libmysqlclient-dev libapache2-mod-php curl wget unzip subversion git nano
Step 2: Set Up CPAN Modules
apt install -y perl cpanminus
cpanm -n DBI DBD::mysql Asterisk::Perl Net::Server Time::HiRes LWP::UserAgent HTML::Parser Jcode Switch Digest::MD5 Digest::SHA1
Step 3: Install Asterisk 20 and DAHDI
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz
tar -xvzf asterisk-20-current.tar.gz
cd asterisk-20.*
./configure && make && make install && make config
systemctl enable asterisk
systemctl start asterisk
For cloud servers, use modprobe dahdi_dummy instead of full DAHDI.
Step 4: Configure MariaDB Database
mysql_secure_installation
mysql -u root -p
CREATE DATABASE vicidial;
GRANT ALL PRIVILEGES ON vicidial.* TO 'vicidial'@'localhost' IDENTIFIED BY 'your_secure_password';
FLUSH PRIVILEGES;
EXIT;
Step 5: Install VICIdial from Source
cd /usr/src
svn checkout svn://svn.eflo.net:3690/agc/trunk vicidial
cd vicidial
./install.pl
cp -r /usr/src/vicidial/www/* /var/www/html/
chown -R www-data:www-data /var/www/html
Securing Your VICIdial Installation
Installing Let's Encrypt SSL
apt install -y certbot python3-certbot-apache
certbot --apache -d yourdomain.com
Setting Up UFW Firewall
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 5060/udp
ufw allow 10000:20000/udp
ufw enable
Troubleshooting VICIdial Installation Issues
Common Asterisk and DAHDI Errors
- "chan_dahdi not found": Install
dahdi_dummyfor cloud servers:modprobe dahdi_dummy - "Invalid variable name": Check
/etc/asterisk/sip.conffor syntax errors. - "/vicidial/welcome.php not found": Copy web files to
/var/www/htmland set correct permissions.
Verifying and Testing Your Installation
- Check Asterisk:
systemctl status asterisk - Check screen sessions:
screen -ls - Access admin panel:
https://yourdomain.com/vicidial/admin.php(default login: 6666/1234) - Make a test call via softphone (Zoiper/MicroSIP) to verify telephony.
Integrating VICIdial with External Tools
Connecting to CRMs (Salesforce, HubSpot)
Enable VICIdial API in Admin → System Settings, create an API user, and use
non_agent_api.php to sync call data with Salesforce or HubSpot.
Setting Up Monitoring and Backups
- Zabbix monitoring: Install Zabbix agent to monitor server health.
- Database backups: Use cron with
mysqldumpto backup MariaDB daily. - Recording backups: Use
rsyncto backup/var/spool/asterisk/monitorDONE.
Frequently Asked Questions (FAQs)
1. What are the minimum server requirements for a VICIdial installation on Ubuntu 24.04?
2-core CPU, 4GB RAM, 50GB SSD, and a stable internet connection. For 10+ agents, upgrade to 4-core CPU, 8GB RAM, and 100GB storage.
2. Can I install VICIdial on a cloud server like AWS or DigitalOcean?
Yes. Use Ubuntu 24.04 LTS on AWS EC2 (t3.medium) or DigitalOcean (4GB/2CPU droplet). Install
dahdi_dummy and open necessary ports.
3. Why do I need Asterisk for VICIdial and which version should I use?
Asterisk is the telephony engine. Use Asterisk 20 for compatibility with Ubuntu 24.04 and support for WebRTC.
4. How do I fix the "/vicidial/welcome.php not found" error?
Copy web files: cp -r /usr/src/vicidial/www/* /var/www/html/, set permissions:
chown -R www-data:www-data /var/www/html, and restart Apache:
systemctl restart apache2.
5. How can I secure my VICIdial installation?
Install SSL with Let's Encrypt, configure UFW firewall to allow only necessary ports, and harden database credentials.
6. What is WebRTC and how do I set it up with VICIdial?
WebRTC allows browser-based calling. Enable SSL, configure /etc/asterisk/http.conf with
enabled=yes and bindport=8088, then open port 8088 in your firewall.
7. How do I integrate VICIdial with a CRM like Salesforce?
Enable VICIdial API, create an API user, and use non_agent_api.php with your CRM's API
credentials to sync call data.
8. What should I do after installing VICIdial to start using it?
Verify the installation, set up campaigns in Admin → Campaigns, add agent users, and make test calls. Explore features like predictive dialing and WebRTC.
Conclusion
You've successfully completed a VICIdial scratch installation on Ubuntu 24.04 LTS. From setting up dependencies and Asterisk 20 to securing the system and integrating with CRMs, you now have a powerful, open-source call center platform ready for action. Start by creating campaigns, adding agents, and exploring VICIdial's rich feature set. For advanced scaling, consider a VICIdial cluster setup or cloud deployment.
DialerGiants