How to record agents who don't use the VICIdial agent screen
Step-by-step guide to using agi-NVA_recording to capture calls from agents on plain phones or third-party softphones, with correct dialplan placement and parameter choices.
Some teams have agents who dial directly from a desk phone or a third-party Softphone without ever opening the VICIdial agent screen. Standard campaign recording settings don't fire for those calls. The fix is agi-NVA_recording.agi — a purpose-built AGI (Asterisk Gateway Interface) that adds Call recording and database logging to any extension or Call Menu.
Before you start
- Confirm the agi-NVA_recording.agi file is present in your AGI directory (usually /usr/share/asterisk/agi-bin/).
- Decide whether you want call_log entries, user_call_log entries, or both — and whether the phone number dialed needs to match a lead in vicidial_list.
- Know your logging preference: NONE, STDERR, FILE, or BOTH.
Basic recording dialplan entry
Add these lines to your extensions.conf in the appropriate context, before the Goto or Dial that routes the call:
exten => _X.,1,AGI(agi-NVA_recording.agi,BOTH------Y---N---Y---N)
exten => _X.,n,Goto(default,${EXTEN},1)
This logs to both file and STDERR, enables user_call_log, disables call_log (correct for outbound), and turns on audio recording.
Inbound call to agent example
For inbound calls arriving at extension 5678, where you also need a call_log entry:
exten => 5678,1,AGI(agi-NVA_recording.agi,BOTH------Y---Y---Y---N)
Parameter 4 (call_log) is now Y because this is an inbound call. For Call Menu use, drop the same agi-NVA_recording.agi line as the Call Menu's AGI field, with the parameter string as the argument.
Adding lead lookup and NVA list insertion
flowchart TD
A[Agent dials number] --> B[NVA_recording AGI]
B --> C{Search vicidial_list?}
C -->|N| D[Record and continue]
C -->|Y - found| E[Run NVA Call URL]
E --> F[Record and continue]
C -->|Y - not found| G{Error on miss?}
G -->|Y| H[Hangup call]
G -->|N| I{Insert into NVA list?}
I -->|Y| J[Create lead record]
I -->|N| K[Record and continue]When you enable phone-number search (parameter 9 = Y), the script looks up the dialed number in vicidial_list assuming 10-digit numbers. If a match is found, you can fire an NVA Call URL (parameter 12). If no match is found, you can auto-insert a new lead into a designated list (parameter 13) with overrides for list ID, phone code, and status.
Full example with lookup, NVA Call URL, and error on miss:
agi-NVA_recording.agi,BOTH------Y---N---Y---N---N---N---Y---ALLLISTS---Y---Y
**Heads up:** Double-logging (parameter 6) is only for inbound Call Menu forwarded calls. If you enable it on a regular outbound extension you will get duplicate rows in call_log.
Using a dial prefix to route through the AGI
If agents dial with a prefix (for example 94 before a 1NXXNXXXXXX number), you can use the System Settings Custom Dialplan to redirect those calls into the defaultlog context first, then let NVA_recording sit at the top of that context:
exten => _941NXXNXXXXXX,1,Goto(defaultlog,9${EXTEN:2},1)
For a full explanation of how VICIdial handles recording in general, read VICIdial call recording explained. If you need to understand when campaign recording kicks in versus AGI-driven recording, see VICIdial campaign recording modes.
VICIfast configures and maintains your dialplan for you. See VICIfast pricing to get started.
About VICIfast LLC
VICIfast LLC operates a managed VICIdial hosting + BYOI service for outbound and inbound call centers. We run the dialers, the carriers, the recordings pipeline, and the compliance plumbing so operators don’t have to.
Citing this article
VICIfast Engineering. “How to record agents who don't use the VICIdial agent screen”. VICIfast LLC, June 24, 2026. Retrieved from https://vicifast.com/blog/how-to-record-agents-without-agent-screen
Have questions?
Related posts
You might be interested in
VICIfast newsletter
Liked this? Get the next one in your inbox.
We ship the kind of stuff you just read — concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.
Comments
No comments yet — be the first.