VICIfast
Blog

The operator's perspective.

On VICIdial, SIP, and call-center ops.

Long-form pieces by people who run dialers. TCPA changes that actually matter, the hidden cost of self-hosting VICIdial, choosing a SIP carrier without getting locked in, why provisioning time matters more than agent count. We post when we have something to say.
Read the docs

7-day free trial · Cancel anytime · Pay with card, PayPal, or USDT

Page 14

Operator writing, sorted newest first.

Capturing key presses with agi-dtmf.agi

agi-dtmf.agi plays DTMF tones or signals stored in the callerid field, supporting digits, letters translated to dialpad equivalents, pauses, and a signal-only mode.

Guides & tutorialsRead post

Detecting answering machines with VD_amd.agi

VD_amd.agi runs after Asterisk's AMD application on outbound calls, routing the call to an agent if a human answered or dropping it cleanly if a machine was detected.

Guides & tutorialsRead post

Silent agent monitoring with agent_monitor.agi

agent_monitor.agi lets supervisors silently listen to a live VICIdial agent session by dialing an extension — no agent interaction needed.

Guides & tutorialsRead post

What AGI is and how VICIdial uses it

AGI — Asterisk Gateway Interface — gives VICIdial application-level control over selected call features. This guide explains what AGI is and how the agi-*.agi script family works.

Guides & tutorialsRead post

How to attach an AGI script to a call menu

VICIdial call menus accept AGI scripts as actions, letting you add database-driven routing and custom logic without editing extensions.conf directly.

Guides & tutorialsRead post

Per-area-code caller ID with agi-VDADselective_CID.agi

agi-VDADselective_CID.agi runs before each outbound call is placed and selects a caller ID number based on the lead's area code, improving local-number matching for outbound campaigns.

Guides & tutorialsRead post

Parking and unparking a call with the park_call function

Send a customer or a third party to the park extension and grab them back, including IVR park and swap options, from a logged-in agent session.

Guides & tutorialsRead post

Listing audio prompts with the sounds_list API

How the sounds_list non-agent API outputs the audio files in your VICIdial audio store, with format and sort options.

Guides & tutorialsRead post

Adding and dialing a lead with external_add_lead

How the external_add_lead Agent API function drops a new lead into a logged-in agent's manual dial list, with optional DNC checks.

Guides & tutorialsRead post

Ringing an agent's phone with the call_agent function

How the call_agent agent-api function places a call from a VICIdial agent session to the agent's own phone.

Guides & tutorialsRead post

Reading one agent's live status with agent_status

How the agent_status non-agent API returns one agent's real-time state, current call, and sub-status in a single line you can poll.

Guides & tutorialsRead post

Controlling a remote agent's call with ra_call_control

Hang up or transfer a call that a remote agent is handling, with optional disposition and status, using three supported stages.

Guides & tutorialsRead post

Sending DTMF tones from the agent screen with send_dtmf

Push a string of touch-tones into an agent's live session to drive an IVR menu, with pound, star, and silence encoded as P, S, and Q.

Guides & tutorialsRead post

Setting a disposition from outside with external_status

Disposition a call on a logged-in agent's screen from your own app with external_status, including scheduled callbacks and their options.

Guides & tutorialsRead post

Reading the agent's current lead with st_get_agent_active_lead

Look up the lead a logged-in agent has on their screen using a CRM AgentID, returning lead_id, phone, and a few key fields.

Guides & tutorialsRead post

How to drive the agent screen with the Agent API

The Agent API acts on a live, logged-in agent's screen. Here is the function, user, pass, source pattern and the plain-text responses you'll get back.

Guides & tutorialsRead post

Switching an agent's inbound groups with change_ingroups

How the change_ingroups Agent API function adds, removes, or replaces the in-groups a logged-in VICIdial agent takes calls from.

Guides & tutorialsRead post

Listing logged-in agents with logged_in_agents

Pull a live roster of every agent currently logged in to VICIdial, with status and session details, using the logged_in_agents API call.

Guides & tutorialsRead post

Reading an inbound group's live state with in_group_status

How the in_group_status non-agent API returns calls waiting and agent counts for one or more inbound groups in a single line.

Guides & tutorialsRead post

Launching the agent's webphone with webphone_url

How the webphone_url agent-api function displays or launches the configured webphone URL for a live VICIdial agent session.

Guides & tutorialsRead post

Playing audio to a caller with the audio_playback function

How the audio_playback agent-api function plays, stops, pauses, and resumes an audio file in a live VICIdial agent session.

Guides & tutorialsRead post

Pulling a disposition report with call_dispo_report

Get a disposition breakdown by campaign, ingroup, or DID over a date range with the call_dispo_report Non-Agent API function.

Guides & tutorialsRead post

Pausing and resuming an agent with external_pause

How the external_pause Agent API function pauses or resumes a logged-in VICIdial agent from an outside system, and what happens mid-call.

Guides & tutorialsRead post

Seeing an agent's inbound groups with agent_ingroup_info

How the agent_ingroup_info non-agent API shows the in-group and outbound auto-dial settings a logged-in agent currently has.

Guides & tutorialsRead post