Warning: This is alpha version of Callback feature. It is planned to be released soon.
This functionality allows the customer to request a callback instead of waiting for the operator's response.
To configure this functionality need to create 4 contexts.
Context 1: queueRequestCallback
The context that is used to exit the queue and go to the confirmation ivr.
Context 2: queueCallbackConfirm
Context to confirm the phone number/enter another number/return to the queue/etc.
where:
default - number to confirm a callback. In the example, a message is played to the customer and confirmation is awaited. If the client did not select anything, then after the timeout, it goes to number 0.
0 - number to return to the queue at the same position as the caller before pressing 1
To return to the queue with the music on hold, use the following custom application:
Example |
---|
Queue(${QUEUENAME},C,,,,,,,,${QUEUEPOSITION},default) |
, where "default" is the name of the MoH class.
To return to the queue without music on hold, use the following custom application variant:
Example |
---|
Queue(${QUEUENAME},Cr,,,,,,,,${QUEUEPOSITION}) |
1 - number to create a new call instead of the current one
To execute Originate(), you need to set the following channel variables:
Variable | Value | Comments |
---|---|---|
ORIGINATE_CHANNEL | Local/${CALLERID(num)}@queueCallbackIn/n | queueCallbackIn is the name of Context 3 |
ORIGINATE_CONTEXT | queueCallbackOut | queueCallbackOut is the name of Context 4 |
ORIGINATE_EXTEN | ${CALLERID(num)} | number to callback |
ORIGINATE_PRIORITY | 1 | |
ORIGINATE_CALLERID | ${CALLERID(name)} <${CALLERID(num)}> | setting the caller's number and name |
ORIGINATE_TIMEOUT | 3600000 | waiting time (in milliseconds) for operator response before timeout. In the example - 1 hour. |
ORIGINATE_ASYNC | true | enabling asynchronous mode. If it's true - the dialplan will continue without waiting for the operator's response. |
ORIGINATE_VARIABLES | QUEUENAME=${QUEUENAME},QUEUEPOSITION=${QUEUEPOSITION} | setting in a new channel variables that we need further |
and execute Custom application -> Originate().
Context 3: queueCallbackIn
Context for adding a callback to the queue for the same position.
To return to the queue with the music on hold, use the following application:
Example |
---|
Queue(${QUEUENAME},C,,,,,,,,${QUEUEPOSITION},default) |
, where default is the name of the MoH class.
To return to the queue without music on hold, use the following application variant:
Example |
---|
Queue(${QUEUENAME},Cr,,,,,,,,${QUEUEPOSITION}) |
Context 4: queueCallbackOut
Context that is executed when the operator answers the call. Used for outgoing call to the client. And also for handling error/notifications.
To enable the callback, in the queue settings in the dialplan parameter, select the name of the first context (queueCallbakRequest):
To notify customers about the possibility to have a callback, new music on hold class has to be configured (it should consist a played message regarding possibility to have a callback).
NOTE: Possibility to enable periodic announcements going to be added in next versions.