Section IV – Misc. > Function Blocks         Bottom of Page
Genesys 8.1
SCXML Technical Reference
< External Interfaces

Function Blocks

The following table documents the mapping from URS/IRD function block functionality to SCXML and Functional Modules functionality. This mapping will result in the creation of an SCXML snippet or a specific <state> element definition which represents the functionality of the function block. The following is <state> element template that will be used:

<state id="function_block_name">
	<datamodel>
		<! — This defines the data needed for processing this function block -->
	</datamodel>
	<onentry>
		<! — Do the necessary function block action set up and action execution -->
		<xxxx:yyyy requestid="_data.reqid" .../>
	</onentry>
	<transition event="xxxx.yyyy.done" cond="..." target="...">
		<! — transition based on results (equal to function block output port) -->
	</transition>
	<transition event="xxxx.zzzz" cond="..." target="...">
		<! — additional actions if necessary and transitions based on it. (equal to function block output port ) -->
	</transition>
	<transition event="error.xxxx.yyyy">
		<! — transition based on results – (equal to function block error port) -->
	</transition>
</state>

Function Block

SCXML and Functional Module equivalent

Acknowledgement

<msgbased:createmessage> for appropriate media

Add Record

<session:fetch..." method = "'post'" srcexpr="'http://server.com...req=AddRecord'">

ANI

<script> if done in orchestration, <session:fetch> with application server code, if done outside.

Assign

<assign> using ECMAScript object properties and functions

Attach Categories

Use _genesys.ixn.interactions[].udata with category information (Business Attribute CME objects) from configuration server

Autoresponse

<msgbased:createmessage> for appropriate media

Business

<script> if done in orchestration, <session:fetch> with application server code, if done outside.

Busy

<dialog:playsound>

Call Subroutine

<include> or <invoke>

Cancel Call

<dialog:stop>

Chat Transcript

<msgbased:createmessage ... chattranscript="'xxx'"> for appropriate media

Classify

<classification:classify>

Classify (segmentation)

<classification:classify>, <script> if done in orchestration, <session:fetch> with application server code, if done outside.

Collect Digits

<dialog:collect>

Comment

<log>

Create Interaction

<session:fetch srcexpr="http://server1.com/ cv/customers/${customer_id}/interactions" method="post" ...>

Create Email Out

<msgbased:createmessage> for appropriate media

Create Notification

<msgbased:createmessage> for appropriate media

Create SMS

<msgbased:createmessage> for appropriate media

Database Wizard

<session:fetch>, specialized application server code

Date

<script> if done in orchestration (use ECMAScript standard date functions/objects or Session functional module ECMAScript date and time functions), <session:fetch> with application server code, if done outside.

Day of Week

<script> if done in orchestration (use ECMAScript standard date functions/objects or Session functional module ECMAScript date and time functions), <session:fetch> with application server code, if done outside.

Default

<queue:default>

Delete User Announcement

<dialog:deleteann>

DNIS

<script> if done in orchestration, <session:fetch> with application server code,

Do Not Call

<session:fetch..." method = "'post'" srcexpr="'http://server.com...req=DoNotCall'" />

Entry

<initial> or <scxml initial attribute>

Error Segmentation

<script> if done in orchestration, <session:fetch> with application server code, if done outside.

Exit

<final>

External Service

<session:fetch>, specialized application server code

Fast Busy

<dialog:playsound>

Force Routing

<ixn:redirect>

Forward E-Mail

<msgbased:createmessage> for appropriate media

Function

<script> any functional module interface action or ECMAScript function.

Generic

<script> if done in orchestration, <session:fetch> with application server code, if done outside.

Identify Contact

<session:fetch srcexpr="http://server1.com/cv/profiles" method="get" ... >

If

<if>

IVR

<dialog:remote>

Load Balancing

<queue:submit>

Macro

<include>

MultiAssign

<assign using ECMAScript object properties and functions>

MultiAttach

<script> or <assign> using _genesys.FMname.interactions[x].udata object properties

MultiScreen

<classification:screen>

Music

< dialog:playsound>

Pause

<runttreatments> and <pause>

Percentage

<queue:submit>

Play Announcement

< dialog:play> and <prompts type="tts">

Play Announcement and collect digits

< dialog:playandcollect>

Play Application

< dialog:start>

Processed

<session:fetch..." method = "'post'" srcexpr="'http://server.com...req=RecordProcessed'" />

Queue Interaction

<ixn:redirect>

RAN

< dialog:playsound>

Record User Announcement

< dialog:recordann>

Redirect E-Mail

<msgbased:createmessage> for appropriate media

Reply E-Mail From External Resource

<msgbased:createmessage> for appropriate media

Reschedule

<session:fetch..." method = "'post'" srcexpr="'http://server.com...req=RecordReschedule'" />

Ringback

< dialog:playsound>

Route Interaction

<queue:submit>

Screen

<classification:screen>

Screen (segmentation)

<classification:screen>, <script> if done in orchestration, <session:fetch> with application server code, if done outside.

Selection (target selection)

<queue:submit>, <dialog:runtreatments>

Send E-Mail

<msgbased:sendmessage>

Service level

<queue:submit>, <dialog:runtreatments>

Set Default Destination

<dialog:setdialogdefaultdest>

Silence

< dialog:playsound>

Statistics

<queue:submit>, <dialog:runtreatments>

Stop Interaction

<ixn:terminate>

Switch to Strategy

<include> or <invoke>

Text to Speech

<dialog:play><prompts type="tts">

Text to Speech and Collect Digits

<dialog:playandcollect><prompts type="tts">

Time

<script> if done in orchestration (use ECMAScript standard date functions/objects or Session functional module ECMAScript date and time functions), <session:fetch> with application server code, if done outside.

Update Contact

<session:fetch srcexpr="http://server1.com/cv/profiles" method="put"... >

Update Record

<session:fetch..." method = "'post'" srcexpr="'http://server.com...req=UpdateCallCompletionStats'" />

Verify Digits

<dialog:playandverify>

Web Service

<session:fetch> with application server code

Workbin

<ixn:redirect>

Workforce

<queue:submit>, <dialog:runtreatments>

Function Block Mapping




Section IV – Misc. > Function Blocks         Top of Page
Genesys 8.1
SCXML Technical Reference
< External Interfaces