Versions Compared

Key

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



Html
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.11';
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>


Html
<div class="fb-like" data-href="https://confluence.wildix.com/x/wAmIAQ" data-layout="button_count" data-action="recommend" data-size="large" data-show-faces="true" data-share="true"></div>


Info

This Article explains how to enable Callback feature for Call groups.

Created: September 2018

Permalink: https://confluence.wildix.com/x/wAmIAQ


Warning

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

Table of Contents

Dialplan configuration

This functionality feature allows the customer customers to request a callback instead of waiting for the operatoroperators' s responseresponse in case they are busy on the phone.

To configure this implement this functionality, you need to create configure 6 contexts. Or import them Dialplan procedures. 

Note

Note: For convenience, you can easily import all 6 Dialplan procedures from the attached file

...

 

View file
nameCallGroupCallback_dialplan.bkp
height250

...

(WMS Dialplan -> Dialplan rules -> click Import and upload the file).

Attachments
oldfalse
patterns*bkp

Procedure 1: cgCbRequestCallback

The

...

procedure is used to exit

...

a queue and go to

...

IVR confirmation

...

:

...

Image Added

...

Procedure 2: cgCbConfirm

...

The procedure confirms a phone number/

...

entering another number/

...

returning to the queue/

...

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."

...

 etc: 

Image Added

Where:

0 - the 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 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 - the 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
Procedure 5
ORIGINATE_CONTEXTcgCbOutcgCbOut is the name of
Context
Procedure 6
ORIGINATE_EXTEN${CALLERID(num)}The number to callback
ORIGINATE_PRIORITY1
ORIGINATE_CALLERIDCallback: ${CALLERID(name)} <${CALLERID(num)}>
setting
Setting the caller's number and name
ORIGINATE_TIMEOUT3600
waiting
Waiting time (in seconds) for an operator's response before timeout. In the example - 1 hour
.
ORIGINATE_ASYNCtrue
enabling
Enabling asynchronous mode. If it's "true" -
the dialplan
Dialplan will continue execution without waiting for
the
an operator's response
.
ORIGINATE_VARIABLESQUEUENAME=${QUEUENAME},QUEUEPOSITION=${QUEUEPOSITION}
setting
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 - the number for entering a different callback phone

- number to repeat  the number for repeating the message

Context 3: cgCbEnteringPhone

Context for entering another phone number:

Image Removed

where:

default - play message "Please enter the phone number. Otherwise you may press 9 default - the number for checking the original Caller ID. If the number is valid, then the system offers a 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"." and wait response9

Example
$[! ${REGEX("^[+0-9][0-9]{6,14}$" ${CALLERID(num)})}]


Procedure 3: cgCbEnteringPhone

The procedure is used to enter another phone number:

Image Added

where:

9 - the number to return to the queue at the same position as the caller before pressing 9.

[0-8].  - the 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 Dialplan procedure "cgCbValidatePhone".:

Example
$[ ${REGEX("^0[1-9][0-9]{5,13}$" ${ENTERED_NUMBER})}]

...


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

Procedure 4: cgCbValidatePhone

...

The procedure checking the callback number:

Image RemovedImage Added

where:

default - number Where:

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

- a number to confirm phone number.

- a number to re-enter phone.

- a number to repeat the message.

i, t - numbers for processing timeout and invalid input.

default - a 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

...

Procedure 5: cgCbIn

...

The procedure is used for adding a callback to the queue for the same position

...

:

Image RemovedImage Added

Example

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

...


Procedure 6: cgCbOut

...

The procedure is executed when

...

an operator answers

...

a call.

...

It is used for making outgoing call to

...

customers and handling error/ notifications

...

:


Image RemovedImage Added

Setting the variable "PRESERVE_CID" allows you to save the

...

Caller ID name of the original call.

Enable Callback for Call groups

To enable the callback for Call groups, in the queue settings in the dialplan parameter, select the name of the first context (cgCbRequestCallback):Image Removed

  • Go to WMS Dialplan -> Call Groups
  • Select the Call group and click Edit strategy
  • Change Dialplan procedure for the Group -> Select cgCbRequestCallback (Procedure 1):

Image Added


Note

Note: To notify customers about the callback possibility, you have to playback the callback notification before entering the Call group.

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


Note

Note: Possibility to enable periodic announcements

...

is coming in the next versions.


Html
<div class="fb-like" data-href="https://confluence.wildix.com/x/wAmIAQ" data-layout="button_count" data-action="recommend" data-size="large" data-show-faces="true" data-share="true"></div>