_treatment_customer_connect
Section: Voice Treatment
Default Value:
Valid Values: String or as a JSON-formatted string
Changes Take Effect: Immediately
URI of the music file to play when the customer answers the callback.
The JSON-formatted strings can be used to specify hints to the RequestApplyTreatment. For example:
{ "file": "file_url", "hints": {"hint1":"value"}}
_treatment_waiting_for_agent
Section: Voice Treatment
Default Value:
Valid Values: String or JSON-formatted string
Changes Take Effect: Immediately
Music file to play when the customer is waiting for an agent. This parameter accepts a URI as a string or as a JSON-formatted string. If you do not set this option, Callback will use the default <GMS installation>/Resources/SampleTreatments/next_customer_rep.wav file of the callback template.
_treatment_find_agent_fail
Section: Voice Treatment
Default Value:
Valid Values: String or JSON-formatted string
Changes Take Effect: Immediately
Music file to be played when the service fails to find the agent in the time specified by the Max Time To Wait For Agent on the Call parameter. This parameter accepts a URI as a string or as a JSON-formatted string. See also _treatment_waiting_for_agent. By default, this option has an empty value and Callback will use the <GMS installation>/Resources/SampleTreatments/all_agents_busy.wav file available in the callback template.
_treatment_call_failure_answering_machine
Section: Voice Treatment
Default Value:
Valid Values: String or as a JSON-formatted string
Changes Take Effect: Immediately
URI of the music file to play when a call is not answered by the customer and is forwarded to the answering machine.
JSON-formatted strings can be used to specify hints to the RequestApplyTreatment.
The following example makes the music start playing after the answering machine beep is detected: { "file": "file_url", "hints":{ "am-beep-detection":"on"} }
By default, the value of this option is empty and Callback uses the <GMS installation>/../Resources/SampleTreatments/call_fail_ans_machine.wav file from the Callback template.
To deactivate the play treatment, set the value of this option to { }.
_route_point
Section: Voice - User Terminated
Default Value:
Valid Values: String
Changes Take Effect: Immediately
Route point from which the system can create a user-terminated (outbound) call.
This option is mandatory.
_prefix_dial_out
Section: Voice - User Terminated
Default Value: 9
Valid Values: Integer
Changes Take Effect: Immediately
Prefix required to perform a user-terminated (outbound) call from the system.
_on_user_confirm_timeout
Section: Voice - User Terminated
Default Value: CONNECT-ANYWAY
Valid Values: CONNECT-ANYWAY, CANCEL
Changes Take Effect: Immediately
Selects the action to perform if the user does not submit his or her confirmation in response to the push notification.
- CONNECT-ANYWAY will continue with the call.
- CANCEL cancels the service request.
_urs_strategy_update_sub_routine
Section: URS Queueing
Default Value: SetRouteDelay
Valid Values: String
Changes Take Effect: Immediately
Subroutine in URS that changes the RouteDelay parameter of the virtual interaction representing the service instance. This option informs URS to reserve this interaction's target when it becomes available. 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.
_urs_prioritization_strategy
Section: URS Queueing
Default Value: WaitForTarget
Valid Values: String
Changes Take Effect: Immediately
Universal Routing Server strategy to be used for the service instance prioritization. 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_virtual_queue
Section: URS Queueing
Default Value: {Specify virtual queue to be used by strategy}
Valid Values: string
Changes Take Effect: Immediately
Virtual queue (alias) to which the service request will be added.
_target
Section: URS Queueing
Default Value: {specify your target here}
Valid Values: String
Changes Take Effect: Immediately
Modified: 8.5.108.02, 8.5.109.05, 8.5.109.08, 8.5.114.09
Routing target that specifies the agent/queue resource that will process this request.
- Starting in 8.5.108.02, you can set multiple targets in this option, limited to 5.
- Starting in 8.5.114.09, the limit is increased to 15.
Single Target
For a single target, 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)
- GC (Campaign Group)
<Target String> can be a skill expression. In that case, <Target String> must start with '?:'.
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.
Multiple Targets
To set multiple targets, create a JSON-formatted string array of maximum 15 elements as follows:
[
{
"target": "<Target String>@<StatServer name>.<Target Type>",
"timeout": "<integer>",
"clear":<true/false>,
"stat_to_check": "<stat name>",
"stat_operator": "< or >",
"stat_value": "1"
}
]
- The timeout property specifies how long to wait in seconds before switching of targets.
- The stat_to_check property can be set to any of the values supported by the Statistics parameter passed to the IRD function SData(Target, Statistics), unless target is a skill expression. If target is a skill expression, you must choose one of the following values:
- RStatAgentsReadyvoice—agents ready for voice media.
- RStatAgentsReady—agents ready for any media.
- RStatAgentsTotal—agents logged in.
- The stat_value property specifies the threshold for the statistic passed in stat_to_check. If the condition set by the combination of stat_to_check, stat_operator, and stat_value is met, the current target is skipped, except if it is the last target of the list.
- If clear=true, the target will be overridden when switching to the next target; if clear=false, the target will be expanded with the next target.
_userterminated_first_connect_party
Section: Voice - User Terminated
Default Value: CUSTOMER
Valid Values: CUSTOMER, AGENT
Changes Take Effect: Immediately
First party to connect when _call_direction is set to USERTERMINATED. Set this option to CUSTOMER to call the customer first; set this option to AGENT to call the agent first.
This option is mandatory.
_type
Section: no category
Default Value:
Valid Values: builtin,ors
Changes Take Effect: Immediately
This option is mandatory.
- For Genesys Mobile Services-based services: builtin
- For Orchestration Server-based services: ors
_ttl
Section: General
Default Value: 86400
Valid Values: integer
Changes Take Effect: Immediately
Modified: 8.5.107.15, 8.5.109.05
Duration (in seconds) for which the service will be kept in storage after the Desired Time is passed (Time To Live). Once expired, the service is removed from the system. For example, if you want the callbacks to be visible in the Service Management UI for one week past the execution time, then you should set 7 days of Time To Live, which means _ttl=604800.
This option is mandatory.
_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.
_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.
_media_type
Section: General
Default Value: voice
Valid Values: String
Changes Take Effect: Immediately
Media type of the interaction that the service is expected to handle. This option enables URS to select an agent who has the appropriate media capabilities. This is a default value, automatically populated when using the predefined User-Terminated scenario. You do not need to change this value.
This option is mandatory.
_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.
User Terminated Delayed
Call flow
This Callback scenario is an outbound voice service that goes through the following stages:
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.
Create your Scenario
In the Admin UI > Services > Configured Services tab, add a Callback service with User-Terminated-Delayed as the Common Default Configuration (see Adding a Service for details).
Enter a service name. This name is the callback execution name of your service and will be used in URLs to access this service. For example, if you set this name to voice-userterm-delay, your service URL will be:
http://host:port/genesys/1/service/callback/voice-userterm-delay
When you add this service and default configuration, many options are automatically populated with the appropriate default values.
Configuration Options
The table below lists the key options applicable to this scenario. Some options, however, will require you to enter your own values. See the Comments column in the following table for these details.
Pre-defined Values
The following options are the default values, which are automatically populated when selecting the pre-defined User-Terminated-Delayed service. You do not need to change their values.
Option | Description |
---|---|
_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.
|
_media_type = voice | Media type of the interaction that the service is expected to handle. This option enables URS to select an agent who has the appropriate media capabilities. This is a default value, automatically populated when using the predefined User-Terminated scenario. You do not need to change this value.
This option is mandatory.
|
_wait_for_agent = true | 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.
|
_wait_for_user_confirm = true | 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.
|
_ttl = 86400 | Duration (in seconds) for which the service will be kept in storage after the Desired Time is passed (Time To Live).
Once expired, the service is removed from the system. For example, if you want the callbacks to be visible in the Service Management UI for one week past the execution time, then you should set 7 days of Time To Live, which means _ttl=604800. This option is mandatory.
|
_type = ors |
|
_userterminated_first_connect_party=CUSTOMER | First party to connect when _call_direction is set to USERTERMINATED. Set this option to CUSTOMER to call the customer first; set this option to AGENT to call the agent first.
This option is mandatory.
|
Additional Required Options
You must configure the following options. See the Universal Routing Server (URS) documentation for additional information about URS targets.
Option | Description |
---|---|
_target="MyTarget@StatServer.GA" | Routing target that specifies the agent/queue resource that will process this request.
Single TargetFor a single target, format the string according to the URS target specification: <Target String>@<StatServer name>.<Target Type> where Target Type is one of the following:
<Target String> can be a skill expression. In that case, <Target String> must start with '?:'.
See the Universal Routing Server (URS) documentation for additional information about URS targets. Multiple TargetsTo set multiple targets, create a JSON-formatted string array of maximum 15 elements as follows: [
{
"target": "<Target String>@<StatServer name>.<Target Type>",
"timeout": "<integer>",
"clear":<true/false>,
"stat_to_check": "<stat name>",
"stat_operator": "< or >",
"stat_value": "1"
}
]
Important If you set multiple targets in this option, then _urs_queued_ttl should be set to the total queue time across all targets.
|
_urs_virtual_queue="MyVirtualQueue" | Virtual queue (alias) to which the service request will be added.
|
_urs_prioritization_strategy = WaitForTarget _urs_strategy_update_sub_routine = SetRouteDelay |
By default, these options respectively match the names of the URS strategy and subroutine that you imported into IRD. If you changed one of these names, update the corresponding option to reflect the correct name. |
Customization
The options shown here and all of the options of the Voice User Terminated section 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 in the UI.
Option | Description |
---|---|
Section: Voice User Terminated | |
_on_user_confirm_timeout=CONNECT-ANYWAY | Selects the action to perform if the user does not submit his or her confirmation in response to the push notification.
|
_prefix_dial_out=91 | Prefix required to perform a user-terminated (outbound) call from the system.
|
_route_point={Route Point}@{Telephony Switch} | Route point from which the system can create a user-terminated (outbound) call.
This option is mandatory.
|
Section: Voice Treatment | |
_treatment_call_failure_answering_machine | URI of the music file to play when a call is not answered by the customer and is forwarded to the answering machine.
JSON-formatted strings can be used to specify hints to the RequestApplyTreatment. The following example makes the music start playing after the answering machine beep is detected: { "file": "file_url", "hints":{ "am-beep-detection":"on"} } By default, the value of this option is empty and Callback uses the <GMS installation>/../Resources/SampleTreatments/call_fail_ans_machine.wav file from the Callback template. To deactivate the play treatment, set the value of this option to { }.
|
_treatment_find_agent_fail = GMSApplications/<treatmentfile1> | Music file to be played when the service fails to find the agent in the time specified by the Max Time To Wait For Agent on the Call parameter. This parameter accepts a URI as a string or as a JSON-formatted string. See also _treatment_waiting_for_agent. By default, this option has an empty value and Callback will use the <GMS installation>/Resources/SampleTreatments/all_agents_busy.wav file available in the callback template.
|
_treatment_waiting_for_agent = GMSApplications/<treatmentfile2> | Music file to play when the customer is waiting for an agent. This parameter accepts a URI as a string or as a JSON-formatted string. If you do not set this option, Callback will use the default <GMS installation>/Resources/SampleTreatments/next_customer_rep.wav file of the callback template.
|
_treatment_customer_connect = GMSApplications/<treatmentfile3> | URI of the music file to play when the customer answers the callback.
The JSON-formatted strings can be used to specify hints to the RequestApplyTreatment. For example: { "file": "file_url", "hints": {"hint1":"value"}}
|
Sample Request and Response Sequence
Create outbound delay service
For instance, if your callback service is named voice-userterm-delay, create the following POST request:
Request URL:http://localhost:8080/genesys/1/service/callback/voice-userterm-delay
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:662
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryABpcDouIWQ5inBWl
Cookie:JSESSIONID=4ieeqn8sa8ni1o2u2nd1br8a4; 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
------WebKitFormBoundaryABpcDouIWQ5inBWl
Content-Disposition: form-data; name="_customer_number"
916504661232
------WebKitFormBoundaryABpcDouIWQ5inBWl
Content-Disposition: form-data; name="usr_customer_name"
Bob Markel
------WebKitFormBoundaryABpcDouIWQ5inBWl
Content-Disposition: form-data; name="usr_reason"
billing question
------WebKitFormBoundaryABpcDouIWQ5inBWl
Content-Disposition: form-data; name="_device_notification_id"
b16416334828b1d26ef14f329628b55b5a8c631d8928a371a5584722dd7fb673
------WebKitFormBoundaryABpcDouIWQ5inBWl
Content-Disposition: form-data; name="_device_os"
comet
------WebKitFormBoundaryABpcDouIWQ5inBWl--
Response Headersview source
Cache-Control:no-cache
Cache-Control:no-store
Content-Type:application/json;charset=UTF-8
Content-Type:application/json;charset=UTF-8
Date:Tue, 30 Jul 2013 07:04:31 GMT
Expires:Thu, 01 Jan 1970 00:00:00 GMT
Pragma:no-cache
Set-Cookie:JSESSIONID=1b81btxjbrb1wybz5a93i24io;Path=/genesys
Transfer-Encoding:chunked
Response Body:
{
"_id": "369-b100700a-4ce8-48f7-b1b0-1944b12359b9",
"_text": "We will notify you when agent is available"
}
Push notification data:
{
"_dialog_id": "0",
"_action": "ConfirmationDialog",
"_text": "You will receive the call shortly",
"_ok_title": "Ok",
"_id": "369-b100700a-4ce8-48f7-b1b0-1944b12359b9"
}
Connect (user confirmation)
Request URL:http://localhost:8080/genesys/1/service/369-b100700a-4ce8-48f7-b1b0-1944b12359b9/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
Set-Cookie:JSESSIONID=mjjvtphwb8lpce7io23ggxcu;Path=/genesys
Response Body:
{
"_dialog_id": "0",
"_action": "ConfirmationDialog",
"_text": "You will receive the call shortly",
"_ok_title": "Ok",
"_id": "369-b100700a-4ce8-48f7-b1b0-1944b12359b9"
}
Sequence Diagram
Click the diagram to access full resolution.