vicigeeksimple guides
Browse

Helpful checks

Useful tools

Simple checks for VICIdial, Asterisk and SIP. Every tool says when to use it and what a good result looks like.

06 toolsSafe checks firstFull guides included

Check before changing anything

Look first. Change carefully.

Each check is visible and explained before you run it.
T01

VICIdial · read only

Agent State Correlator

Compare browser, conference, live-agent and hopper state for one agent before changing a campaign.

Use when
An agent appears live or ready but receives no outbound calls.
Proof
A fresh lead, channel, bridge and disposition must agree for the same agent and timestamp.
Read-only starter · bash
asterisk -rx 'core show channels concise'
mysql asterisk -e "SELECT user,status,lead_id,conf_exten FROM vicidial_live_agents ORDER BY user;"
mysql asterisk -e "SELECT status,COUNT(*) FROM vicidial_auto_calls GROUP BY status;"
Open the full guide
T02

Asterisk · channel trace

DestChannel Timeline

Build a chronological Local-to-SIP event trail around a missing destination-channel lookup.

Use when
AGI or optimization logs report NO DestChannel during otherwise valid calls.
Proof
The Local unique ID must map to its own destination under overlapping calls.
Read-only starter · bash
grep -n 'NO DestChannel' /var/log/astguiclient/*.log | tail -20
asterisk -rx 'core show channels concise'
asterisk -rx 'manager show events'
Open the full guide
T03

Operations · duplicate safe

Callback Dry-run Ledger

Resolve normalized phones to exact leads and owners before moving a single callback.

Use when
Callbacks must move between agents without duplicates or silent owner changes.
Proof
Input, planned, changed, no-op, rejected and independently verified totals must reconcile.
Read-only starter · sql
SELECT phone_number, COUNT(*) AS lead_rows
FROM vicidial_list
GROUP BY phone_number
HAVING COUNT(*) > 1
ORDER BY lead_rows DESC;
Open the full guide
T04

Asterisk · file integrity

Recording Boundary Audit

Correlate recording IDs, filenames, durations and call identities to expose merged audio.

Use when
One recording file appears to contain more than one customer conversation.
Proof
Two back-to-back calls must produce separate rows and playable files with matching durations.
Read-only starter · sql
SELECT recording_id, filename, start_time, end_time, length_in_sec, lead_id, user
FROM recording_log
WHERE start_time >= NOW() - INTERVAL 1 HOUR
ORDER BY recording_id DESC LIMIT 25;
Open the full guide
T05

SIP · service namespace

SIP Resolver Preflight

Test carrier DNS from the service context before treating registration failure as an upstream outage.

Use when
A carrier hostname stops resolving or a trunk suddenly reports unavailable.
Proof
The host, service namespace and telephony process must resolve the same current targets.
Read-only starter · bash
getent ahosts sip.example-carrier.net
resolvectl query sip.example-carrier.net
asterisk -rx 'pjsip show registrations'
Open the full guide
T06

Dialer · measured tuning

AMD Control Matrix

Compare one bounded AMD change against stable human and machine pickup evidence.

Use when
Answering-machine detection burns good leads or allows too many machine connects.
Proof
Contact, false-machine, drop and agent-connect rates must improve against an unchanged control.
Read-only starter · sql
SELECT status, COUNT(*) AS calls
FROM vicidial_log
WHERE call_date >= NOW() - INTERVAL 1 DAY
GROUP BY status ORDER BY calls DESC;
Open the full guide

Follow without guesswork

Get the next article

RSS is live now. Email delivery below is an explicit local preview and sends nothing.Open the RSS feed
Email preview only. The address stays in this browser and is never transmitted.