ExitWithKey Feature

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):


With this configuration, the caller goes to the VOICEMAIL block only when:
  • reach the queue timeout
  • press the digit 1
Otherwise the caller remains into the queue, keeping the current queue position.


Multiple 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. In this case it will be possible to choose in which voicemail to leave the message in by typing a number: if we type 1 we will leave a message in "Support", if we type 2 we will leave it in "Sales" or if we type 3 we will leave it in "Commercial".


we will use the "SWITCH" block to check the "EXTEN" variable which is the variable that stores the digit typed by the caller.

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 it is necessary to create as many internal routes as there are necessary choices:

 

And, in each internal route, define a couple of custom applications ( the Return application is the important one, while the verbose is used for debugging):


With this configuration, the caller goes to the VOICEMAIL block only when:
  • reach the queue timeout
  • press one of the digits provided
otherwise the caller remains into the queue, keeping the current queue position.