Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


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
nameCallGroupCallback_dialplan.bkp
height250



Context 1: queueRequestCallback cgCbRequestCallback

The context that is used to exit the queue and go to the confirmation ivr.

Image RemovedImage Added



Context 2:

...

 cgCbConfirm

Context to confirm the phone number/enter another number/return to the queue/etc.
Image Removed
Image Added

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.

...

VariableValueComments
ORIGINATE_CHANNELLocal/${CALLERID(num)}@queueCallbackIn@cgCbIn/nqueueCallbackIn cgCbIn is the name of Context 35
ORIGINATE_CONTEXTqueueCallbackOutcgCbOutqueueCallbackOut cgCbOut is the name of Context 46
ORIGINATE_EXTEN${CALLERID(num)}number to callback
ORIGINATE_PRIORITY1
ORIGINATE_CALLERIDCallback: ${CALLERID(name)} <${CALLERID(num)}>setting the caller's number and name
ORIGINATE_TIMEOUT36000003600waiting time (in millisecondsseconds) for operator response before timeout. In the example - 1 hour.
ORIGINATE_ASYNCtrueenabling asynchronous mode. If it's true - the dialplan will continue without waiting for the operator's response.
ORIGINATE_VARIABLESQUEUENAME=${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

- number to repeat the message



Context 3: queueCallbackIn: cgCbEnteringPhone

Context for entering another phone number:

Image Added

where:

default - play message "Please enter the phone number. Otherwise you may press 9 to return to the queue on hold." and wait response

9number 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:

Image Added

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.

number to return to the queue at the same position as the caller before pressing 0

- number to confirm phone number

- number to re-enter phone

- number to repeat the message



Context 5: cgCbIn

Context for adding a callback to the queue for the same position.

Image RemovedImage Added

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.
Image Removed 

Image Added

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

Image RemovedImage Added

 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.