Jump to: navigation, search

User Terminated Scheduled

Overview

This Callback scenario, also known as User Terminated Delayed at Desired Time, is a scheduled outbound voice service that goes through the following stages:

Find Available Slot

  • Mobile device: Request for availability at a desired time.
  • Availability API: Provides available time slots during the open business hours encompassing the desired time.
  • Mobile device: Starts Callback with user selected available time slot.

Start Callback

  • Callback service: Returns session id to the user.
  • Callback service: Waits for an agent to be available.
  • Callback service: When an agent is available, notifies mobile device that agent is available.
  • Next: Mobile device is expected to send connect request to confirm user's availability.

Connect

  • Callback service: Returns a message to expect a call, to the mobile device.
  • Callback service: Calls the mobile device.
  • Mobile device: Accepts the call.
  • Callback service: Identifies that a human has answered the call.
  • Callback service: Reserves target to route call.
  • Callback service: Routes the call to the target.
  • Callback service terminates.

Configuration Options

The table below lists the key options applicable to this scenario.

Use the GMS Service Management UI to set the configuration options. On the Services > Configured Services tab, add a Callback service with User-Terminated-Scheduled as the Common Default Configuration (see Adding a Service). When you add this service and default configuration, many options are automatically populated with the appropriate default values. Some options, however, will require you to enter your own values. See the Comments column in the following table for these details.


Category Option Value Comment
General _call_direction USERTERMINATED These are the default values, which are automatically populated when using the pre-defined User-Terminated-Scheduled service. You do not need to change these values.
_media_type voice
_wait_for_agent true
_wait_for_user_confirm true
_business_hours_service <string> You must enter a string value for this option. This option is the name of the business hours service configured to provide available time slots.
URS Queuing _target <string> You must enter a string value for this option. This option is the routing target that specifies the agent/queue resource that will process this request. Format the string according to the URS target specification:

<Target String>@<StatServer name>.<Target Type>

Where Target Type is one of the following:

  • A (Agent)
  • AP (Agent Place)
  • GA (Group of Agents)
  • GP (Group of Places)
  • Q (Queues [real and virtual])
  • DN (DN)
  • GA (Skill)
  • GC (Campaign Group)
  • RP (Routing Points [real and virtual])
  • DL (Destination Label)

For example:

  • Billing@StatServer.GA - routes to Agent Group "Billing"
  • English=20&Loans=2@StatServer.GA - routes to any agent matching the skill expression

See the Universal Routing Server (URS) documentation for additional information about URS targets.

_urs_server_url http://<urs primary hostname:port> You must enter the URL for your primary Universal Routing Server (URS).
_urs_virtual_queue <virtual queue to be used by strategy> You must enter the virtual queue to which the service request will be added.
_urs_prioritization_strategy WaitForTarget The default value shown here matches the name of the URS strategy that you imported into IRD. If you changed the name of the strategy, update this value to reflect the correct name.
_urs_strategy_update_sub_routine SetRouteDelay The default value shown here matches the name of the URS subroutine that you imported into IRD. If you changed the name of the subroutine, update this value to reflect the correct name.
Voice-User Terminated _on_user_confirm_timeout CONNECT-ANYWAY The options shown here are applicable for this scenario. You can use the default values, or you can set your own values. For the route point option, you must select a value from the drop down list.
_prefix_dial_out 9
_route_point <value>
_userterminated_first_connect_party CUSTOMER
Voice Treatment _treatment_call_failure_answering_machine GMSApplications/<treatmentfile> Enter the value shown here if you are using Genesys Media Server. If you are using a different media server, enter the path where you have placed your voice treatment files.
_treatment_find_agent_fail GMSApplications/<treatmentfile>
_treatment_waiting_for_agent GMSApplications/<treatmentfile>
_treatment_customer_connect GMSApplications/<treatmentfile>

Sample Request and Response Sequence

Get timeslots

Request URL:http://192.168.184.128:8080/genesys/1/service/callback/samples/availability?timestamp=2014-07-30T14:00:00.000Z&_=1406647599350
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Cookie:JSESSIONID=1mmvrc06utu9l1s9azezm677ns; BAYEUX_BROWSER=db7a1s13ad7b0xvghy78iy6y17cq
Host:192.168.184.128:8080
Pragma:no-cache
Referer:http://192.168.184.128:8080/genesys/admin/js/sample/cb/index.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
Query String Parametersview sourceview URL encoded
timestamp:2014-07-30T14:00:00.000Z
_:1406647599350
Response Headersview source
Cache-Control:no-cache
Cache-Control:no-store
Content-Type:application/json;charset=UTF-8
Date:Wed, 30 Jul 2014 14:36:01 GMT
Pragma:no-cache
Transfer-Encoding:chunked

Response Body:
{
    "2014-07-30T06:00:00.000Z": 100,
    "2014-07-30T07:00:00.000Z": 100,
    "2014-07-30T08:00:00.000Z": 100,
    "2014-07-30T09:00:00.000Z": 100,
    "2014-07-30T10:00:00.000Z": 100,
    "2014-07-30T11:00:00.000Z": 100,
    "2014-07-30T12:00:00.000Z": 100,
}

Create outbound scheduled delay service

Request URL:http://192.168.184.128:8080/genesys/1/service/callback/samples
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:915
Content-Type:multipart/form-data;boundary=AaB03x;charset=UTF-8
Cookie:JSESSIONID=1mmvrc06utu9l1s9azezm677ns; BAYEUX_BROWSER=db7a1s13ad7b0xvghy78iy6y17cq
gms_user:jdoe_desktop
Host:192.168.184.128:8080
Origin:http://192.168.184.128:8080
Pragma:no-cache
Referer:http://192.168.184.128:8080/genesys/admin/js/sample/cb/index.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
Request Payload
--AaB03x
Content-Disposition: form-data; name="first_name"

John
--AaB03x
Content-Disposition: form-data; name="last_name"

Doe
--AaB03x
Content-Disposition: form-data; name="_provide_code"

false
--AaB03x
Content-Disposition: form-data; name="_desired_time"

2014-07-30T15:00:00.000Z
--AaB03x
Content-Disposition: form-data; name="_customer_number"

5115
--AaB03x
Content-Disposition: form-data; name="location_lat"

37.8197
--AaB03x
Content-Disposition: form-data; name="location_long"

-122.4786
--AaB03x
Content-Disposition: form-data; name="_device_os"

comet
--AaB03x
Content-Disposition: form-data; name="_call_direction"

USERTERMINATED
--AaB03x
Content-Disposition: form-data; name="_wait_for_agent"

true
--AaB03x
Content-Disposition: form-data; name="_wait_for_user_confirm"

true
--AaB03x
Content-Disposition: form-data; name="_media_type"

voice
--AaB03x
Response Headersview source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://192.168.184.128:8080
Access-Control-Expose-Headers:
Cache-Control:no-cache
Cache-Control:no-store
Content-Type:application/json;charset=UTF-8
Date:Wed, 30 Jul 2014 14:36:16 GMT
Pragma:no-cache
Transfer-Encoding:chunked

Response Body:
{"_id":"440-96984577-a614-4f18-b80e-aaf91e78b178"}

Push notification data:
{
    "_dialog_id": "0",
    "_action": "ConfirmationDialog",
    "_text": "You will receive the call shortly",
    "_ok_title": "Ok",
    "_id":"440-96984577-a614-4f18-b80e-aaf91e78b178"
}

Connect (user confirmation)

Request URL:http://localhost:8080/genesys/1/service/440-96984577-a614-4f18-b80e-aaf91e78b178/connect
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:44
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryNY84ld7wm7oHB9fp
Cookie:JSESSIONID=1b81btxjbrb1wybz5a93i24io; BAYEUX_BROWSER=86721orubxagcqhw0hj14cpyaqk2
gms_user:b16416334828b1d26ef14f329628b55b5a8c631d8928a371a5584722dd7fb673
Host:localhost:8080
Origin:http://localhost:8080
Referer:http://localhost:8080/gmstester/chat.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36
Request Payload
------WebKitFormBoundaryNY84ld7wm7oHB9fp--
Response Headersview source
Cache-Control:no-cache
Cache-Control:no-store
Content-Length:26
Content-Type:application/json;charset=UTF-8
Content-Type:application/json;charset=UTF-8
Date:Tue, 30 Jul 2013 07:04:35 GMT
Expires:Thu, 01 Jan 1970 00:00:00 GMT
Pragma:no-cache
Server:Jetty(7.6.0.v20120127)
Set-Cookie:JSESSIONID=mjjvtphwb8lpce7io23ggxcu;Path=/genesys

Response Body:
{
    "_dialog_id": "0",
    "_action": "ConfirmationDialog",
    "_text": "You will receive the call shortly",
    "_ok_title": "Ok",
    "_id": "440-96984577-a614-4f18-b80e-aaf91e78b178"
}

Sequence Diagram

Click on the diagram to access full resolution.


Voice user term delay.png

This page was last modified on November 24, 2017, at 03:33.

Feedback

Comment on this article:

blog comments powered by Disqus