Agc Vicidial.php ((link)) <2025-2026>
agc/vicidial.php is the core Agent Screen for the VICIdial open-source contact center suite. It is a complex PHP script that uses AJAX to communicate with the server in real-time, allowing agents to handle calls, view lead data, and manage dispositions without refreshing the page. 1. Preparation & Pre-requisites Before an agent can successfully use vicidial.php , several backend configurations must be in place: Database Setup : Ensure your vicidial_users table has active entries and that the table contains correct login_user login_pass Campaign Configuration
: A campaign must be created and set to "Active". The user must be assigned to a user group that has permissions for that campaign. PHP Environment dbconnect.php file (often in /var/www/agc/ agc vicidial.php
) must be correctly configured with your database IP, username, and password to allow the script to connect. VICIdial.org 2. The Login Process Agents access the interface by navigating to agc/vicidial
Since agc_vicidial.php is not a core Vicidial file (it is likely a custom or proprietary add-on), this content is structured as a Technical Documentation & Implementation Guide based on common Vicidial architecture and API hooks. Call flow integration
Call flow integration
- On call start:
- Evaluate effective AGC mode (user > campaign > global).
- If client mode and agent browser supports WebAudio + getUserMedia:
- Agent module enables AGC on microphone stream; browser sends metrics.
- Else if server mode:
- Mark call in DB for post-call processing or initiate live DSP if configured.
- On call end:
- Browser sends final metrics; server completes processing jobs and writes agc_call_logs and processed recording entries.
- Recording handling:
- Keep original recording; store AGC-processed copy when created and mark recording source/version.
- Option for admins to replace original (not default).
Data model (MySQL additions)
- campaign_settings table (existing): add columns
- agc_enabled TINYINT(1) DEFAULT 0
- agc_mode ENUM('client','server','auto') DEFAULT 'auto'
- agc_preset_default VARCHAR(16) DEFAULT 'normal'
- vicidial_users (existing): add
- agc_enabled TINYINT(1) DEFAULT NULL -- NULL = use campaign/global default
- agc_preset VARCHAR(16) DEFAULT NULL
- agc_presets (new):
- id INT PK AUTO_INCREMENT
- name VARCHAR(32) UNIQUE
- attack_ms INT
- release_ms INT
- target_level_db FLOAT -- e.g., -18
- max_gain_db FLOAT
- limiter_threshold_db FLOAT
- created_at TIMESTAMP
- description TEXT
- agc_call_logs (new):
- id INT PK
- lead_id INT NULL
- user VARCHAR(20)
- campaign_id VARCHAR(20)
- callid VARCHAR(64)
- mode ENUM('client','server')
- preset_id INT
- timestamp TIMESTAMP
- avg_gain_db FLOAT
- max_gain_db FLOAT
- clipping_events INT
- s_nr_db FLOAT
- notes TEXT
Indexes on callid, user, campaign_id.
2. File Location (Standard Vicidial Structure)
/var/www/html/agc/agc_vicidial.php
# OR
/usr/local/src/agc/agc_vicidial.php
Part 6: Security Considerations for agc vicidial.php
Security Implications
vicidial.php is not designed for direct HTTP access. The AGC invokes it via CLI, but a common misconfiguration is leaving vicidial.php exposed in the web root. Attackers can bypass authentication by crafting CLI-like arguments.
Hardening steps:
- Move
vicidial.phpoutside the web document root (e.g.,/usr/local/bin/) - Ensure the AGC runs under a dedicated OS user (
astguiclient) with no shell - Validate that
vicidial.phpexits immediately if$_SERVER['HTTP_HOST']is set (web access)