When Genesys CTI is configured, Blueworx Voice Response will automatically communicate with Genesys when a call is answered by Blueworx Voice Response by using the Genesys NewCall API function
Both of these Genesys API functions are accessed by using the VoiceXML <object> element
Some Genesys properties have to be configured before using any of these API functions:
Property | Optional | Usage |
---|---|---|
setGCTIActionToInvoke | No | The Genesys API function to invoke: RouteRequest or AccessNumGet |
setGCTIUData | Yes | User data to be set on the Genesys API call and subsequently stored in the Genesys Framework. |
setGCTIUDataSeparatorCharacter | Yes | Valid separator characters for use in the user
data specified by setGCTIUData are: : ; , . | ! ^ * + - ~ #The default value is a colon (:). |
The user data is specified in a key value pair, the key and value are delimited by the equals. Multiple key value pairs can be specified, and these must be delimited by one valid separator character defined by the setGCTIUDataSeparatorCharacter property. The default is a colon. For example:
key1=value1:key2=value2:key3=value3
The AccessNum request is used in external routing to prepare a call for inter-switch transfers. It is used to transfer a call (with call data) between switches on different sites. Each value in the VoiceXML definition is mapped across to an object property as shown in the following table:
Property | VoiceXML Value | Optional | Notes |
---|---|---|---|
setGCTIAccessNumDestDN | DestDN | No | |
setGCTIAccessNumLocation | Location | No | |
setGCTIAccessNumXRouteType | XRouteType | Yes | If not present a value of Default is
used. If the value of XRouteType is DirectUUI, UUI_Number must also be set. |
setGCTIAccessNumUUINumber | UUI_Number | Yes | This must only be present if the value of XRouteType is DirectUUI |
The value of XRouteType depends on the routing being performed but it must be one of the following case-sensitive values:
The number to route to is returned in the variable routeNumber in the VoiceXML object. For example, if the VoiceXML object name is gcti, the number to route to is assigned to the gcti.routeNumber variable.
The AccessNum function returns a completion code which is stored in the VoiceXML object. The variable is completionCode and can either be 0 for success or another number for failure. For example, if the VoiceXML object is gcti, the completion code is assigned to the gcti.completionCode variable.
<form id="gcti_accessnum_default"> <object name="gcti" classid="method://com.blueworx.vr.cti.gcti.NativeAppSupport/invokeGCTI" type="javacode-ext"> <param name="setGCTIActionToInvoke" value="AccessNum"/> <param name="setGCTIAccessNumDestDN" value="3000"/> <param name="setGCTIAccessNumLocation" value="Location"/> <filled> <log>Number is: <value expr="gcti.routeNumber"/></log> </filled> </object> <block> <log>Completion code is: <value expr="gcti.completionCode"/></log> </block> </form>
This example sets up the following key value pairs of data:
<form id="gcti_accessnum_default_udata"> <object name="gcti" classid="method://com.blueworx.vr.cti.gcti.NativeAppSupport/invokeGCTI" type="javacode-ext"> <param name="setGCTIActionToInvoke" value="AccessNum"/> <param name="setGCTIUData" value="First=John:Last=Smith:Service=Gas"/> <param name="setGCTIAccessNumDestDN" value="3000"/> <param name="setGCTIAccessNumLocation" value="Location"/> <filled> <log>Number is: <value expr="gcti.routeNumber"/></log> </filled> </object> <block> <log>Completion code is: <value expr="gcti.completionCode"/></log> </block> </form>
<form id="gcti_accessnum_directuui"> <object name="gcti" classid="method://com.blueworx.vr.cti.gcti.NativeAppSupport/invokeGCTI" type="javacode-ext"> <param name="setGCTIActionToInvoke" value="AccessNum"/> <param name="setGCTIAccessNumDestDN" value="3000"/> <param name="setGCTIAccessNumLocation" value="Location"/> <param name="setGCTIAccessNumXRouteType" value="DirectUUI"/> <param name="setGCTIAccessNumUUINumber" value="1234"/> <filled> <log>Number is: <value expr="gcti.routeNumber"/></log> </filled> </object> <block> <log>Completion code is: <value expr="gcti.completionCode"/></log> </block> </form>
The RouteRequest is used to make the Genesys URS route the call. It is used to signal that the call has finished being processed by Blueworx Voice Response and should now be routed.
Each value in the VoiceXML definition is mapped across to an object property as shown in the following table:
Property | VoiceXML Value | Optional |
---|---|---|
setGCTIRouteDN | RouteDN | No |
setGCTIRouteCED | CED | Yes |
The number to route to is returned in the variable routeNumber in the VoiceXML object. For example, if the VoiceXML object name is gcti, the number to route to is assigned to the gcti.routeNumber variable.
The RouteRequest function returns a completion code which is stored in the VoiceXML object. The variable is completionCode and can either be 0 for success or another number for failure. For example, if the VoiceXML object is gcti, the completion code is assigned to the gcti.completionCode variable.
<form id="gcti_routerequest">}} <object name="gcti" classid="method://com.blueworx.vr.cti.gcti.NativeAppSupport/invokeGCTI" type="javacode-ext"> <param name="setGCTIActionToInvoke" value="RouteRequest"/> <param name="setGCTIRouteDN" value="3000"/> <param name="setGCTIRouteCED" value="1234567890"/> <filled> <log>Number is: <value expr="gcti.routeNumber"/></log> </filled> </object> <block> <log>Completion code is: <value expr="gcti.completionCode"/></log>}} </block> </form>
This example sets up the following key value pairs of data:
<form id="gcti_routerequest"> <object name="gcti" classid="method://com.blueworx.vr.cti.gcti.NativeAppSupport/invokeGCTI" type="javacode-ext"> <param name="setGCTIActionToInvoke" value="RouteRequest"/> <param name="setGCTIUData" value="First=John:Last=Smith:Service=Gas"/> <param name="setGCTIRouteDN" value="3000"/> <param name="setGCTIRouteCED" value="1234567890"/> <filled> <log>Number is: <value expr="gcti.routeNumber"/></log> </filled> </object> <block> <log>Completion code is: <value expr="gcti.completionCode"/></log> </block> </form>
<form id="gcti_routerequest"> <object name="gcti" classid="method://com.blueworx.vr.cti.gcti.NativeAppSupport/invokeGCTI" type="javacode-ext"> <param name="setGCTIActionToInvoke" value="RouteRequest"/> <param name="setGCTIUData" value="First=John;Last=Smith;Service=Gas"/> <param name="setGCTIUDataSeparatorCharaCharacter" value="';'"/> <param name="setGCTIRouteDN" value="3000"/> <param name="setGCTIRouteCED" value="1234567890"/> <filled> <log>Number is: <value expr="gcti.routeNumber"/></log> </filled> </object> <block> <log>Completion code is: <value expr="gcti.completionCode"/></log> </block> </form>