Skip to end of banner
Go to start of banner

Callback feature for call groups

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

WARNING: This is alpha version of Callback feature. Feature released in WMS version 3.88.42007.36


This functionality allows the customer to request a callback instead of waiting for the operator's response.

To configure this functionality need to create 6 contexts. Or import them from the attached file:

 



Context 1: 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 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

To return to the queue with the music on hold, use the following custom application:

Example
Queue(${QUEUENAME},C,,,,,,,,${QUEUEPOSITION},class2)

, where "class2" 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:

VariableValueComments
ORIGINATE_CHANNELLocal/${CALLERID(num)}@cgCbIn/ncgCbIn is the name of Context 5
ORIGINATE_CONTEXTcgCbOutcgCbOut is the name of Context 6
ORIGINATE_EXTEN${CALLERID(num)}number to callback
ORIGINATE_PRIORITY1
ORIGINATE_CALLERIDCallback: ${CALLERID(name)} <${CALLERID(num)}>setting the caller's number and name
ORIGINATE_TIMEOUT3600waiting time (in seconds) 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: 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

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:

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.

Example
Queue(${QUEUENAME},Cr,,,,,,,,${QUEUEPOSITION})



Context 6: 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 (cgCbRequestCallback):


To notify customers about the 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.

  • No labels