On this page
Voice OTP delivery
Follow an SMPP submission through OTP extraction, the durable job queue and SIP.
How Voice starts#
Set the client's Delivery Channel to VOICE and assign a Voice routing group. Enable VOICE_ENABLED only after the schema, routes, SIP connectivity and audio are ready. The switch creates a MySQL-backed job and the independent Voice worker executes it.
OTP extraction#
The default extractor accepts codes of 4–8 digits. It normalizes supported digit forms and ranks candidates; a message without an eligible OTP can fail before a call is attempted. Test realistic content when a message also contains phone numbers, dates or other numeric strings.
Delivery sequence#
- Accept and validate the SMPP submission.
- Apply the existing client billing rules.
- Create a durable Voice job with the selected group.
- Choose an eligible route, respecting destination prefix, priority, weights, attempts and concurrency.
- Establish SIP/UDP and play compatible IVR or synthesized TTS audio.
- Record the outcome and relay its DLR through the existing queue.
Important boundaries#
Voice dispatch occurs before SMS-only transformations. Voice currently uses SMS tariff/part billing, not a separate per-minute tariff. The application chooses the Voice account for cross-channel fallback; an SMS group does not automatically become a Voice group.
The current runtime does not implement SIP digest challenge retry, production call recording or additional cloud TTS adapters. Fields for future capabilities are not evidence that an adapter is running.
First verification#
Start with one client and a provider-approved number. Confirm OTP extraction, route, SIP response, negotiated codec, audio and DLR. Use Voice monitoring to follow the call.
Screenshots show fictional data from the public demo. Your instance may have different records and permissions.