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

  1. A workload description
  2. Whoever will operate the server day to day, even if that is only you
  3. A recovery objective
Expected result
A testable hosting decision record.
Before making changes
No pricing, capacity, availability, or security outcome is inferred.

Choose the operating model from measured requirements

Compare both options using the same peak agent count, recording retention period and recovery targets. Ask for separate compute, storage, backup, network and support costs, and mark any missing line as unknown.

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.

Write two recovery targets: the maximum acceptable outage in minutes and the maximum acceptable data loss in minutes. During a restore rehearsal, record elapsed recovery time and the timestamp of the most recent restored record; compare both with those targets. This publication's lab evidence covers a ViciBox 12 lab install and selected CLI/browser checks — see ViciBox 12 Phase 1 lab checklist: ISO boot, target disk and first login. 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: users, phones, campaigns and leads.

  • 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

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.

Before you use it
Copy for each dependency; replace component and owner with non-sensitive operational labels.
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.

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.
  • Diagram dependencies and trust boundaries.
  • Identify single points of failure and owner-controlled recovery actions.
  • Ask the provider and carrier for the required ports, source restrictions, transport and media settings; compare both answers before testing.

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.

Before you use it
Copy from a current written quote; use labels only and keep actual prices in the private procurement record.
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.

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.
  • Keep quote date, currency, term and exclusions in the decision record.
  • Use a load-test plan approved for the carrier and environment.
  • Ask how capacity can be increased, how data can be exported and what notice or fees apply when leaving.

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.

Checks and sources

What was checked

  • 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.