Evaluating voice-routing DSL ownership
Voice-routing evaluations come down to one question: who owns the dial plan — you, or the vendor’s support queue. A programmable voice DSL is the JSON verb list that decides what happens to a call the moment it lands, and the score that matters is whether the prompt catalogue, the digit-collection discipline, and the routing policy are objects you read and edit, or a file maintained behind a ticket. This page gives you the checklist, a worked scoring table across the three ownership models, the surfaces to run the evaluation on, and an FAQ for deciding when the incumbent should stay.1. Route-numbering decision opener
The first routing decision a voice platform makes is which number routes to which flow. Buyers hit this opening gap the same way on every vendor: the dial plan exists, but nobody in the account can read it, so a numbering change means a vendor change order instead of a tenant edit. Score that decision layer first — every checklist row below hangs off it.- Unreadable dial plan. The routing from number to flow lives in the vendor’s scaffolding, so a prompt change, a menu re-map, or a fallback rewrite goes through a support ticket. Score whether the full route-from-DID-to-verb-list is exportable through the vendor’s own API.
- Non-standard prompts. Digit prompts, menu maps, and collected-input handling differ per vendor because each encodes its own voice primitives. Score whether DTMF prompt standardization — a
gathercollecting digits with a definednumDigitscount and a definedfinishOnKeybehaviour — is a published primitive you can verify, not a vendor-internal convention. - Opaque channel and route selection. The vendor treats routing as its own layer, so a dry-run of which channel or route a send takes is unavailable. Score whether the vendor publishes a route-preview surface that pre-flights the path before the call goes out.
2. Tenant-owned checklist rows
Score every candidate on four rows you can verify about any vendor:- Standardised prompt and digit catalogue. Prompt playback, digit collection, and menu branching are published DSL verbs with a defined contract — in Orbit’s programmable-voice DSL, the
sayverb speaks the prompt, thegatherverb collects DTMF with explicitinput,numDigits,timeout, and anactionHookfor the next step, andplaystreams a recorded file from ahttps://URL. A vendor whose prompt handling is console-internal scores partial; a vendor with no published verb contract scores no. - Channel selection. The outbound termination choice is explicit, documented, and not a field you return hoping it sticks. In Orbit’s DSL every
dialandtransferterminates on Devotel’s wholesale softswitch — carrier-selection fields are ignored by design, so the channel you get is the channel the docs name. A vendor whose channel selection is ambiguous between tenant and vendor scores partial. - Rate-limiting discipline. The inbound webhook and the per-day verification probes the DSL fires stay inside the vendor’s published limits, and the limits are the tenant’s own quotas, not an account-wide vendor knob. A vendor whose rate limits are negotiated by contract scores partial.
- Per-day gotchas vs ownership trade. Every-checklist ownership only matters if the per-day edge cases — fallback on a malformed verb list, reserved verbs the vendor manages, recording-consent gates — are published with the contract. Orbit publishes its fallback ladder (safe-default, voicemail, decline), its two reserved verbs (
conference,config), and where the recording-consent obligation sits (on yourrecordverb). A vendor whose edge cases are tribal knowledge scores no.
3. Scored candidates
Score each candidate “yes / partial / no” per row, at the level of the published product surface; a blank cell reads as missing research, so mark “partial” or “no” instead of leaving one.
Read the table as a starting hypothesis: re-score the rows against a live trial of each candidate on the surfaces below, and keep the incumbent honest by running it through the same checklist.
4. Evaluation surfaces
Ground every claim from a vendor on the same surfaces you would run Devotel Orbit against:- Sandbox API key — create a
dv_test_sk_key from the dashboard with no KYC or approval step; simulated sends cost $0. The sandbox overview and the provisioning and test-mode guide let you walk an end-to-end verb list — say, gather, dial, hangup — before provisioning anything. Start from the quickstart. - Feature docs as capability probes — the prompt catalogue row maps to the programmable-voice DSL page; the channel-selection row maps to the route-preview tab in the dashboard; the consent row maps to the DSL’s own recording-consent note. If a capability matters to the decision, read the page a tenant configures it from.
- Pricing page — orbit.devotel.io/pricing is the same surface a signed tenant bills against; model your call-minute volume there instead of trusting a comparison grid.