Vicidial Installation Guide on Rocky Linux 9 (2026 Edition)

TL;DR: Vicidial remains the most powerful open-source predictive dialer and call-center platform — but installing it from scratch trips up most engineers. This guide walks through a clean Rocky Linux 9 install, network and firewall prep, the official install script, post-install hardening, and the first agent login. Plan for two to three hours, including reboot.

Prerequisites

  • Rocky Linux 9 (or RHEL 9) minimal install, fully updated
  • At least 4 vCPU, 8 GB RAM, 80 GB disk for <50 agents; scale up linearly
  • Public or static internal IP — Vicidial needs a stable address
  • Root access via SSH
  • SIP trunk credentials from your carrier (DID, username, password, host)

1. System prep

dnf update -y
dnf install -y epel-release wget vim net-tools
hostnamectl set-hostname vicidial.example.com
timedatectl set-timezone UTC
systemctl disable --now firewalld   # Vicidial uses iptables rules during install
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

SELinux must be permissive during install; you can tune it back to enforcing afterwards with custom policies.

2. Download the Vicibox install script

cd /usr/src
wget https://www.vicidial.org/vicidial-install-12.x.tar.gz
tar xzf vicidial-install-12.x.tar.gz
cd vicidial-install-12.x
./install.pl

The script asks several questions: server role (single-server is fine to start), server IP, MySQL root password, and admin credentials. Accept defaults unless you know why you’re changing them.

3. Reboot and verify services

reboot
# after reboot:
systemctl status mariadb httpd asterisk
ss -tlnp | grep -E '5060|80|3306'

You should see MariaDB on 3306, Apache on 80, and Asterisk listening on 5060 (SIP) and 4569 (IAX2).

4. Configure your SIP trunk

Log in to the admin panel at http://your-server/vicidial/admin.php. Navigate to Admin → Carriers → Add. Use a config template like:

[carrier-XYZ]
type=peer
host=sip.carrier.com
username=YOUR_USER
secret=YOUR_PASS
fromuser=YOUR_USER
context=trunkinbound
disallow=all
allow=ulaw
allow=alaw
insecure=invite,port
nat=force_rport,comedia

Save and reload Asterisk: asterisk -rx "sip reload". Test registration with sip show registry.

5. Create your first campaign

Admin → Campaigns → Add. Pick an outbound campaign type, set dial method to RATIO (ratio-based) or ADAPT_HARD_LIMIT (adaptive predictive). Attach the carrier you created, set call-recording defaults, and assign a script.

6. Add an agent

Admin → Users → Add. Create a phone entry (Admin → Phones) with the agent’s softphone credentials. Agents log into http://your-server/agc/vicidial.php with their user/pass/campaign.

7. Post-install hardening

  • Re-enable firewalld and allow only required ports: 80/443 to web users, 5060/4569 + RTP range (10000–20000 UDP) to your carrier IPs only.
  • Block all SIP traffic at the firewall except from carrier IPs — drive-by SIP brute force is brutal.
  • Set strong passwords on every Vicidial admin user; change the default 6666 phone PIN.
  • Enable HTTPS via Let’s Encrypt; admin and agent panels send passwords in cleartext otherwise.
  • Set up daily MySQL backups: mysqldump --all-databases | gzip > /backup/vici-$(date +%F).sql.gz.

Common pitfalls

  • One-way audio: Almost always NAT/RTP. Open UDP 10000–20000 to/from the carrier and ensure externip is set in sip.conf if behind NAT.
  • Agents can’t log in: Check phone passwords match, user is allowed for the campaign, and the agent’s web URL points to the right server.
  • Predictive dial calls dropping: Reduce dial level, check trunk channel limit, and verify carrier permits parallel calls.

FAQ

Does Vicidial work on Ubuntu?

The official ViciBox installer targets Rocky/RHEL. Community packages exist for Debian/Ubuntu but are less battle-tested. Stick with Rocky unless you have a strong reason.

How many agents can one server handle?

Roughly 50–100 agents on a properly-sized single server. Beyond that, split into a database server, telephony server, and one or more web servers.

Is Vicidial GDPR-compliant?

The platform itself is neutral — compliance depends on your call-recording, retention, and consent practices. Vicidial supports per-list and per-campaign recording rules and DNC (Do Not Call) handling.

Need help?

If you’d like a Vicidial deployment done right — clustering, SIP trunk integration, scripts, and reporting — our VoIP team can do it remotely.

Leave a Comment