Feedback

  • Contents
 

Run Subroutine

This operation passes an interaction (a call or Email object) to a handler.  This node is sometimes called "Subroutine Initiator", since it invokes a custom handler from within Attendant.  Handlers are hidden programs that contain and execute the functionality configured in Interaction Attendant.  Specifically, Run Subroutine passes a call identifier and subroutine name to the CustomSubroutineInitiatorRouter handler. 

Run Subroutine is not available in all editions of CIC.

The interaction is passed to the subroutine specified in this node and also in the CustomSubroutineInitiatorRouter handler.  The processing that the subroutine performs occurs is up to the handler author.

For example, if you have a handler that looks up account balances, you could send a call to that handler allowing the caller to enter a user ID and password. The handler would then play the account balance and return back to the Interaction Attendant menu it was called from.


Important

Before using Run Subroutine in Interaction Attendant, you must use Interaction Designer to modify the CustomSubroutineInitiatorRouter handler.  For procedural details, see modify CustomSubroutineInitiator.ihd

This help topic doesn't explain everything that you need to know about handlers.  For exhaustive information, refer to Interaction Designer's help system. 

Node Characteristics frame

Options in this frame name the node, assign the digit used to select it,  and establish whether or not it is active, used by default, logged, or tracked for reporting purposes.

Name field

The label you enter here becomes the name of the node in the tree structure.

Digit list box

Use this list to select the key that callers press to enter a caller data entry operation.  When you assign a digit, the list displays only available digits—those that are not already in use at this level of the tree.  If no digit is assigned, callers cannot invoke the operation directly.  It is possible to create menu options that are invoked by a routing process, rather than by a user selection.  For details, see invoke a menu operation automatically.

Active check box

By default, forms are "on", or "active", which means that Interaction Attendant will process them.  If you uncheck a form's Active check box, the name of the node turns gray in the tree to indicate that the form is inactive.  Interaction Attendant and its handlers will thereafter ignore the form and its children.  Use this feature to save a configuration that you are testing.  Inactive forms are invisible to callers.  When a node is inactive, it appears grayed out in the tree view.

Default Action check box

At any given "level" in the tree structure, one node can be marked as the default action.  The operation defined by the default node is performed if the caller does not press a key within the timeout period specified by that menu. The icon for default forms has a green border in the tree structure.  Any node below a menu or schedule can be marked as the default action, by checking the form's default action check box.

Enable IVR Reporting

This option determines whether or not reporting data will be collected when control passes through this node.  Several IVR Reports summarize this information.  IVR Reporting is disabled by default.  Enable it to capture the date, time and duration of time that the call remained in the node and its children.  This option is hidden when Attendant is connected to a server that does not have reporting installed.  For more information about this feature, see IVR Reporting Option.

Add entry to the Interaction Log

When this option is enabled, information about this node is appended to the call's Interaction Log when the call enters this node.  This helps track the path that a call took through Attendant.  The Interaction Log is maintained for reporting purposes.  See View the Interaction Log for details.

Configure Speech Recognition... button

Select this button to configure words or phrases that can be associated with menu options. Callers can verbally indicate the options they want in the IVR instead of pressing a digit on the phone. You can enter multiple words and phrases for each menu item, just as callers may phrase the same request in different ways. For example, "transfer funds" or "funds transfer". See Add Speech Recognition keywords or phrases to Inbound Call Operations.

Subroutine

Subroutine Name

Type the name of the subroutine that you want to run.  This subroutine name must also be defined in the Select step of the CustomSubroutineInitiatorRouter handler.  See modify CustomSubroutineInitiator.ihd

To pass parameters to the Handler 

Sometimes it is desirable to pass data from Attendant to a hander. There are two ways to do this.

  • You can use the Set Attribute node to assign a value to a custom attribute, and configure the node to jump to any profile, schedule, menu, or operation that is defined for the current server. If the interaction is processed by the handler later, the handler can retrieve the value stored in the attribute.

  • You can also invoke a handler directly from Attendant and pass the value.  To do this, use the Run Subroutine node to specify a subroutine to run. To pass a value, append a colon followed by the parameter value to the subroutine name. For example, if the name of the subroutine is Voicemail and you want to pass the extension number of the end user, you would enter "Voicemail:133" in the subroutine field.

Action When Finished frame

These options set the processing that occurs after the operation completes successfully, when flow of control leaves the node.  You can return control to the previous menu, disconnect the call, transfer to an operator profile, or jump to any node or action that has been defined for the current server.

Select the flow of control that occurs when the subroutine runs successfully and no errors are encountered.  However, these options are not evaluated unless your custom subroutine returns False in a Boolean named p_bTransferred.

If your custom subroutine transfers the call to another thread (does not return the call to Attendant), the subroutine should assign False to a Boolean return value named p_bTransferred.  If the call is returned to Attendant, it should set p_bTransferred to True.

The p_bTransferred return value is passed back to the Run Subroutine node when the custom subroutine finishes.  It indicates whether or not Attendant should ignore or process the flow-of-control selections you make in Actions When Finished frame.  If the return value is True, this tells Attendant that the call was transferred by the subroutine, and no actions need to be performed on the call, since Attendant no longer has it.

When the custom subroutine is created in Interaction Designer, it should assign a Boolean value to p_bTransferred to indicate whether the call is transferred (True) or returned to Interaction Attendant for further processing (False).

If the return value is True, flow-of-control settings in the Subroutine Initiator form are ignored. If the return value is False, the action specified in the form is processed as follows:

Go back to previous menu

The Go back to the previous menu radio button returns control to the parent menu.  This option sets up a simple loop that "reruns" the menu from the top.

Disconnect

This option disconnects the call when the data entry operation is completed successfully.

Transfer to Operator Processing

Transfers the call for evaluation by operator profiles defined for this server.

Jump to a custom location

This option allows you to jump to any profile, schedule, menu, or operation that is defined for the current server.

Related Topics