2FA Agent
By Carpenox — VICIdial Architect, Troubleshooter, and Eternal Code Archaeologist
Every few months I like to step back, sift through the commit logs, and take stock of how VICIdial continues to evolve. Since late November 2025, the project has seen a surprisingly dense wave of improvements — from AGI-level call‑flow logic to backend archival tooling, adaptive dialing enhancements, PHP8 compatibility, and even new experimental VCA components.
This cycle wasn’t about flashy UI changes. It was about tightening the engine, fixing long‑standing edge cases, and expanding the adaptive dialer’s intelligence. Below is my curated breakdown of what matters, why it matters, and how these updates impact real‑world call center operations.
Added alter_cid_name option
A small but meaningful upgrade. This gives inbound routing more flexibility when manipulating Caller ID Name data — especially useful for branded routing, DID‑based identity masking, and carrier‑specific CNAM quirks.
Reinserts missing vicidial_auto_calls records
This is a big reliability win. In rare race conditions, AMD could lose track of an auto‑call record. This patch ensures the system self‑heals instead of leaving orphaned calls or broken agent states.
Added recording_dtmf_muting + stereo recording fix
DTMF muting is essential for PCI‑sensitive environments. Stereo recording fixes help anyone using dual‑channel compliance recording or advanced QA analytics.
Both now update vicidial_list records with optional field variables
These scripts finally behave like first‑class data‑enrichment tools. If the lead exists, they can now push enriched metadata directly into custom fields — a huge win for automated lead hygiene.
First build — part of the growing TTS/voice asset ecosystem.
First build; TTS caching added
Based on cepstral_generate.pl, this new generator caches TTS files for reuse. That means faster IVR prompts, fewer CPU spikes, and smoother high‑volume inbound flows.
Added --agent-log-only flag
Perfect for shops that want to archive agent logs without touching other datasets.
Added --vl-year flag
Lets you target year‑specific vicidial_log_archive_YYYY tables. Cleaner, safer archival workflows for long‑running systems.
Now checks reserved_extensions against dialplan numbers
This prevents accidental collisions when generating conf files — a subtle but important safeguard for multi‑tenant or heavily customized dialplans.
Added adaptive_percentmax_percentage + new ADAPT_PERCENTMAX dial method
This is one of the most meaningful dialing upgrades in years. It gives admins tighter control over max pacing behavior and reduces the risk of over‑dialing during volatile traffic periods.
Added SHARED_ADAPT_PERCENTMAX
This allows multiple campaigns to share adaptive pacing logic — ideal for blended or load‑balanced environments.
--basic-export--custom-export=XXXThese options make exports far more flexible, especially for CRMs that expect specific field layouts.
Added server_live_partitions inserts/updates
Improves AMI‑driven monitoring and partition‑aware reporting.
Legacy first build, but still relevant as the VCA suite expands.
Initial build — foundational for client‑side VCA customization.
First version — derived from the archive log tools.
First version — CRM‑focused log management built on the VCA framework.
Fix for undefined variable issues — small but necessary cleanup.
Added lead status display for callback list output
A quality‑of‑life improvement for agents and supervisors.
The PHP8 transition continues, and these patches keep the AGC stable.
Fix for missing variables in links — improves report reliability.
Switched from Ploticus to Graph.js
This is a modernizing move. Graph.js is lighter, more flexible, and plays better with responsive layouts.
Added ADAPT_PERCENTMAX support — keeping reporting aligned with the new dialer logic.
This file saw the most action — reflecting how central the admin panel is to daily operations.
pause_sec in agent_stats_exportAPI parity with new dial methods is essential for third‑party integrations, and the pause_sec fix resolves a long‑standing annoyance for analytics tools.
While the core AGI and backend updates defined this development cycle, VICIdial also introduced a wide range of UI‑level, compliance‑focused, and workflow‑refining features across System Settings, Campaigns, In‑Groups, and DIDs. These changes may look subtle at first glance, but they significantly improve agent experience, dialing accuracy, security posture, and administrative control.
Below is my breakdown of the most impactful additions.
A new option that replaces raw SIP failure codes with a custom message.
This prevents agents from being overwhelmed by technical alerts and keeps the manual dial workflow clean.
A major upgrade for dialing hygiene.
You can now enforce rules like:
These filters prevent malformed numbers from hitting the dialplan and reduce carrier rejections.
Enables dual‑channel recordings (agent left, customer right).
Critical for QA, analytics, and compliance.
Allows multiple simultaneous stereo recordings per call.
This is VICIdial’s most advanced recording capability to date.
Flags recordings where DTMF tones occur — essential for PCI audits.
A powerful privacy tool with multiple modes:
This is VICIdial’s strongest PCI‑protection feature ever shipped.
Defines how long a 2FA session remains valid.
A major step forward for enterprise security.
Centralizes all 2FA configuration.
If misconfigured, the system warns you to prevent accidental lockouts.
A subtle but important security refinement.
Admin → Servers now shows drive partitions directly in the UI.
Great for catching low‑disk or misconfigured mounts.
A new diagnostic page that alerts you if any MySQL tables are in a crashed state.
This is one of those “finally” features that every admin appreciates.
A flexible new tool for manipulating Caller ID Name on inbound calls.
Modes include:
This is extremely useful for multi‑system routing and carrier normalization.
This development window wasn’t about massive feature drops — it was about refinement, stability, and future‑proofing. The adaptive dialer got smarter. The admin tools got safer. The AGI layer got more reliable. And the PHP8 transition continues to harden the web interface for the next decade.
If you’re running a production cluster, these updates are absolutely worth pulling in. They reduce edge‑case failures, improve compliance recording, and give you more control over pacing and data hygiene.
-Chris aka carpenox
How to - Install ViciDial on Alma Linux 10 How to Install VICIdial on AlmaLinux…
Cyburdial Turns 6: A Milestone Worth Celebrating Six years ago, Cyburdial launched with a bold…
How to - Fix: Unable to open master device '/dev/dahdi/ctl' for Dahdi This happens after…
How to - Fix "Unable to lookup 'SERVER_EXTERNAL_IP'" This error is the newer SVN versions…
How to - Upgrade any Leap ViciBox install to Leap 15.6 A lot of people…
How to - Debug Webphones for ViciDial I get asked several times a day in…
This website uses cookies.