application/x-www-form-urlencoded callbacks with the same call params, and both sign each request with an HMAC keyed by your auth token plus a nonce. Two things to know when mapping: Vobiz delivers Ring / StartApp / Hangup as events to the answer flow, and Vobiz V2/V3 sign the base URL + nonce.
Callback URL & event mapping
Signature header mapping
Signature scheme. Vobiz V3 signs
baseURL + "." + nonce (query params stripped); V2 signs baseURL + nonce. Verify Vobiz callbacks with the HMAC validator below.Before / after: verifying the signature
On Vobiz, verifying a callback is a few lines of stdlib HMAC.Python (Flask)
CallUUID, From, To, Direction, CallStatus, HangupCause, Duration, plus Event / timestamp / auth_id on every callback. See the Vobiz XML request params and Callbacks reference.
Key differences & gotchas
- Signed string. Vobiz V2/V3 hash the base URL + nonce, which proves the request origin and URL - validate incoming param values in your handler as usual.
- Events instead of dedicated URLs. Branch on the
Eventfield forRing,StartApp, andHangup. - Header casing & compares. Nonces are 20-digit strings; read headers case-insensitively and compare with
hmac.compare_digest/crypto.timingSafeEqual, never==. - Main-account (MA) signatures. Sub-account callbacks add a parent-signed header (
X-Vobiz-Signature-MA-V3) - reuse the validator with the parent token.
Validating callbacks
Canonical Vobiz signature reference with Python, Node, Go, and Ruby.
Migration gotchas
Edge cases when moving from Plivo to Vobiz.