One choice solution
The "ExitWithKey" queue option allows the caller to exit from a queue with a key (a single digit) for further actions.
For example, we want to ask to the caller to leave a message to the voicemail while he is waiting for a free agent.
Queue settings
In the queue advanced settings, set the context to use to enable the ExitWithKey feature (e.g. exit-queue)
Context and exit route definition
Create a new context in the Voice/Contexts section:
You are free to use any name for the context, but remember that the context name must be the same you set in the queue advanced settings.
Now you need to create an internal route in that new context (or inbound, the context is the one that matters):
And in that internal route define a couple of custom applications ( the Return application is the important one, while the verbose is used for debugging):