VICIfast
Glossary

Agent

A VICIdial user who logs into the agent screen and handles calls.

An agent is a VICIdial user who logs into the agent screen and handles calls. Every agent is a row in vicidial_users, and what separates an agent from a supervisor or administrator is that row's user_level.

user_level

user_level is a single digit from 1 to 9, and it is the main permission control in VICIdial. Level 1 is the plain agent: log in, take calls, disposition them. Higher levels progressively unlock the reporting and administration screens, with 9 as full administrative access. There is no separate "agent" account type - an agent is simply a user whose level, group and permission flags stop at the agent screen.

Alongside the level, individual capability flags on the user record control specific powers: whether they can view reports, alter leads, transfer calls, or listen in on other agents.

What exists while an agent is logged in

An agent session is live state, not just a login. vicidial_live_agents holds one row per logged-in agent with:

  • status - one of READY, QUEUE, INCALL, PAUSED, CLOSER, MQUEUE
  • campaign_id and closer_campaigns - what they are taking calls from
  • conf_exten and channel - the Asterisk conference and channel they are bridged into
  • last_call_time, last_call_finish, calls_today - the counters the real-time screens read

The dialer's pacing decisions are made against this table. That is why an agent who closes the browser without logging out keeps a stale row for a short while, and why the dialer keeps placing calls for someone who has already left.

Groups, not licences

An agent's access to campaigns and in-groups comes through their user group, and their inbound call flow comes through in-group membership. VICIdial itself does not licence per seat - agent count is a sizing question about server capacity and concurrent channels, not a billing one.

See also