/Account/{auth_id}/... REST shape, same <Response> XML verbs, same seven SDK languages. Most of a migration is mechanical (swap host api.plivo.com/v1 → api.vobiz.ai/api/v1, swap HTTP Basic auth for X-Auth-ID + X-Auth-Token headers, adjust a few SDK method names); the matrix below maps each domain and rates the effort.
At-a-glance matrix
| Domain | Plivo | Vobiz | Migration effort |
|---|---|---|---|
| Voice Call API | calls.* for create + all in-call control; live transfer and queued-call cancel REST endpoints | Same Call/ paths; in-call actions split into play_audio/speak_text/dtmf/record_calls, in-progress on live_calls; explicit auth_id; answer_method required | Medium |
| Call-control XML | PlivoXML verbs; <GetDigits> + <GetInput>; <MultiPartyCall>, <Message> | Near drop-in VobizXML; both input verbs → <Gather> (executionTimeout, never timeout); no MPC/SMS verb | Low |
| Phone numbers | PhoneNumber (search carrier catalog) + Number; single update; manual port-in | Single phone_numbers over a pre-provisioned inventory; per-action assign endpoints; inconsistent E.164 formatting; no port-in | High |
| SIP trunking | Zentrunk REST under /Zentrunk/; no SDK resources (cURL/console); per-trunk auth binding | First-class trunks/credentials/ip-acl/origination-uri in all SDKs; account-scoped auth; PUT updates; priority/weight failover | Medium |
| Conferences | <Conference> + conferences.* member ops; maxMembers; rich per-member flags | Same XML verb; maxParticipants; member ops split across conference/conference_members/conference_recording; some flags drop | Low |
| Recordings | Record XML, in-call Record/, Recording/ list/get/delete, transcription | Same surfaces; record_calls + conference_recording namespaces; transcription via webhook; timeout default differs (60s vs 15s) | Low |
| Sub-accounts | Flat Subaccount (name + enabled); reassign DIDs freely; cascade delete | Same CRUD plus kyc_mode (customer_use India KYC), kyc_calls_blocked, 15-day DID cool-off; hosted KYC sessions | High |
| Webhooks | answer_url/ring_url/hangup_url; X-Plivo-Signature-V3 (hashes URL + sorted params); SDK validator | Ring/StartApp/Hangup events to the answer flow; X-Vobiz-Signature-V2/V3 (hash base URL + nonce only); no SDK helper | Medium |
| SDKs | 7 languages from package registries; RestClient; CRUD method names | Same 7 languages git-cloned from vobiz-ai/*; Vobiz/VobizClient header auth; verb-named methods; explicit auth_id; bundled vobizxml | Medium |
| Overview & pricing | USD cash_credits; CPS coupled to concurrency (÷25); 300 req/5s; ticket-based limits; console KYC | INR-native balance/{currency}; decoupled additive purchased_cps; live concurrency endpoint; API-driven KYC + GST invoices | Medium |
What has no Vobiz equivalent
- Phone-number port-in — you re-provision DIDs from Vobiz inventory; existing Plivo numbers cannot be ported.
<Message>SMS verb and<MultiPartyCall>— no VobizXML equivalents.- SDK webhook signature validator — Plivo’s built-in validator has no Vobiz helper; validate the HMAC yourself.
- India sub-account KYC + 15-day DID cool-off — net-new compliance surface with no Plivo analog (extra work, not a gap to route around).