vicigeeksimple guides
Browse
All guides

Running your system · Deployment decision

VICIdial cloud vs dedicated server: a testable decision framework

Compare operating responsibilities, isolation, recovery and route evidence—not assumed capacity, benchmark figures or pricing.

Reader setup

Before you choose

List your constraints, required evidence and stop rules before you score options.

  1. A workload description
  2. Whoever will operate the server day to day, even if that is only you
  3. A recovery objective
What you will prove
A testable hosting decision record.
Safety boundary
No pricing, capacity, availability, or security outcome is inferred.

Reader path

How to use this article

  • Use it when: You are comparing options and need decision evidence before approval.
  • Expected result: Turn options into explicit acceptance criteria and documented stop conditions.
  • Start here: Score what is mandatory, keep unknowns visible, then decide only when risks are understood.

Choose the operating model from measured requirements

Fast answer: cloud and dedicated infrastructure can both host VICIdial, but neither is inherently cheaper, faster or more secure for every workload. Select against your measured call path, administrative ownership, recovery requirements and provider constraints.

A recovery objective is the agreed time and data-loss boundary after a failure. This publication's lab evidence covers a ViciBox 12 lab install and selected CLI/browser checks — see vicibox-12-phase-one-lab-checklist. It does not establish general capacity, production availability, cloud pricing or a hosted-versus-dedicated performance winner.

Terms are defined in vicidial-terminology-for-complete-beginners.

  • Prerequisite: write a workload description, name operating owners and state a recovery objective.
  • Non-goal: do not infer pricing, capacity, security or availability from the lab.
  • Identify who owns OS, database, Asterisk, network and incident response.
  • Define measurable acceptance and recovery objectives before procurement.
Trace path · read left to right
01Workload assumptions02Acceptance evidence03Operating decision

Visual walkthrough

Follow three real demo screens

Captured on an isolated VICIdial demo: Administration screens on September 24, 2026, and the idle Agent screen on August 11, 2026. Each caption states its own capture time, and every sanitized image helps you recognize a related screen; none proves that this article's call, command, or result occurred.
Step 1 · Find the main areas

Start at Administration home

Sanitized VICIdial Administration home page with navigation and aggregate system counts
Captured September 24, 2026 at 21:54:37 UTC on the authorized isolated demo. This is an orientation page with aggregate counts only; it is not a report and does not prove production activity or a completed call.
Step 2 · Map system administration

Use the Administration menu as a map

Sanitized VICIdial Administration menu showing phones, carriers, servers, system settings, and system statuses
Captured September 24, 2026 at 21:34:11 UTC on the authorized isolated demo. This menu is a navigation map only; it does not show that any system-wide setting was changed or verified.
Step 3 · Read platform identity

Confirm version and system-wide context

Sanitized VICIdial Modify System Settings page showing revision, schema, interface, SIP-stack, and API-related controls
Captured August 11, 2026 at 16:22:08 UTC on the authorized isolated demo. This is a read-only view of system-wide settings with no credentials or addresses; it does not prove that a setting was changed or that an API request succeeded.

Map the full call and data path

VICIdial coordinates browser, PHP, MariaDB, Perl workers, Asterisk/AGI and carrier paths. The placement decision must include latency and failure behavior for every dependency, not only the web server or database.

Use this dependency card for each component. OWNER is a team role and TEST is a synthetic acceptance action; neither is a hostname, address or credential. A missing recovery owner is a decision blocker.

Map recordings, backups, report delivery, external APIs, DNS, certificates, SBC/firewall policy and observability. State data residency and cross-region requirements with the responsible privacy, security and legal owners rather than inferring them from a hosting label.

  • Diagram dependencies and trust boundaries.
  • Identify single points of failure and owner-controlled recovery actions.
  • Confirm provider network and carrier edge requirements.
Dependency ownership card
COMPONENT: databaseOWNER: platform teamDEPENDENCY: backup + restoreTEST: isolated restore rehearsalFAILURE ACTION: invoke approved recovery procedureSTOP: owner or recovery action unknown
Not executed · worksheet or reference text

This sample is a template or reading aid, not a terminal command. There is no output to show.

Before you run it
Copy for each dependency; replace component and owner with non-sensitive operational labels.
Success looks like
Each component has an owner, recovery action and isolated test.
Stop if
Stop selection when a required dependency has no accountable recovery path.

Run the same acceptance gates in each candidate model

Use equivalent version-pinned deployments and a controlled synthetic campaign to test login, registration, manual or ratio call flow where approved, audio, DTMF, disposition, logging and clean teardown. Measure with a stated method and observation window; do not extrapolate a lab slice into capacity planning.

Add failure tests for a worker restart, database access loss, carrier reachability loss, storage unavailability and a restore exercise. Stop a candidate when it cannot meet a required recovery or security control, even if normal calls work.

  • Keep test data and routes isolated.
  • Capture aggregate timings and failure evidence without caller or recording data.
  • Repeat with the actual carrier and network edge before go-live.

Model cost and capacity from quotes and measurements

Request dated provider quotes and list every included/excluded responsibility: compute, storage, egress, backups, support, network controls, licenses and hands-on operations. Do not publish invented prices or compare plans that have different reliability or support boundaries.

Use the comparison card without entering price figures in the article. QUOTE DATE, TERM and EXCLUSIONS come from the candidate's current written offer; UNKNOWN is not a favorable score. Capacity requires a workload test designed for your dial method, codecs, recording, reports and retention.

  • Keep quote date, currency, term and exclusions in the decision record.
  • Use a load-test plan approved for the carrier and environment.
  • Review growth and exit/migration constraints.
Commercial comparison card
MODEL: cloud or dedicatedQUOTE DATE: current written offerTERM: stated termINCLUDED: compute | storage | supportEXCLUSIONS: list from quoteSTATUS: VERIFIED | UNKNOWNSTOP: unlike terms or unknown exclusions
Not executed · worksheet or reference text

This sample is a template or reading aid, not a terminal command. There is no output to show.

Before you run it
Copy from a current written quote; use labels only and keep actual prices in the private procurement record.
Success looks like
Comparable terms and exclusions are verified for both options.
Stop if
Stop comparison when a material inclusion, exclusion or term is unknown.

Decide, rehearse rollback and revalidate

Make the decision traceable: assumptions, test evidence, residual risks, owners and a planned review date should all be visible to the decision-maker. An external assessor should be able to reproduce the acceptance criteria without relying on a vendor promise.

Before moving production, rehearse restore and traffic rollback on the approved deployment. A rollback plan must include configuration, database/schema compatibility, media access and carrier routing—not merely a virtual-machine snapshot.

  • Independently verify backup restoration and a controlled failback.
  • Re-test after version, carrier, region or architecture changes.
  • Do not call a lab outcome an SLA, benchmark or production result.

Evidence ledger

Verification basis

  • This publication's evidence includes a repeatable ViciBox 12 lab build and selected Agent and WebRTC checks on that lab; no capacity benchmark is implied.
  • No capacity benchmark, price comparison, SLA assessment or production hosting test supports a universal recommendation.

Primary references

Sources

  1. VICIdial DocumentationVICIdial · accessed September 23, 2026
  2. VICIdial PJSIP SupportVICIdial · accessed September 23, 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.