Warning |
---|
WARNING: This is alpha version of Callback feature. Feature released in WMS version 3.88.42007.36 |
...
To configure this functionality need to create 4 6 contexts. Or import them from the attached file:
View file name CallGroupCallback_dialplan.bkp height 250
Context 1: queueRequestCallback cgCbRequestCallback
The context that is used to exit the queue and go to the confirmation ivr.
Context 2:
...
cgCbConfirm
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 - for checking the original caller id. If the number is valid, then we offer the customer to order a call to this number, or enter another: "Press 1 have an agent call you back to the phone number <say-as interpret-as='telephone'>${CALLERID(num)}</say-as>. Press 2, to enter a different callback number. Press 3, to listen again. Press 0 to return to the queue on hold."
Example |
---|
$[! ${REGEX("^[+0-9][0-9]{6,14}$" ${CALLERID(num)})}] |
0 - number to return to the queue at the same position as the caller before pressing 1
...
Example |
---|
Queue(${QUEUENAME},C,,,,,,,,${QUEUEPOSITION},defaultclass2) |
, where "defaultclass2" is the name of the MoH class.
...
Variable | Value | Comments |
---|---|---|
ORIGINATE_CHANNEL | Local/${CALLERID(num)}@queueCallbackIn@cgCbIn/n | queueCallbackIn cgCbIn is the name of Context 35 |
ORIGINATE_CONTEXT | queueCallbackOutcgCbOut | queueCallbackOut cgCbOut is the name of Context 46 |
ORIGINATE_EXTEN | ${CALLERID(num)} | number to callback |
ORIGINATE_PRIORITY | 1 | |
ORIGINATE_CALLERID | Callback: ${CALLERID(name)} <${CALLERID(num)}> | setting the caller's number and name |
ORIGINATE_TIMEOUT | 36000003600 | waiting time (in millisecondsseconds) 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(). After that, playback "Thank you for requesting a callback. You may now hang up and wait for our call. Goodbye".
2 - number for entering a different callback phone
3 - number to repeat the message
Context 3: queueCallbackIn: cgCbEnteringPhone
Context for entering another phone number:
where:
default - play message "Please enter the phone number. Otherwise you may press 9 to return to the queue on hold." and wait response
9 - number to return to the queue at the same position as the caller before pressing 9
[0-8]. - number to verify the input. If the entered number does not start from zero, the second digit is not zero and its length is not 7-15, then playback "The number you entered: <say-as interpret-as='telephone'>${ENTERED_NUMBER}</say-as> is incorrect." and go to the default number. Otherwise, go to context "cgCbValidatePhone".
Example |
---|
$[ ${REGEX("^0[1-9][0-9]{5,13}$" ${ENTERED_NUMBER})}] |
Context 4: cgCbValidatePhone
Context for checking the callback number:
where:
default - number to playback the client's phone number, which he entered: "You have entered the following phone number: <say-as interpret-as='telephone'>${ENTERED_NUMBER}</say-as>", "Press 1 to confirm. Press 2 to try again. Press 3 to listen again. Press 0 to return to the queue on hold.".
i, t - numbers for processing timeout and invalid input.
0 - number to return to the queue at the same position as the caller before pressing 0
1 - number to confirm phone number
2 - number to re-enter phone
3 - number to repeat the message
Context 5: cgCbIn
Context for adding a callback to the queue for the same position.
Example |
---|
Queue(${QUEUENAME},Cr,,,,,,,,${QUEUEPOSITION}) |
Context 46: queueCallbackOut cgCbOut
Context that is executed when the operator answers the call. Used for outgoing call to the client. And also for handling error/notifications.
Setting the variable "PRESERVE_CID" allows you to save the callerid name of the original call.
To enable the callback, in the queue settings in the dialplan parameter, select the name of the first context (queueCallbakRequestcgCbRequestCallback):
To 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). you have to playback a notification of the possibility of a callback before entering to the callgroup.
NOTE: Possibility to enable periodic announcements going to be added in next versions.