VICIfast
Operations

Server health status versus billing status: the difference

VICIfast tracks health status and billing status as two separate things. A server can be ACTIVE in billing terms while being DEGRADED or UNREACHABLE at runtime. Understanding the difference helps you troubleshoot faster.

VICIfast Support
··4 min read
Server health status versus billing status: the difference

A VICIfast server record carries two separate status values. One describes the commercial lifecycle — whether the subscription is paid, the server is being set up, or it has been suspended due to non-payment. The other describes what the server is actually doing right now at runtime. These two values are independent of each other, and confusing them is one of the most common sources of wasted troubleshooting time. This post explains what each one means, what values they can take, and why keeping them separate is the right design.

What billing status tracks

Billing Status (lead status) describes the commercial lifecycle of the server. It moves through a defined sequence of states as the customer pays, the server is provisioned, the subscription runs in good standing, payment lapses, the account gets suspended, and the server eventually terminates. The full set of billing states is: PENDING_PAYMENT, PROVISIONING, INSTALLING, ACTIVE, PAST_DUE, SUSPENDED, RESUMING, RESUMING_FAILED, PENDING_CANCEL, TERMINATING, TERMINATED, and FAILED.

ACTIVE is the steady-state billing value. It means the subscription is paid and the server was successfully deployed. ACTIVE says nothing about whether the server is currently healthy at runtime — it only tells you the commercial relationship is in good standing. A server that is ACTIVE in billing terms can simultaneously be DEGRADED or UNREACHABLE at the runtime health level.

What health status tracks

healthStatus is a runtime-only value updated by the continuous health check system. It reflects the live condition of the box at the last check. The four values are HEALTHY, DEGRADED, UNREACHABLE, and UNKNOWN. UNKNOWN means no check has completed yet — this is the normal state immediately after Provisioning, before the health system has had a chance to run its first probe.

DEGRADED means the server is responding but a health check is failing — high system load, a dead Keepalive, disk filling up, or Asterisk partially down. UNREACHABLE means the box is not responding to health checks at all. Neither of these values changes the billing Status (lead status). A DEGRADED server is still ACTIVE from a billing perspective; the subscription is paid even though the runtime is failing.

stateDiagram-v2
  state "Billing Status (commercial)" as BS
  state "Health Status (runtime)" as HS
  state BS {
    PENDING_PAYMENT --> PROVISIONING
    PROVISIONING --> INSTALLING
    INSTALLING --> ACTIVE
    ACTIVE --> PAST_DUE
    PAST_DUE --> SUSPENDED
    ACTIVE --> TERMINATED
  }
  state HS {
    UNKNOWN --> HEALTHY
    HEALTHY --> DEGRADED
    DEGRADED --> UNREACHABLE
    UNREACHABLE --> HEALTHY
  }

Why the separation matters for troubleshooting

The separation exists because a billing event and a runtime failure are fundamentally different problems that need different responses. If a server is billing-status ACTIVE but healthStatus UNREACHABLE, the right response is to investigate the server's network, check the host, and look for a crash or a firewall change — not to look at payment records. If a server is billing-status SUSPENDED, it will appear non-responsive because it is intentionally powered off. That is not a runtime failure; it is a deliberate billing action.

Mixing the two up causes real delay. An operator who sees DEGRADED and assumes the server has a payment issue will open the billing section, find everything in order, and have no clear next step. An operator who sees billing-status SUSPENDED and tries to SSH in to fix a perceived network problem will not find one — the server is just off. Knowing which status you are looking at tells you which team owns the problem and what tools to reach for.

How Provisioning fits into both systems

During Provisioning and INSTALLING, the health status sits at UNKNOWN — no health checks run until the install completes and the server is ready to serve traffic. This is intentional: running health checks against a server that is still being set up would produce misleading results. When Provisioning finishes and the billing status moves to ACTIVE, the health check system starts running. The healthStatus moves from UNKNOWN to HEALTHY if the first streak of checks passes cleanly.

A server going from UNKNOWN to DEGRADED immediately after Provisioning typically means a step in the install failed silently — the server came up but something is not right. On VICIfast, the installer marks the job as FAILED in this case, but if the health checks catch it first, UNKNOWN to DEGRADED is a signal to check the install logs.

For the full breakdown of how health states transition and what each check covers, read our server health and capacity guide. To understand what uptime monitoring looks like layered on top of the health system, see how to set up uptime monitoring for your VICIdial server.

VICIfast surfaces both billing and health status on the same dashboard so you always know which problem you are looking at. If you want that visibility on your own VICIdial server, see what a managed box costs — your server is live in under 40 seconds.

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. “Server health status versus billing status: the difference”. VICIfast LLC, June 28, 2026. Retrieved from https://vicifast.com/blog/health-status-vs-billing-status-vicidial

Have questions?

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

Comments are reviewed before they appear. We never publish your email.

No comments yet — be the first.