
Voice gateway
RubyVox answers the phone so dispatch doesn't have to.
Check calls, facility details, detention intake and pay questions — handled around the clock, with every money move still gated by policy.
Product boundary
Telnyx
PSTN and SIP, phone numbers, call control, media streams, signed webhooks (Ed25519).
RubyVox
Speech pipeline, conversational agent, barge-in, intent extraction, tool calling.
DIBS Voice Gateway
Authentication, idempotency, session correlation, least-privilege context, policy enforcement, audit.
Authentication and call state
Signatures are verified before any context is loaded; timestamps outside a five-minute window and replayed event IDs are rejected.
signed_message = telnyx_timestamp + ":" + raw_request_body valid = Ed25519.Verify( Telnyx-Signature-Ed25519, signed_message, TELNYX_PUBLIC_KEY) RubyVox → DIBS canonical signing string: HTTP_METHOD \n REQUEST_PATH \n TIMESTAMP \n NONCE \n SHA256(RAW_BODY)
CREATED → INITIATED → RINGING → ANSWERED
→ CONSENT_CAPTURED → CALLER_VERIFIED → CONTEXT_LOADED
→ ACTIVE → ACTION_REQUESTED
→ ACTION_APPROVED | DENIED | ESCALATED
→ TRANSFERRED | CALLBACK_SCHEDULED | COMPLETED | FAILED
Every transition is audited.Action allowlist
What the agent may request, what commits automatically, and what escalates to a human.
| Action | Auto-allow when | Escalate when |
|---|---|---|
| Provide shipment status | Caller authenticated; customer-safe facts only | Low location confidence or active incident |
| Record carrier availability | Approved contact with a valid carrier profile | Identity mismatch |
| Record tender acceptance | Insurance, authority, equipment, rate and contact all match | Any exception |
| Record ETA | Driver or carrier link verified | Material GPS/ELD conflict |
| Confirm appointment | Facility record and contact match | New cost or rejection outside policy |
| Create recovery request | Active incident and evidence threshold met | Tier 0 cargo, safety or custody issue |
| Activate vendor | Pre-approved vendor, playbook and budget threshold | Over budget or non-approved vendor |
Never permitted
Changing banking details, releasing payment, overriding a fraud hold, promising coverage or payout, or authorising air charter. These route to finance, compliance and legal workflows only.
Incident mode and resilience targets
Severity runs 1 (single delay) to 5 (multi-region catastrophe). Campaigns stop the moment capacity is secured and never negotiate beyond ceilings.
Recovery campaign object
- campaignId, incidentId, type, priorityTier, targetPool, loadIds.
- callWindowMinutes and retryPolicy bound outbound volume.
- permittedActions is an explicit subset of the allowlist.
- successCondition halts the campaign as soon as capacity is secured.