Skip to main content
Use <Dial> to create one or more B-legs and bridge the first successful destination to the current A-leg. Nest <Number> for a PSTN destination or <User> for a SIP or registered WebRTC user.
For PSTN forwarding and transfer flows, set callerId to a Vobiz number owned or authorized by your account.If you omit callerId, Vobiz derives it from the existing A-leg. B-leg creation may fail if that number is not authorized for outbound calling. Use E.164 format, such as +14155550100.

How Dial works

callbackUrl and action serve different purposes. Use callbackUrl to observe the B-leg while it is active. Use action to receive the final result and optionally choose the next call-control step.

Child elements

You can include multiple child destinations for simultaneous dialing. Vobiz attempts sibling destinations concurrently and bridges the first one that answers successfully. See Simultaneous dialing. You can also place one phone number directly inside <Dial> as shorthand, but an explicit <Number> child is easier to extend with attributes and callbacks.

Attributes

timeout and timeLimit control different phases. timeout covers the unanswered ringing phase. timeLimit covers only the connected bridge.

Callback lifecycle

Callback channels

Both channels support GET and POST. If you omit method or callbackMethod, Vobiz uses POST.

Real-time events sent to callbackUrl

Common fields include CallUUID, DialALegUUID, DialBLegUUID, DialBLegFrom, DialBLegTo, and DialBLegPosition. Not every field is present on every event. STIRVerification may also appear on applicable calls. Values are Verified, Not Verified, or Not Applicable, depending on the call direction, attestation, destination, and whether STIR/SHAKEN applies. The values observed for DialDigitsPressedBy are:
  • aleg for a match from digitsMatch
  • bleg for a match from digitsMatchBLeg

Final fields sent to action

See Dial status reporting for request examples and failure handling.

DTMF matching

Use digitsMatch and digitsMatchBLeg when you need real-time callbacks for keypad input during a bridge.
A matching callback contains DialAction=digits, DialDigitsMatch=123, and DialDigitsPressedBy=aleg.

Complete PSTN transfer with recording

Place a self-closing <Record/> before <Dial> to record the full session, including bridged audio. This example uses redirect="false", so action receives the final Dial result but its response does not replace the remaining XML flow.
Your application must replace the example caller ID with an owned or authorized Vobiz number. Vobiz does not expand placeholders such as {{caller_id}}; render application values before you return the XML. A transferred call runs as two legs with two CDRs and two charges. See Transferred calls end to end for the webhook order, leg correlation, and billing.

Dial a SIP or WebRTC user

For registered Vobiz SIP/WebRTC users, Vobiz sends answer, connected, and hangup events through the same Dial callback lifecycle.

No-answer behavior

When the configured answer window expires, the real-time hangup callback can report:
The final action request reports DialStatus=no-answer and DialHangupCause=NO_ANSWER. A final DialBLegUUID may be empty for this outcome.

Next steps