The VICIdial keepalive scripts and crontab
VICIdial keeps its dialer alive with a set of AST Perl scripts run from cron every minute. Here is what each one does and how the crontab holds the dialer up.
VICIdial does not run as one big daemon. It runs as a fleet of small Perl programs, and cron is what keeps that fleet alive. The keepalive script checks every minute that the dialer processes are running, restarts the ones that died, and starts the timers that pace your calls. Lose the crontab and the dialer goes quiet within a minute or two. So it is worth knowing what is actually scheduled.
What keepalive means here
In VICIdial, Keepalive is the job of making sure each background process is present and respawned if it crashes. The central script, ASTVDauto_dial.pl and its siblings, are launched and watched by keepalive_vicidial.pl, which the crontab calls once a minute. If a process is missing, keepalive starts it; if it is already running, keepalive leaves it alone. That idempotent every-minute check is the whole trick.
The scripts cron runs
A few names you will see in the crontab and the process list. AST_update.pl writes live channel and agent state back to the database. AST_VDauto_dial.pl fires the actual outbound calls under Predictive dialing. AST_VDremote_agents.pl handles Remote agent sessions. AST_VDhopper.pl loads the Hopper, the staging queue of phone numbers ready to dial. AST_send_listen.pl and the timeclock and reset scripts handle housekeeping. Most run continuously and are watched by keepalive; a handful are scheduled directly in cron at fixed minutes.
flowchart TD
A[cron every minute] --> B[keepalive_vicidial.pl]
B -->|alive| C[leave running]
B -->|dead| D[respawn process]
D --> E[AST_update channel state]
D --> F[AST_VDauto_dial outbound]
D --> G[AST_VDhopper load leads]
D --> H[AST_VDremote_agents]The hopper script deserves a note. It refills the Lead list staging table so the auto-dial process always has numbers waiting. If the hopper cron stalls, agents go idle even with millions of leads loaded, because nothing is queued to dial. Empty hopper, silent dialer.
Reading the crontab
The schedule lives in root's crontab, viewable with crontab -l. You will see the every-minute keepalive line, the hopper line, nightly maintenance jobs that clean tables and rotate logs, and the timeclock reset. Do not hand-edit these lines unless you know exactly what you are changing. A wrong cron expression on the keepalive line is the fastest way to take a working dialer down. The values here are tied to the Dialer pacing you set in the campaign, so leave the cadence alone.
The keepalive scripts also read the active server's Conf file settings and the per-server flags in the admin. Our server conf templates post covers those server-level settings, and the installation guide shows where the crontab gets installed during bring-up.
When the dialer goes quiet
If calls stop, check three things in order. Is cron running at all (systemctl status cron). Is the keepalive line still in crontab -l. Are the AST processes present (ps aux grep AST). Nine times out of ten the answer is a stopped cron daemon or a hopper that ran dry. The fix is usually a single restart, not a reinstall.
On our managed boxes the crontab is installed, validated, and monitored before you ever log in. When we provision a server in under 40 seconds, keepalive is already firing every minute, so the dialer is up the moment leads load. You keep root SSH, so you can read the crontab and tune the scheduled jobs yourself whenever you want. See plans and pricing.
About VICIfast LLC
VICIfast LLC operates a managed VICIdial hosting + BYOI service for outbound and inbound call centers. We run the dialers, the carriers, the recordings pipeline, and the compliance plumbing so operators don’t have to.
Citing this article
VICIfast Engineering. “The VICIdial keepalive scripts and crontab”. VICIfast LLC, June 29, 2026. Retrieved from https://vicifast.com/blog/vicidial-keepalive-crontab
Have questions?
Related posts
You might be interested in
VICIfast newsletter
Liked this? Get the next one in your inbox.
We ship the kind of stuff you just read — concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.
Comments
No comments yet — be the first.