Jump to: navigation, search

_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.
Important
If you set multiple targets in this option, then _urs_queued_ttl should be set to the total queue time across all targets.

_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:

1

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

1

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


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


This option is mandatory.


_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
  • For Genesys Mobile Services-based services: builtin
  • For Orchestration Server-based services: 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.
  • 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.
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.
  • CONNECT-ANYWAY will continue with the call.
  • CANCEL cancels the service request.


_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"}}


Important
In the Voice Treatment section, the GMSApplications/<treatmentfile> path is applicable if you are using the treatments builtin to the Callback strategy. If you are not using the builtin treatments, enter the path where you have placed your voice treatment files.

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.


Clbck-user term delayed.png

This page was last edited on January 4, 2018, at 10:38.
Comments or questions about this documentation? Contact us for support!