Reader setup
Before you apply
Use the lab result as evidence scope, not a universal recipe.
- An installed, isolated VICIdial lab and permission to administer it
- Trusted HTTPS, WebRTC readiness and a browser-phone template confirmed for this build
- Authorized access to the lab Admin interface and read-only Asterisk inspection
- What you will prove
- Prepare the internal route and verify its matching dialplan before a practice call.
- Safety boundary
- Use a standalone closed lab; stop if an external carrier or another route can match the practice digits.
1. Confirm the lab boundary
This optional branch is for the person preparing an already-installed, standalone lab. The course uses synthetic leads with phone_number 9001001 and phone_code 1, and the exact internal dial string 19001001. No external carrier is needed. Confirm that the lab's dialing configuration produces that exact string and that no external carrier route can match it.
Trusted HTTPS, WebRTC and a compatible browser-phone template must already be ready on this build. A template is not assumed to be a stock default. This guide prepares a destination; it does not install the platform, configure browser audio or prove that a call connected.
2. Add the custom route
In Admin, open System Settings and find Custom Dialplan Entry for the system-wide setting, or open Servers and select the intended server for a per-server entry. Preserve any existing custom entries. Add the following four lines without replacing unrelated configuration, then save. Do not edit a generated dialplan file.
The first line calls VICIdial's call logging hook. Answer connects the channel before Echo returns audio; Asterisk documents that Echo does not answer automatically. Hangup ends the route. Confirm the call-log service and intended server are available in your lab.
exten => 19001001,1,AGI(agi://127.0.0.1:4577/call_log)exten => 19001001,n,Answer()exten => 19001001,n,Echo()exten => 19001001,n,Hangup()- Before you use it
- Use only the authorized closed lab and preserve existing custom entries.
- Success looks like
- Save the four lines in the chosen Custom Dialplan Entry field, then verify the generated path below.
- Stop if
- If the field is unavailable or existing entries conflict, stop and check this build's permissions and settings.
3. Allow the generator to apply it
On the ViciBox setup described in the existing first-call guide, the scheduled keepalive generator applies a saved entry within a minute or two; no restart is required. Scheduling and revisions can differ, so verify the actual lab rather than assuming it applied. System-wide and per-server entries have different custom contexts.
The first-call guide describes the custom context as included after the carrier context. A matching carrier pattern may therefore take precedence. The following check is essential even in a lab intended to have no carrier.
4. Inspect the matching dialplan
An authorized operator can run this read-only command on the relevant Asterisk server after the generator has had time to run. Inspect the matching contexts and their order. For a system-wide entry, look for the four lines in vicidial-auto-system-setting-custom; for a per-server entry, look in the server custom context. Confirm no earlier matching route can send these digits to a carrier or another destination.
asterisk -rx 'dialplan show 19001001@default'- Before you use it
- Use authorized read-only Asterisk access on the server that will handle the lab call.
- Success looks like
- The intended four-line route appears in the expected custom context, with no conflicting earlier match.
- Stop if
- If it is missing or a conflicting route appears, do not dial; check the saved entry, generator and routing with the lab owner.
5. Resolve a missing or conflicting route
If the route is absent after the expected interval, check the chosen server, saved field and generator state with the lab administrator. If another matching context appears first, resolve that conflict before calling. Do not guess a replacement destination or connect a carrier to make the example work.
A matching dialplan is a configuration check, not proof of working audio. Once the owner has confirmed the route and the remaining lab prerequisites, return to the practice lab checklist. The installation guide is available if the platform has not yet been built.
Evidence ledger
Verification basis
- The route and verification below are instructions for the lab owner; they were not installed or executed for this article.
- The VICIdial generator link is a public source mirror, not a guarantee that a particular installation uses the same revision or scheduling.
Primary references
Sources
- Echo dialplan applicationAsterisk · accessed November 3, 2026
- ADMIN_keepalive_ALL.pl source mirrorVICIdial source mirror on GitHub · accessed November 3, 2026