TwiML <Dial> Verb Enhancements

On November 16, 2021, Twilio will be adding functionality to the <Dial> TwiML Verb that may affect existing Voice applications, and new applications going forward. This guide explains what users can expect from these new changes.

New <Dial> enhancements

Global Low Latency (GLL): GLL is now supported when the hangupOnStar attribute is set to true.

Full ring tone support: The ringTone attribute now supports all <Dial> nouns , including <Sip>.

Callbacks changes: Behavior for callbacks has been updated to better differentiate calls where the <Dial> (child) call leg is connected, but disconnects before being bridged to the parent call:

  • The DialBridged parameter has been added to Action URL callbacks. This parameter will be returned with the value true if the call was bridged with the parent call.
  • The DialCallStatus parameter will now be returned with the value completed in this situation, (it previously returned no-answer).
  • The geographic data parameters for a <Dial> call will now return information for the child call's To and From phone numbers (it previously returned geographic data from the parent call).

Early call audio: Pre-answer call audio will now be generated anytime one of the following <Dial> noun scenarios is detected:

Simultaneous and Sequential dialing logging: each <Dial> noun present when using these features will now have its own call record created (it previously only created a record for the connected call).

  • This allows individual <Dial> call legs originating from Simultaneous and Sequential dialing to now be cancelled via the REST API.

<Dial> noun 'url' attribute changes: The call whisper / screening url attribute for <Dial> nouns will now behave differently:

  • The <Dial> verb is no longer supported in TwiML returned via the url attribute. If a <Dial> is returned, we will log a debug notification, and then move on to execute the next verb.
  • The DialCallStatus parameter in the callback will return completed if <Hangup> or <Reject> are present in the TwiML returned from the url attribute (it previously returned no-answer).
  • When the <Dial> attribute answerOnBridge is set to true, incoming parent calls will be reported as ringing until the outbound child call's whisper / screening url has completed (it previously reported as in-progress immediately).
    • These calls will then change status to connected if bridged successfully, or no-answer if not.
    • The outbound child call status will be reported as ringing until answered, and then in-progress once the whisper / screening url begins executing (it previously returned queued until answered).
Have more questions? Submit a request
Powered by Zendesk