Contents
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:
For example:
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.