Voice data residency on Orbit is per-region end to end: when you pin your workspace to a region, your call recordings, voicemail, live in-call media, and transcription stay in that region's own media servers, live call-state store, and recording storage. The region is a tenant-owned setting — you pick it in the dashboard or the API, and no call you pinned to the EU is ever silently carried through US infrastructure (or the reverse). This post is the written announcement and configuration guide for enterprise voice buyers who need that guarantee on paper before they sign.
Why voice data residency is its own problem
Voice residency gets lumped under "data residency" generically, and that's where enterprise voice deals stall in procurement. The data classes on a voice workload are different from messaging, and they move more:
- Call recordings — the stored audio of every recorded call, often the single most regulated artifact your team produces. Under GDPR that audio is personal data in the strictest sense; under HIPAA it's in scope for covered retention.
- Voicemail — recorded messages left against your numbers, retention-managed alongside recordings.
- Live media — the in-flight audio of a call in progress, including the media plane that powers AI voice agents. For a live call, residency isn't about where a file rests — it's about which servers the audio passes through while it's happening.
- SIP and call metadata — the live call-state the platform stores while a call runs (who's in the room, session state) is held per region, in that region's own call-state store.
An SMS API can mostly worry about where a message record sits at rest. A voice platform has to answer a harder question: not just "where is the recording stored" but "whose media servers did the call's audio touch while it was live." Vendors that answer the first question quietly skip the second. This post answers both.
What Orbit provides, and what the tenant configures
Orbit runs its voice media plane as independent per-region clusters. Two are live today:
| Region | Location | Serves |
|---|---|---|
eu | Europe (Belgium) | Europe, Africa, Middle East |
us | North America (Iowa) | North & South America |
Each region is self-contained — its own media servers, its own live call-state store, its own recording storage. That self-containment is the platform-provided side of the guarantee: an EU workspace's call is never carried through US infrastructure, and there is no automatic cross-region failover that would silently substitute one region for the other. That refusal is deliberate — a residency pin that gets overruled during a degradation isn't a residency guarantee. Cross-region failover is planned as an explicit, per-workspace opt-in for teams who value availability over strict residency, and never as a silent default.
The tenant-owned controls, all configurable without a support ticket:
- Region pinning — set your workspace's voice region to
eu,us, or leave it onauto(nearest-region at connect time). Pin an explicit region the moment you have a residency requirement. - Retention windows — recordings and voicemail are auto-deleted after a configurable window (default 30 days, range 7–3,650 days per channel). Under HIPAA mode, retention is enforced rather than optional, with a 365-day default.
- Legal hold — exempt an individual recording from age-based auto-deletion when it's material to litigation or an eDiscovery request.
- Bring your own recording storage — point recordings at your own Google Cloud Storage bucket instead of Orbit-managed storage, when your residency or encryption policy is enforced at a storage layer your team controls. If your bucket is temporarily unreachable, Orbit falls back to its own storage and flags the call for later reconciliation — the recording is never lost.
- Short-lived playback links — recording and voicemail playback URLs expire after one hour, so a copied link doesn't become a durable leak. The dashboard refreshes links automatically.
The full tenant-facing reference — including the exact retention ranges and the non-relocation caveat below — is the Voice Data Residency & Retention page in the docs. One boundary worth stating plainly: region pinning covers the voice media described above. It does not, on its own, relocate every record in your workspace — if your contractual requirement spans channels, raise it with support before go-live so coverage is confirmed in writing.
Worked example: an EU deployment with recording residency
A support team operating under GDPR needs every recorded support call stored in the EU, with deletion after 90 days. The sequence:
Step 1 — pin the workspace to `eu`. In the dashboard, open Voice → Regions, pick eu, and save. Only workspace owners and admins can change the region, and every change lands in the audit log. Via the API, the same pin is one call:
curl -X PUT https://api.orbit.devotel.io/api/v1/voice/regions/preferred \
-H "X-API-Key: dv_live_sk_..." \
-H "Content-Type: application/json" \
-d '{ "preferredRegion": "eu" }'Step 2 — verify the resolution. Read the preference back to confirm what calls will actually use:
curl https://api.orbit.devotel.io/api/v1/voice/regions/preferred \
-H "X-API-Key: dv_live_sk_..."With eu pinned, both preferred and resolved in the response read eu. From this point, new rooms are created with the eu prefix, room state lands in the EU session store, and recordings write to the EU recording bucket. Each room also records which rule picked its region — a pinned workspace shows tenant_pinned — so you can audit why any individual call landed where it did.
Step 3 — set retention to 90 days. Under Settings → Compliance → Retention, set the voice recording and voicemail window to 90 days. Each recording is deleted automatically when its window elapses, and its playback link is removed from the associated call record.
Step 4 — optionally, bring your own bucket. If the residency policy lives at the storage layer — your own EU-located bucket, your own key management — point recordings there under Voice → Calls → Recording settings. Orbit writes each recording straight to your bucket.
Two operational notes. First, the pin applies to new calls: recordings already written in one region are not moved when you switch, so make the pin before you start recording. Second, playback is residency-safe but not residency-locked to geography — a recording's address carries its region, so an EU recording plays back correctly from a US-based teammate's session without the audio ever being copied out of the EU.
The architecture underneath — the per-region media clusters, the region-selection ladder, and why failover is opt-in — is documented in Multi-region media routing.
A disclosure on the comparison
Buying teams will compare this page against what Twilio and Vonage publish on regional voice — that's fair, and those vendors' public documentation is the right place to understand their posture. We won't characterize it here; their docs speak for their platforms.
Where Orbit's announcement is deliberately plain: the residency guarantee above is described against shipped behavior — per-region media clusters that are live today, region pinning in the dashboard and API, enforced retention, legal hold, and bring-your-own storage — not a roadmap item. Every claim on this page resolves to a page in the docs you can test against your own workspace.
Frequently asked questions
What voice data stays in my pinned region?
Call recordings, voicemail, the live in-call media of a call in progress, and the live call-state the platform holds while a call runs. Each region runs its own media servers, live call-state store, and recording storage, so none of it crosses into the other region.
Does region pinning cover everything in my workspace?
No — it covers the voice media classes listed above. It does not, on its own, relocate every record in your workspace. If your contractual requirement spans channels, raise it with support so coverage is confirmed before you go live.
Can I keep call recordings in storage I control?
Yes. Under Voice → Calls → Recording settings you can point recordings at your own Google Cloud Storage bucket. Orbit writes each recording directly to your bucket; if the bucket is temporarily unreachable, Orbit falls back to its own storage and flags the call so you can reconcile it later.
What happens to existing recordings when I change regions?
Nothing — the pin applies to new calls only. Recordings already written stay in the region where they were stored and keep playing back from there. Set the pin before you start recording if every recording must live in one region.
Is cross-region failover possible if a region degrades?
Not automatically, by design. Silently rerouting an EU-pinned workspace's calls through US infrastructure would violate the guarantee the pin exists to provide. Cross-region failover is planned as an explicit per-workspace opt-in, never a silent substitution.
How long are voice recordings kept?
A configurable window per channel — 30 days by default, anywhere from 7 to 3,650 days — after which the audio is deleted automatically. Under HIPAA mode, retention is enforced with a 365-day default (configurable from 30 to 3,650 days), and a legal hold can exempt an individual recording from age-based deletion.