vicigeeksimple guides
Browse
Operations

Running your system · Decision worksheet

Compare managed VICIdial hosting and self-hosting on the same basis

Fill a responsibility matrix and comparable cost worksheet, then rule out options that fail recovery, support or integration requirements.

Start the guide

1. Send both options the same workload

Choose only after you know what the service includes, who does the remaining work and whether mandatory requirements pass. “Managed” does not specify every duty; self-hosting does not eliminate support or labor cost.

Complete the workload lines in the decision record before requesting quotes. Named user accounts are not simultaneous agents, and simultaneous agents are not the same as call channels.

Peak load
Peak simultaneous logged-in agents and simultaneous calls/channels, separately
Traffic
Inbound/outbound mix, monthly minutes and destinations
Data
Recording retention days, expected storage and backup scope
Coverage
Required support hours, timezone and escalation expectations
Comparison basis
One currency, same tax treatment and same number of months

You should seeBoth quotes describe the same workload and service boundary. If one includes voice usage or support that the other omits, identify the difference before comparing totals.

Decision record and worked assumptions (TXT)

2. Name the owner of each operating duty

Fill one row per duty in the responsibility template. Replace Unknown with a named role or contractual provider responsibility, coverage hours and the evidence that supports it. Shared work still needs a lead owner and escalation path.

Responsibilities to verify; these are questions, not assumed contract termsScroll sideways to compare columns
DutyQuestion to resolveEvidence
Updates and TLSWho patches OS/VICIdial/Asterisk and renews certificates?Change scope, maintenance window and escalation
Backups and restoreWho owns copies, keys, retention and restore execution?Backup scope plus a dated restore exercise
Carrier and application settingsWho configures routes, campaigns, users and integrations?Included tasks and customer duties
Monitoring and incidentsWho detects failures and responds out of hours?Coverage, response commitment and contact path
Exit and data accessWho supplies usable exports and supports migration?Formats, access rights, fees and deletion process

You should seeEvery required duty has an owner and a supported answer. “Included” without scope or an owner remains unresolved.

Editable responsibility matrix (CSV)

3. Apply mandatory requirements before scoring price

Set the maximum acceptable outage (RTO) and acceptable data loss (RPO) for your workflow with its owner. Ask what was restored, how it was timed, which data was recovered and what the exercise excluded. A backup file alone does not demonstrate a restore.

Record PASS, FAIL or UNKNOWN for each mandatory requirement. FAIL excludes an option; UNKNOWN keeps selection unresolved. Do not give an unknown requirement a zero-cost assumption or let an optional weighted score cancel a mandatory failure.

Before you use it
Replace this example requirement with the actual recovery, region, support and integration requirements.
Mandatory requirement record
Requirement: restore within the agreed outage limitTarget and measurement start/end: owner to defineSelf-hosted: UNKNOWN until scoped drill evidence existsManaged: UNKNOWN until scoped drill/contract evidence existsEvidence date and limitations:Next test / responsible owner / due date:
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 required condition has a supported pass/fail or a named unresolved next step.
Stop if
Neither a lower subtotal nor a provider promise changes UNKNOWN into PASS.

You should seeThe cost example below does not qualify either option: its recovery and capacity evidence remain unknown.

4. Work the comparable cost example

These USD amounts are fictional and before tax. Both options use the same assumed workload, carrier usage and 12-month horizon. In this example only, the managed service price includes backup and monitoring; its two residual internal hours are still counted.

The example workbook has formulas and visible inputs. The blank template keeps a subtotal Unknown until required numeric inputs are supplied. Enter zero only when a component is confirmed included, free or not applicable, and record why.

Before you use it
These are made-up prices on the same currency, tax, workload and time basis.
Check the comparison arithmetic
self_operations = 120 + 30 + 20 + (8 * 40) = 490managed_operations = 480 + (2 * 40) = 560self_12_months = ((490 + 180) * 12) + 300 = 8340managed_12_months = ((560 + 180) * 12) + 1200 = 10080difference = 10080 - 8340 = 1740
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
The difference is 1,740 over 12 months; every included component appears once.
Stop if
Recalculate if scope, carrier usage, labor, taxes, term or included services differ; an unknown component prevents a complete comparison.
Fictional comparable costs in USD; not quotes or capacity guidanceScroll sideways to compare columns
ComponentSelf-hostedManaged
Compute or managed service / month120480
Additional backup / month300 — included in fictional service
Additional monitoring / month200 — included in fictional service
Internal work / month8 hours × 40 = 3202 hours × 40 = 80
Operating subtotal / month490560
Same carrier usage / month180180
Comparable monthly total670740
One-time migration3001,200
12-month total including migration8,34010,080

You should seeThe fictional self-hosted subtotal is lower, but the example does not choose an option because mandatory operational evidence is missing.

Filled fictional cost example with formulas (CSV)

Blank comparable-cost template with formulas (CSV)

5. Record a decision and its next check

Complete the decision record with the selected option or an explicit unresolved decision, the deciding requirement, comparable totals, evidence dates and unanswered items. Do not average missing answers into a score.

Before a real commitment, agree a bounded acceptance and exit exercise: verify the required integration and restore/export path in an isolated environment using synthetic data. Record who owns it and what passes. This page creates a plan and comparison; it does not perform a migration or purchase.

  1. Attach the cost and responsibility sheets to the decision record. Confirm both use the same period and workload.
  2. List failed mandatory requirements and open questions beside the totals. Ask the responsible owner for the missing quote clause or test evidence.
  3. If the evidence supports selection, state why the selected model meets the requirements and what remains customer-owned. If it does not, leave the decision unresolved with the next test and date.
  4. Revisit the comparison when workload, service terms, recovery evidence or prices materially change.

You should seeA second person can explain the decision from the record, including its limits and the next operational check.

Checks and sources

What was checked

  • The example costs are invented to demonstrate a complete model, not market quotes. The worksheet arithmetic was checked locally.
  • No hosting vendor was tested, ranked or endorsed. Recovery, capacity and contract suitability require evidence for the actual options.
  • NIST contingency-planning guidance supports defining recovery needs and testing plans; it does not establish the numerical targets or costs in this example.

Primary references

Sources

  1. NIST contingency planning guide, revised November 2010NIST · accessed November 6, 2026
  2. VICIdial product overviewVICIdial Group · accessed November 6, 2026