Objective
This article explains how Twilio Programmable Voice handles outbound calls when the recipient is already on another call. It covers what information is available via Twilio APIs, webhooks, and Voice Insights, and clarifies why you may see “no-answer” or “completed” statuses instead of “busy” in certain scenarios.
Product
Twilio Programmable Voice
Environment
Twilio Console
User Account Permission/Role(s) Required
- Standard Twilio account with access to Programmable Voice
- Developer or Admin role required to configure webhooks, access Voice Insights, or review call logs
Procedure
1. Understanding Busy Detection in Twilio
- Twilio relies on the downstream carrier (the recipient’s phone provider) to signal if a line is busy.
- If the carrier returns a SIP “busy” code (such as
486 Busy Hereor600 Busy Everywhere), Twilio will:- Set the call’s
CallStatustobusy - Trigger your configured
StatusCallbackwebhook withCallStatus=busy - Log the busy event in Voice Insights and Debugger (error code
31486)
- Set the call’s
2. When Busy Is Not Detected
- Some carriers do not send a busy SIP code when the recipient is on another call.
- Instead, they may:
- Play an in-band audio announcement (e.g., “The person you are calling is on another call”)
- Let the call ring indefinitely
- Route the call to voicemail
- In these cases, Twilio receives a normal connect or ringing signal (e.g., SIP
200 OK), and the call is marked ascompleted,no-answer, oranswered—notbusy.
3. How to Detect Busy Status
-
Webhook/StatusCallback: Monitor the
CallStatusparameter forbusy. If present, the recipient’s carrier explicitly signaled a busy line. -
Voice Insights: Review the “Last SIP Response” for the call. A value like
486 Busy Hereconfirms a busy signal was received. -
No Busy Status? If you see
no-answerorcompleted, the carrier did not send a busy signal. Twilio cannot programmatically detect in-band announcements or distinguish between a true busy and other scenarios.
4. Advanced: Detecting In-Band Announcements
- If you need to detect when a carrier plays an audio announcement (rather than signaling busy), you must:
- Enable call recording at the start of the call
- Use speech analytics or silence detection on the recording to identify automated messages
- Twilio does not transcribe or analyze in-band audio for busy announcements
Additional Information
- Carrier Behavior Varies: Not all carriers handle busy lines the same way. Some support multiple simultaneous calls, some play announcements, and some send busy signals.
- Twilio Limitations: Twilio can only reflect the signaling it receives from the carrier. If the carrier does not send a busy code, Twilio cannot infer or expose that the recipient is on another call.
-
Best Practices: Always check the
CallStatusand “Last SIP Response” for each call. For critical workflows, consider integrating speech analytics if you need to detect in-band announcements. - References:
If you need further assistance or have questions about specific call scenarios, Twilio’s support team is available to help.