vicigeeksimple guides
Browse
All guides

Running your system · Stage 4 · Stock ViciBox lab

Inside a running ViciBox lab: processes, screens and Asterisk

Tour a running ViciBox Express lab from the command line: find the screen sessions astguiclient depends on, ask Asterisk directly about its own health, and confirm the supporting services are active — all before you trust a browser login alone.

Reader setup

Before you apply

  1. A completed ViciBox Express lab from the previous lesson, powered on and reachable
  2. Root or sudo access on that lab host, since asterisk -rx needs it
  3. No production system — this tour is written for the disposable lab you built in this curriculum
Expected result
You can list the lab's detached screen sessions, ask Asterisk directly about its own uptime and channel count, and confirm MariaDB and Asterisk are both active, using only read-only commands.
Before making changes
Every command in this lesson only reads status. Run it on the disposable lab from the ViciBox Express lesson, never against a system taking real calls.

Build a practice lab

Stage 4 of 4: Build a ViciBox lab

Lesson 6 of 7 · Step 20 of 21

Why tour the host at all

A working Admin login proves the web server answered a request. It does not prove Asterisk is healthy, that the database is reachable, or that the background processes VICIdial depends on are still running. Those live below the browser, on the host itself.

This lesson is a walkthrough of a lab you already built: the ViciBox Express install from the previous lesson. Every command below reads status only. The goal is a habit — when something looks wrong later, you check the host directly instead of guessing from a web page.

Reading a host directly is a transferable skill, not a ViciBox-specific trick. The same three questions apply anywhere you administer a system: which processes are supposed to be running, does the software you rely on actually answer when asked directly, and are the services underneath it active. This tour asks all three questions of one lab, in order, so the habit sticks before you ever need it under pressure.

  • Which processes should be running on a healthy Express lab
  • Whether Asterisk answers a direct question, not just a web page load
  • Whether the database service underneath is active
Trace path · read left to right
01A browser login that loads02A host you can read directly03A fault you can locate before you guess

Find the screen sessions astguiclient runs

ViciBox keeps its dialer-control processes running inside detached `screen` sessions rather than as ordinary background services. A detached session keeps running after you log out, which is exactly what a call-control process needs — nobody has to stay logged in for the dialer to keep working.

`screen -ls` opens with a `There are screens on:` line, lists one line per session in the form `PID.name` alongside a state such as `(Detached)`, and ends with a line counting the sockets it found. Detached means no terminal is currently attached; it does not prove the program inside the session is healthy. Compare the session names with the lab’s expected process list, then use the direct service checks below.

Before you use it
Run this on the ViciBox Express lab using the account that owns the dialer sessions, as confirmed by the lab administrator. It lists sessions and does not attach to them or start anything.
List the detached screen sessions
screen -ls
Evidence · ViciBox 12 demo capture

Captured demo response · 2026-09-23 21:35 UTC. Any filtering, hidden values or test-only data are identified in the capture label. Select Replay transcript to read the recorded output.

Command output line: screen -ls
There are screens on:
17814.ASTVDremote (Detached)
16697.ASTVDadapt (Detached)
22463.ASTemail (Detached)
3255.ASTConfUpdater (Detached)
3252.ASTVDauto (Detached)
3249.ASTlisten (Detached)
3246.ASTsend (Detached)
3243.ASTupdate (Detached)
3013.asterisk (Detached)
2996.astshell20260920080703 (Detached)
2096.ASTVDadFILL (Detached)
2085.ASTfastlog (Detached)
12 Sockets in /run/screens/S-root.
Success looks like
Expect roughly a dozen detached sessions with astguiclient-style names — the exact count depends on your build's configuration and uptime, so treat any specific number as a rough expectation, not a pass/fail threshold.
Stop if
If the list is empty or unexpectedly short, first confirm the host, session-owning account and screen socket context with the administrator. A different account may not see the dialer sessions. Then check the expected processes and the direct Asterisk and MariaDB results; do not restart anything blindly.

Inspect host processes and services

Duration 0:23
Rendered actual SSH capture
Steps and result3 steps

Read actual root SSH results for screen sessions, Asterisk status and supporting units.

Observed read-only result12 root screen sessions were detached; Asterisk reported zero active calls; MariaDB was active and the vicidial unit enabled.

Read the captured terminal transcript

Read the chapter notes
  1. Root screen listing: 12 detached sessions, visible in the root socket context.

    Read-only captured command and output; rendered for this replay.

  2. Asterisk answered directly: zero active channels and calls at capture.

    Read-only captured command and output; rendered for this replay.

  3. MariaDB was active and the vicidial unit enabled.

    Read-only captured command and output; rendered for this replay.

November 4, 2026 · ViciBox 12 · SVN 4037. Root SSH context. Screen visibility depends on the account and socket directory. Rendered actual SSH capture using xterm.js; paced still frames, not a live terminal recording. SSH client warning omitted from captured output. Use fullscreen to read the terminal output.

View a still screenshot

Recorded lab terminal: screen sessions

Open to enlarge
Rendered actual SSH command and output for screen sessions
Rendered actual SSH transcript captured 2026-11-04T22:30:37.123989Z, ViciBox 12 / SVN 4037.
Capture detailsRead-only observation, not a completed call or routing test. Display trims blank space; enlargement opens the complete original. Removed local SSH client post-quantum negotiation warning from stderr; command stdout preserved.
  • The socket count on the closing line
  • Whether each session reports (Detached) rather than (Attached) or (Dead)
  • Any name pattern you do not recognize, to look up before your next visit

What actually runs inside them

On this build, the sessions carry real names, not generic labels. ASTupdate runs `AST_update_AMI2.pl` and ASTlisten runs `AST_manager_listen_AMI2.pl`. ASTsend runs `AST_manager_send.pl`, which delivers the AMI actions VICIdial queues in its own manager table. ASTVDauto runs `AST_VDauto_dial.pl`, which places the auto-dial calls, and ASTVDadapt runs `AST_VDadapt.pl`, which adjusts the dial level for the ADAPT dialing methods. ASTVDadFILL runs `AST_VDauto_dial_FILL.pl` and ASTVDremote runs `AST_VDremote_agents.pl`. ASTfastlog runs `FastAGI_log.pl`, the FastAGI server on port 4577 that the dialplan's `AGI(agi://127.0.0.1:4577/call_log)` lines call. ASTConfUpdater runs `AST_conf_update_screen.pl`, and ASTemail runs `VD_email_inbound.pl`. Two further sessions round out a typical list: `asterisk` itself, and one `astshell` session named for the timestamp it was opened.

Asterisk handles the calls. Which additional processes are required depends on the features enabled on the installation; compare this list with your lab’s documented configuration. Housekeeping is deliberately not one more screen session: root's own crontab runs it instead, on its own schedule, separate from anything these processes start themselves. On the documented lab, a scheduled job checks for missing sessions; do not assume another installation has the same recovery schedule.

You do not need to memorize every daemon's name to use this curriculum. The point of this section is narrower: knowing that this layer exists means a paused campaign or a stuck hopper is sometimes a process problem, not a configuration problem, and the two need different fixes — restarting the wrong thing wastes time, and editing a campaign setting to fix a dead process wastes more.

Ask Asterisk directly, not just the web page

Asterisk's `-rx` flag stands for remote execute: it connects briefly to the already-running Asterisk instance, runs the single command you give it in quotes, prints the result, and disconnects. No interactive console session is left open behind you, which makes it safe to use for a quick health read without risking an accidental follow-up command.

`core show uptime` prints two lines: the system's uptime since it started, and separately the time since its last configuration reload — the two can differ if you reloaded Asterisk without a full restart. `core show channels count` prints a short block of counts, including active channels and active calls; a channel is one leg of a call, so these numbers reflect calls in progress, not agents logged in or leads loaded.

Before you use it
Run both lines on the lab host. Neither places a call, changes a configuration file, or restarts the service.
Ask Asterisk for uptime and channel count
asterisk -rx 'core show uptime'asterisk -rx 'core show channels count'
Evidence · ViciBox 12 demo capture

Captured demo response · 2026-09-23 21:35 UTC. Any filtering, hidden values or test-only data are identified in the capture label. Select Replay transcript to read the recorded output.

Command output line: asterisk -rx 'core show uptime'
System uptime: 3 days, 9 hours, 27 minutes, 52 seconds
Last reload: 3 days, 9 hours, 19 minutes, 18 seconds
Command output line: asterisk -rx 'core show channels count'
0 active channels
0 active calls
2 calls processed
Success looks like
The first command reports how long Asterisk has been running since its last restart; the second reports zero active channels and zero active calls on an idle lab with no agents logged in and no test call in progress.
Stop if
A connection-refused or permission error here means the Asterisk service itself is not running or you lack CLI access — confirm with the supporting-services check below before assuming a deeper fault.

Recorded lab terminal: asterisk status

Open to enlarge
Rendered actual SSH command and output for asterisk status
Rendered actual SSH transcript captured 2026-11-04T22:30:39.764541Z, ViciBox 12 / SVN 4037.
Capture detailsRead-only observation, not a completed call or routing test. Display trims blank space; enlargement opens the complete original. Removed local SSH client post-quantum negotiation warning from stderr; command stdout preserved.
  • The reported uptime, to notice if Asterisk restarted recently without your knowledge
  • The active-channels and active-calls counts — zero on both is the expected, healthy result with no agent logged in and no call in progress

Confirm the supporting services are active

VICIdial's processes depend on MariaDB, so a health tour is incomplete without checking it. Asterisk itself is not checked here — on this build, Asterisk is not a systemd service at all; it runs inside the `asterisk` screen session you already found, and `systemctl is-active asterisk` reports `inactive` even while Asterisk is fully healthy. The previous section's direct question to Asterisk is the real health check; systemd's opinion of it is not.

ViciBox instead ships a `vicidial` systemd unit that launches Asterisk and the dialer screens at boot. Its enabled/disabled state tells you whether it starts automatically on the next reboot — it does not describe whether anything is running right now. Do not read `is-active vicidial` as a health signal either: on our lab it reports `inactive` while Asterisk and every dialer screen are running.

Before you use it
Run this on the lab host. Neither command starts, stops, or restarts anything; both only report state.
Check the database service and the boot-time unit
systemctl is-active mariadbsystemctl is-enabled vicidial
Evidence · ViciBox 12 demo capture

Captured demo response · 2026-09-23 21:35 UTC. Any filtering, hidden values or test-only data are identified in the capture label. Select Replay transcript to read the recorded output.

Command output line: systemctl is-active mariadb
active
Command output line: systemctl is-enabled vicidial
enabled
Success looks like
The first line should report active — that is a genuine health signal for the database. The second line typically reports enabled, confirming the vicidial unit will run at the next boot; it says nothing about whether anything is running at this moment.
Stop if
If MariaDB does not report active, record the result and ask the lab administrator to investigate; Admin may show an error or fail to load data. Do not treat vicidial reporting inactive as a fault by itself — cross-check with the previous section's direct Asterisk query before concluding anything is actually down.

Recorded lab terminal: services

Open to enlarge
Rendered actual SSH command and output for services
Rendered actual SSH transcript captured 2026-11-04T22:30:42.433609Z, ViciBox 12 / SVN 4037.
Capture detailsRead-only observation, not a completed call or routing test. Display trims blank space; enlargement opens the complete original. Removed local SSH client post-quantum negotiation warning from stderr; command stdout preserved.

Ready for the next lesson

Continue to the filesystem tour next: the same lab, seen through the files and directories astguiclient reads and writes instead of through its running processes. Keep the session count and service states you recorded here — the filesystem tour occasionally refers back to what a healthy process layer looks like when it explains where each process's own files live.

If anything in this lesson's four checks surprised you — an unexpectedly low session count, an uptime shorter than you expected, a channel or call count above zero on an idle lab, or MariaDB reporting anything other than active — resolve that before moving on. The filesystem tour assumes the processes underneath are healthy; it does not re-check them.

Checks and sources

What was checked

  • Every command here is read-only and its expected result is described as a range or a status, never a fixed value, because lab uptime and configuration vary.
  • Reviewed read-only SSH observations were added from the ViciBox 12 / SVN 4037 demo on November 4, 2026. Captures show point-in-time state, not successful calling, routing, audio, API writes or recovery.

Primary references

Sources

  1. GNU Screen: listing sessionsGNU Project · accessed November 4, 2026

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.