Skip to main content
Nest <User> inside <Dial> to create a SIP or registered WebRTC/SIP B-leg. Set the parent callerId to a Vobiz number owned or authorized by your account.
Set the parent callerId to a Vobiz number owned or authorized by your account, in E.164 format.
The user must resolve to a reachable SIP or registered Vobiz WebRTC endpoint. The B-leg uses the same DialAnswer, DialConnected, DialHangup, and final action lifecycle as a <Number> B-leg.

Attributes

Send metadata to the SIP leg

The Dial callbacks include fields such as:
These are application-defined metadata fields. Do not use sipHeaders to set the displayed PSTN caller ID; set the parent callerId instead. Vobiz does not expand placeholders in these values. Render values such as account references or caller identifiers in your application before returning the XML.

Send digits after answer

Vobiz schedules the sequence on the post-answer DTMF path. The destination must support and interpret telephone-event DTMF.

Caller ID and caller name

callerId on the parent <Dial> must be a Vobiz number owned or authorized by the account placing the call, in E.164 format. It is required in practice for any <User> B-leg created from an inbound call flow. If callerId is omitted, Vobiz derives it from the A-leg. On an inbound call that number belongs to the caller, not to your account, and B-leg creation fails with:
The <Dial> then aborts with no B-leg, so no DialAnswer, DialConnected or DialHangup callbacks fire, and execution continues with the next element in the document. callerName is optional. Display depends on the destination endpoint, carrier, and device.

Handle an unreachable user

Elements after </Dial> run only when no bridge is established — an unregistered user, a declined call, or a timeout. Placing a bare <Hangup/> there disconnects the caller on any failure, which is rarely what you want. Give them something to hear instead:
Use action with redirect="true" if your application needs to decide the fallback based on the Dial result.

Next steps