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.php outside 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.php exits immediately if $_SERVER['HTTP_HOST'] is set (web access)
Scroll to Top