The <Dial> verb's <Application> noun allows you to connect a call to another Twilio account without losing the original call leg's context (e.g. the original "From" number). Rather than dialing a phone number or SIP endpoint, you can <Dial> TwiML App directly with <Dial><Application>.
This page covers how to use <Dial><Application>, how Twilio handles <Dial><Application> instructions, returning custom parameters to the originating <Dial>'s action
URL, and an example scenario.
If you want to learn more about <Application>'s TwiML attributes, supported TwiML nouns, and supported <Dial> attributes, go to the <Application> TwiML page.
In order to use <Dial><Application>, you must have the following:
An existing Programmable Voice application with a call path that leads to <Dial><Application> TwiML instructions.
A TwiML App with a Voice URL that returns TwiML instructions.
The receiving TwiML App must be configured to allow calls from a different Twilio via <Dial><Application>. You can configure the TwiML App in your Twilio Console or via the REST API.
It is your responsibility to secure and authenticate inbound calls to a TwiML App if you accept calls from outside your Twilio account.
Enabling inbound calls via <Dial><Application> opens up the TwiML App to calls from any Twilio customer. You should only give the receiving TwiML App's SID to the party/parties from which you intend to receive calls. You should implement some sort of authentication to verify calls are coming to your TwiML App from a trusted party.
Follow the steps listed below to allow inbound <Dial><Application> calls from a different Twilio account.