Jump to: navigation, search

_wait_for_user_confirm

Section: General
Default Value: false
Valid Values: Boolean
Changes Take Effect: Immediately


True to wait for confirmation of the customer's availability. If this option is set to true, the service sends a push notification to the customer's device to get confirmation that the customer is ready to have a conversation with the agent. This scenario is possible only if the _wait_for_agent option is set to true.

_call_direction

Section: General
Default Value: USERORIGINATED
Valid Values: USERORIGINATED, USERTERMINATED
Changes Take Effect: Immediately


This is a default value, automatically populated when using the predefined User-Terminated scenario. You do not need to change this value.

  • If this option is set to USERORIGINATED, the customer's device will initiate the call to get connected to the agent.
  • If this option is set to USERTERMINATED, the agent or the system will initiate the call to contact the customer.

_customer_number

Section: no category
Default Value:
Valid Values: phone_number
Changes Take Effect: Immediately


Customer's phone number. The parameter is mandatory to match the call with service data when the call direction is set to USERORIGINATED. Also used to establish the connection with the customer when the call direction is USERTERMINATED.

Important
This is a request parameter that you can use in REST queries.


This option is mandatory.

_wait_for_agent

Section: General
Default Value: true
Valid Values: Boolean
Changes Take Effect: Immediately


True to wait for an agent to connect. If this option is set to true, the service will wait for the agent to initiate the interaction and to send the notification to the customer. If the option is set to false, the interaction can start right after the creation of the service instance. In voice scenarios, the access information will be returned immediately with the service ID.


This option is mandatory.

IVR Classic Callback

In this scenario, the IVR handling an inbound call has logic to check for a long waiting time and offers to call back the caller. To see an implementation example of this IVR, refer to the Classic Callback Sample.

Call Flow

IVR Check Wait Time

  • IVR: Requests a statistic to determine the estimated wait time for the target.
  • IVR: If the waiting time is above the configured threshold, offers a callback.

Start Callback

  • IVR: Callback is accepted and IVR submits a request to the callback service.
  • Callback service: Returns GMS service ID to the IVR.
  • Callback service: If _wait_for_agent = true, waits for an agent to be available.
  • Callback service: Calls the customer number.
  • Customer: Accepts the call.

Connect to Agent

  • Callback service: Identifies that a human has answered the call.
  • Callback service: Reserves the target to route the call.
  • Callback service: Routes the call to the target.
  • Callback service terminates.

Create your Scenario

1

In the Admin UI > Services > Configured Services tab, add a Callback service with one of the User-Terminated scenario as the Common Default Configuration (see Adding a Service for details).

Enter the service name, which is the callback execution name of your service. It will be used in URLs to access this service. For example, if you set this name to voice-userorig-immediate, your service URL will be:
http://host:port/{base-web-application}/service/callback/voice-userterm-immediate

When you add this service and default configuration, many options are automatically populated with the appropriate default values.

Configure the Scenario

The following parameters are mandatory in the configuration of your callback service and in the parameters of the requests that your application submits:

Option Description
_customer_number

Normally provided as a request parameter

Customer's phone number. The parameter is mandatory to match the call with service data when the call direction is set to USERORIGINATED. Also used to establish the connection with the customer when the call direction is USERTERMINATED.
Important
This is a request parameter that you can use in REST queries.


This option is mandatory.


_call_direction = USERTERMINATED This is a default value, automatically populated when using the predefined User-Terminated scenario. You do not need to change this value.
  • If this option is set to USERORIGINATED, the customer's device will initiate the call to get connected to the agent.
  • If this option is set to USERTERMINATED, the agent or the system will initiate the call to contact the customer.


_wait_for_user_confirm = false True to wait for confirmation of the customer's availability. If this option is set to true, the service sends a push notification to the customer's device to get confirmation that the customer is ready to have a conversation with the agent. This scenario is possible only if the _wait_for_agent option is set to true.


Include the Originating Call in Callback Historical Reporting

To connect the originating call to the Callback Historical Reporting, the IVR should add the following Callback KVPs to the attached data of the originating call.

  • _CB_SERVICE_ID: Set this value to the GMS Service ID. This value is returned in the _id key in the response to the callback service request.
  • _CB_T_SERVICE_START:
    • If the callback was not scheduled, set this value to the time at which the callback service was requested.
    • For a scheduled callback, set this value to the scheduled time. The required format is number of seconds since January 1, 1970, 00:00:00 UTC; for example, you can get this value in javascript as follows: Math.floor((new Date()).getTime()/1000)
  • _CB_T_CALLBACK_ACCEPTED: Set to the time at which the caller accepted the callback. The format is the same as for _CB_T_SERVICE_START.
Important
The callback strategy includes optional support for adding these attached data keys to the originating call. To enable this support, include the parameter _originating_interaction_id (set to the originating call interaction ID) in the HTTP request that starts the Callback service.


Terminate the Originating Call

After you have requested a callback and set the required attached data, the originating call might be set to the ABANDONED state. To avoid this issue, you can customize your SCXML code.

For example, open the Composer project of the Classic Callback sample and, under Workflows, edit the classic.workflow SCXML.

  1. Add a new Block of type State before Exit, for example, ProperlyTerminatingOriginatingCall.
    Gms 8024 classic workflow scxml block.png
  2. Edit the Body and add the following script:
    <script>
       var reason = { ReasonSystemName : "Callback" };
       var hints = { 'reasons' : reason };
    </script>
    <ixn:redirect requestid="somevariable" interactionid="InteractionID" 
    from="routingPoint" to="'__STOP__'" 
    type="_genesys.queue.rType.RouteTypeReject" hints="hints"/>
    Gms 8024 classic workflow scxml script.png

As a result, the script is added to the generated code. Gms 8024 classic workflow scxml code.png

This page was last edited on February 16, 2022, at 15:08.
Comments or questions about this documentation? Contact us for support!