Callers who pressed an IVR menu option that routes to a queue (e.g. 1 = Support, 2 = Sales) were disconnected about 1 second after their choice. The voicemail option worked fine.
The IVR response handler returned <Enqueue> with no queue name and a <Task> child. <Task> is only valid with TaskRouter (workflowSid), which this plugin does not use, so Twilio rejected the TwiML and ended the call. The production log showed the call added to the queue, then removed right away with status: completed.
Fix
The IVR queue option now does what the workflow queue step (TWP_Workflow) already does: it plays a hold message and then <Redirect>s to the custom queue-wait handler.
Testing
php -l passes
Deployed to phone.cloud-hosting.io and confirmed with a live call: pressing 1 keeps the caller on hold instead of disconnecting
## Problem
Callers who pressed an IVR menu option that routes to a queue (e.g. 1 = Support, 2 = Sales) were disconnected about 1 second after their choice. The voicemail option worked fine.
The IVR response handler returned `<Enqueue>` with no queue name and a `<Task>` child. `<Task>` is only valid with TaskRouter (`workflowSid`), which this plugin does not use, so Twilio rejected the TwiML and ended the call. The production log showed the call added to the queue, then removed right away with `status: completed`.
## Fix
The IVR queue option now does what the workflow queue step (`TWP_Workflow`) already does: it plays a hold message and then `<Redirect>`s to the custom `queue-wait` handler.
## Testing
- `php -l` passes
- Deployed to phone.cloud-hosting.io and confirmed with a live call: pressing 1 keeps the caller on hold instead of disconnecting
🤖 Generated with [Claude Code](https://claude.com/claude-code)
IVR menu options routed to a queue returned <Enqueue> with no queue name
and a <Task> child, which is invalid without TaskRouter, so Twilio hung up
immediately. Redirect to the custom queue-wait handler instead, matching
the workflow queue step.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jknapp
merged commit 4707213ee9 into main2026-10-07 17:20:50 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Callers who pressed an IVR menu option that routes to a queue (e.g. 1 = Support, 2 = Sales) were disconnected about 1 second after their choice. The voicemail option worked fine.
The IVR response handler returned
<Enqueue>with no queue name and a<Task>child.<Task>is only valid with TaskRouter (workflowSid), which this plugin does not use, so Twilio rejected the TwiML and ended the call. The production log showed the call added to the queue, then removed right away withstatus: completed.Fix
The IVR queue option now does what the workflow queue step (
TWP_Workflow) already does: it plays a hold message and then<Redirect>s to the customqueue-waithandler.Testing
php -lpasses🤖 Generated with Claude Code