Skip to main content
Twilio ships official helper libraries for seven languages - C#/.NET, Java, Node.js, PHP, Python, Ruby, and Go - each wrapping the same REST resources and the TwiML VoiceResponse builder. Vobiz ships SDKs for the same seven languages, mirroring that resource layout and bundling a vobizxml builder in the box. Migrating is mostly a tab‑swap: change the constructor, pass your auth_id explicitly, rename a few methods, and swap the markup builder.
Set credentials once: AUTH_ID is your Vobiz Auth ID (MA_…) and AUTH_TOKEN is your Auth Token. In the Vobiz SDK, api_key is the Auth ID (sent as the X-Auth-ID header) and auth_token becomes X-Auth-Token. Every account‑scoped method takes that auth_id explicitly. Base URL: https://api.vobiz.ai/api/v1.

Seven-for-seven language parity

Every Twilio helper library has a Vobiz counterpart. Twilio installs from each language’s package registry; Vobiz publishes source you clone from github.com/vobiz-ai and pin to a tag for reproducible builds.

Twilio → Vobiz mapping

The concepts line up one‑for‑one. What changes is the constructor keyword, the explicit auth_id, a few method names, and the name of the bundled XML builder.

Install & initialize the client

Twilio’s Python client wraps account_sid + auth_token; the Node client is a callable factory. Vobiz uses a keyword constructor where api_key is the Auth ID.

Method-name conventions & the explicit auth_id

Twilio’s methods are terse CRUD verbs (create, fetch, list) on a resource bound to the client’s account. Vobiz spells out the intent (make_call, get_live_call, list_recordings) and threads your auth_id through as the first argument - so multi‑account and sub‑account code is unambiguous at the call site.
Twilio lets you inline TwiML via the twiml= parameter. On Vobiz you host the same instructions at your answer_url and return VobizXML.

TwiML VoiceResponse → the bundled vobizxml builder

Twilio’s helper libraries include a VoiceResponse builder for generating TwiML. Every Vobiz SDK bundles an equivalent vobizxml builder: start from ResponseElement(), chain add_* methods, and serialize with to_string(). TwiML’s <Say> maps to VobizXML’s <Speak> and <Pause> maps to <Wait>; <Play> <Gather> <Dial> <Record> <Hangup> <Redirect> <Conference> <Stream> keep their names.
Vobiz <Gather> uses inputType, executionTimeout, digitEndTimeout, numDigits, and finishOnKey. Use executionTimeout for the overall input window; timeout in VobizXML belongs to <Dial>/<Number> (ring timeout). See /xml/gather for the full attribute list.
The full vobizxml verb set mirrors the builder methods you already know from TwiML: add_speak, add_play, add_wait, add_gather, add_dial (with add_number / add_user), add_record, add_conference, add_dtmf, add_redirect, add_hangup, add_preanswer, and add_stream.

Serve the answer URL (Flask / Express)

When Vobiz rings the destination it fetches your answer_url and executes the returned XML - the same request/response model as a Twilio webhook. Build the response with vobizxml and send it as application/xml.

Key differences

  • Same seven languages, cloned from GitHub. Twilio publishes to each language registry (PyPI, npm, NuGet, Maven, RubyGems, Composer, Go modules); Vobiz publishes the same seven SDKs as source under github.com/vobiz-ai. Clone the repo for your language and pin to a tag or commit for reproducible builds.
  • Client init: keyword constructor, headers not Basic. Twilio’s Client(account_sid, auth_token) sends HTTP Basic. Vobiz’s Vobiz(api_key=AUTH_ID, auth_token=AUTH_TOKEN) sends X-Auth-ID + X-Auth-Token. Note the constructor keyword is api_key= (Python) / apiKey: (Node) - and that value is your Auth ID.
  • Explicit auth_id on every account‑scoped method. Twilio binds the account to the client and infers it. Vobiz passes the Auth ID (MA_…) as the first argument, which makes multi‑account and sub‑account code unambiguous at the call site.
  • Intent‑named methods. Twilio’s generic create/fetch/list become make_call, get_live_call, list_recordings, start_recording, and hangup_call, so each call reads like the action it performs.
  • The TwiML builder ports directly. VoiceResponse()vobizxml.ResponseElement(), str(response)resp.to_string(), and the verbs map cleanly - <Say><Speak>, <Pause><Wait>, with <Play> <Gather> <Dial> <Record> <Hangup> <Redirect> <Conference> <Stream> unchanged.
  • First‑class SIP trunking and sub‑account KYC. Vobiz surfaces trunks, credentials, ip_access_control_list, and origination_uri as dedicated SDK resources, and sub_account_kyc for India KYC (PAN / GST / CIN / DigiLocker / hosted sessions) - all reachable from the same client you use for calls.
  • Signed webhooks work the same way. Both platforms sign inbound webhook requests with your Auth Token; validate the signature on your answer_url the same way you validated X-Twilio-Signature with Twilio’s RequestValidator.
Need the per‑resource method map for calls and live‑call control? See Twilio Voice Call API → Vobiz, or the Twilio → Vobiz overview for the full migration order and at‑a‑glance matrix.