SUPPORT.TWILIO.COM END OF LIFE NOTICE: This site, support.twilio.com, is scheduled to go End of Life on February 27, 2024. All Twilio Support content has been migrated to help.twilio.com, where you can continue to find helpful Support articles, API docs, and Twilio blog content, and escalate your issues to our Support team. We encourage you to update your bookmarks and begin using the new site today for all your Twilio Support needs.

Studio Outbound Call Flows: HTTP 400 (Error 11200) Troubleshooting

Issue

Some Twilio users may encounter a scenario where an outbound call initiated via Twilio Studio connects successfully, but immediately returns an application error (HTTP 400, Error 11200) instead of proceeding to the next step in the flow. This often occurs when the Studio flow is designed to trigger an outbound call and then play a greeting or perform another action.

Symptoms

  • Outbound call connects, but Studio returns <Response/> with HTTP 400 (Error 11200).
  • The call execution gets stuck after the make_outbound_call widget.
  • The answered call webhook to Studio is missing the FlowEvent parameter.
  • Manual intervention is required to stop the execution.

 

Product

Studio

 

Cause

Twilio Studio tracks call sessions using a session key based on the “To” and “From” phone numbers. If the make_outbound_call widget dials a different number than the original session, the session key changes. When Twilio’s voice service checks with Studio for further instructions, it cannot find an active execution for the new session key. Studio will only create a new execution if the call status is not “in-progress.” If the call is still active, Studio cannot link to the previous execution or create a new one, resulting in a 400 error and a stuck flow.

Typical Scenario

  • Studio flow is triggered via API or Function, using the Studio webhook URL as the handler.
  • The flow includes a step to select a DID (phone number) and then uses make_outbound_call to dial a lead.
  • If the “To” or “From” number changes in the outbound call, the session key is broken, and Studio cannot continue the flow.

 

Resolution

If your use case requires dialing a second number and connecting it to another user, Twilio Studio’s make_outbound_call widget may not support this directly. Instead, use Twilio Functions to handle the call logic outside Studio.

Example Twilio Function:

exports.handler = function(context, event, callback) {
  const client = context.getTwilioClient();
  const numberToCallFirst = "+XXXXXXXXXXXXXX";  // Second number
  const twilioPhoneNumber = "+YYYYYYYYYYYYYY";  // Twilio phone number
  const numberToConnectTo = "+ZZZZZZZZZZZZZZ";  // Connect Call To number

  client.calls.create({
    from: twilioPhoneNumber,
    to: numberToCallFirst,
    twiml: `<Response><Dial>${numberToConnectTo}</Dial></Response>`
  })
  .then(call => {
    console.log(`Call initiated. SID: ${call.sid}`);
    return callback(null, `Success! Call SID: ${call.sid}`);
  })
  .catch(error => {
    console.error(error);
    return callback(error);
  });
};

Replace the phone numbers as needed for your use case.

 

Additional Information 

When designing outbound call flows in Twilio Studio, avoid changing the “To” or “From” numbers within the flow. If your workflow requires connecting multiple parties or dynamic call routing, use Twilio Functions for greater flexibility and reliability.

Below you will find references to useful documents:

If the issue persists, please reach out Twilio Support

Have more questions? Submit a request
Powered by Zendesk