Professional Documents
Culture Documents
Segmentation
Introducing Segmentation
Call segmentation is the process of categorizing incoming calls. By examining
information about the call, you can determine the type of service the caller
requires.
The first information ICM software uses to categorize a call is the call type. (For
more information about defining call types, see Chapter 2, “Call Types”.) Ideally,
you should use call types to perform as much of the call segmentation as possible.
However, in some cases you might want to perform further segmentation within a
routing script. The ICM Software Script Editor makes this possible by providing
nodes that let you:
• Refine the call type definition. Call qualifier nodes branch based on the
dialed number, calling line ID, or caller-entered digits associated with the
current call.
• Refine the call type schedule. The Time and Day of Week nodes branch
based on the time of day.
• Change the call type. The Call Type and Requalify nodes change the call
type for accounting or routing purposes.
• Change the script processing paths. The Go To Script, Switch, and If nodes
change the direction of call handling.
• Query another database. The DB Lookup facility retrieves data from an
external database.
• Use gateways. The application gateway invokes an external application from
within a routing script; ICM Gateway accesses a Remote ICM.
The sections that follow describe these features and how to use them.
In this script fragment, the first CLID node segments off calls from the 617 area
code for special treatment. The second CLID node segments off calls from the 215
or 412 area code.
Tip You can also use the ClidInRegion built-in function to test whether the CLID
value is in a specific region. For information on built-in functions, see
Chapter 5, “Formulas”.
Step 1 Within Script Editor, place the Dialed Number object in the workspace and
right-click to open the Properties dialog box.
Step 2 Select the Dialed Numbers to be associated with the node and click the Add
button to assign them to the Target Dialed Numbers field.
Step 3 Optionally, click the Comment tab and create descriptive text to appear in the
node in the Script Editor.
Step 4 Optionally, modify the Comments tab.
Step 5 Optionally, modify the Labels tab.
Step 6 Click OK to apply changes and to close the dialog box.
By default, ICM software compares the list of values against the calling line ID
of the call. In practice, however, you are more likely to define a call type that
applies to one or more entire area codes or local exchanges.
Step 1 Within Script Editor, place the CLID object in the workspace and set up its target
connections.
Note You must insert targets and connection branches from the CLID node
before you can define the node’s properties.
Warning If you ever delete a connection associated with a case, the case information
you specified in the Properties dialog box is deleted, also.
Step 4 If you want to specify another value or expression to be used instead of the CLID,
click the Variable tab.
Step 5 Click the Use Expression radio button and enter an expression to be used instead
of the calling line ID. For each call, the expression you enter will be compared
against the list of values in the node.
Step 6 Optionally, modify the Comment tab.
Step 7 Optionally, modify the Labels tab.
Step 8 Click OK to apply changes and to close the dialog box.
There are two cases where a call might not have a CED value: the caller is not
prompted for digits (the CED value is a null string) or the caller was prompted but
did not make an entry (the CED value is a hyphen).
Warning If you ever delete a connection associated with a case, the case
information you specified in the Properties dialog box is also deleted.
Step 1 Within Script Editor, place the CED object in the workspace and set up its target
connections.
Note You must insert targets and connection branches from the CED node
before you can define the node’s properties.
Time Node
The Time node allows you to branch to two or more connections within a script
based on the current time at the ICM Central Controller.
In the example, script control flows to one of three branches depending on the
time of day.
The Time node also provides the option of creating an “Otherwise” branch. Call
control passes to the Otherwise branch in situations where none of the specific
time ranges apply.
Step 1 Within Script Editor, place the Time object in the workspace and set up its target
connections.
Note You must insert targets and connection branches from the Time node
before you can define the Time node’s properties.
Step 2 Right-click to open the properties dialog box. The top part of the dialog box
displays a column for each output branch (initially assigning a label, A, B, C, etc.,
to each branch) and a column on the left listing the hours of the day.
Step 3 To add a time range, choose a value in the Connections field and click the Add
Time button. The Add Time dialog box appears.
Step 4 Use the Start time and End time scrolling lists to select a time range or ranges
(you can create multiple time ranges for each branch). Click OK. The Add time
dialog box closes and the range specified for the branch is shown in the Time
Ranges field and the Time graph.
Step 5 Optionally, rename an output branch column by selecting the column name in the
Connections field and click the Modify Name button. The label name becomes
highlighted and you can make changes.
Step 6 Optionally, designate one branch as the Otherwise branch: select a column name
in the Connections field and click the Make Otherwise button. The column is
renamed Other and assigned no time range.
Warning If you ever delete a connection associated with a case, the case
information you specified in the Properties dialog box is also deleted.
Step 1 Within Script Editor, place the Day of Week object in the workspace and set up
its target connections.
Note You must insert targets and connection branches from the Day of
Week node before you can define the node’s properties.
Step 2 Right-click to open the properties dialog box. The top part of the dialog box
displays a column for each output branch (initially assigning a label, A, B, C, etc.,
to each branch) and a column on the left listing the days of the week.
Step 3 To create a day grid assigning days of the week to output branches, left-click in a
spot in the grid to associate a day of week with a connection. A checkmark
appears in the grid.
Note You can associate each day of the week with exactly one connection.
However, you can associate each connection with one or more days of
the week.
Step 4 Optionally, rename an output branch column by selecting the column name in the
Connections field and clicking the Modify Name button. The label name becomes
highlighted and you can make changes.
Step 5 Optionally, modify the Comment tab.
Step 6 Optionally, modify the Labels tab.
Step 7 Click OK to apply changes and to close the dialog box.
For example, you might have several scripts that check for exception conditions
and, if none are found, execute a standard subroutine. Instead of including that
subroutine as a branch from the failure output terminal of each of the exception
conditions, you could use a Go To Script node pointing to a separate script
containing the subroutine.
Step 1 Within Script Editor, place the Go To Script object in the workspace and
right-click to open the properties dialog box.
Step 2 Optionally, use the drop-down list to specify a Business Entity.
Step 3 Use the drop-down list to choose the name of the script you want to execute.
Step 4 Optionally, modify the Comment tab.
Step 5 Click OK to apply changes and to close the dialog box.
Right-click the Go To Script node and choose Open Script from the shortcut
menu. The referenced script appears in a separate window in Browse Mode.
Note Only one connection can be active at any time. To change the active branch,
you must re-edit the script and create a new script version.
Step 1 Within Script Editor, place the Switch object in the workspace and set up its target
connections.
Note You must insert targets and connection branches from the Time node
before defining the Switch node’s properties.
Step 4 To make a connection active, click the Connection label and then click the Make
Active button. The Script Editor displays Active in the State field for the label.
Step 5 Optionally, modify the Comment tab.
Step 6 Optionally, modify the Labels tab.
Step 7 Click OK to apply changes and to close the dialog box.
When ICM software executes an If node, it first evaluates the condition specified
in the node Properties dialog box’s Define condition field. If ICM software
determines that the condition is true, control flows through the success output
terminal; if it determines the condition is false, control flows through the failure
output terminal.
Step 1 Within Script Editor, place the If object in the workspace and open the Properties
dialog box.
Step 2 Specify the Boolean expression to be evaluated in the Define Condition field.
Note If you want, click the Formula Editor button to access the Formula
Editor. See Chapter 5, “Formulas” for information on how to use this
tool to create expressions.
Note You need not configure columns that you do not plan to reference.
Step 1 Within the Configuration Manager, select Tools > Explorer Tools > Database
Lookup Explorer. The Database Lookup Explorer window appears.
Step 2 To enable Add Script Table, click Retrieve.
Step 3 Click Add Script Table. The Script Table property tab appears.
Step 4 In the Name field of the Script Table property tab, enter the database name.
Note The Name field is required. All other fields are optional. For
additional information refer to the online Help.
Step 5 Click Save to apply your changes. The ICM software database manager
automatically generates a unique ScriptTableID for each table you define.
Step 1 Within the Configuration Manager’s Database Lookup Explorer window, click
Add Column. The Database Lookup: Script Table Column property tab appears.
Step 2 In the Column Name field enter the name of the new column.
Note The Column Name field is required. All other fields are optional. For
additional information refer to the online Help.
Step 4 Click Save to apply your changes. The ICM software database manager
automatically generates a unique ScriptTableColumnID for each column you
define.
DB Lookup Node
Within Script Editor, you can use the DB Lookup node to query a specific row of
data from an external database. You can then reference columns from that row.
Note Before you can successfully use DB Lookup in a script, information about the
table to be queried must be defined within the Configuration Manager, as
described earlier in this chapter.
Note Script nodes with expressions that refer to external database information may
appear in the “success” path extending from the DB Lookup node. In addition,
the script must be set up so that any node that references a database column
appears after a DB Lookup node is executed. Before DB Lookup retrieves the
row, all columns from that table are invalid variables.
You can also test whether a row has been successfully retrieved before you try to
access the data. In this case, the If node would contain the condition:
Database.table-name.Available > 0
If the return value is true (that, is the value is greater than 0), the database
information is available. If the return value is false (that is, 0), the database
information is not available.
Step 1 Within Script Editor, place the DB Lookup object in the workspace and
right-click to open the properties dialog box.
Step 2 Enter values in the following fields:
• Table. (Drop-down list.) The enterprise name of the table you want to query.
• Lookup Value. A constant or expression to match the key value in the row
you want to retrieve. The value must be of the appropriate data type to match
the key field in the table. (To help you build an expression, you can click the
Edit Formula button to access the Formula Editor.)
For example, if the key for the table is a column containing customer telephone
numbers, you might enter Call.CallingLineID as the Lookup value.
Step 3 Optionally, modify the Comment tab.
Step 4 Optionally, modify the Labels tab.
Step 5 Click OK to apply changes and to close the dialog box.
Once you specify the configuration information, you can define the connection
information for the gateway, such as the network address of the port through
which ICM software communicates with the application.
If your ICM Central Controller is duplexed, you can define separate connection
information for each side of the Central Controller. This allows each side to
communicate with a local copy of the external application.
Note For a remote ICM, the address must be the same address specified for the ICRP
NIC on the targeted system. (You may use the hostname in place of the
address.) This address value must be followed by a colon, an instance or
customer number (denoting which ICM to access on the remote system),
another colon, and a letter indicating which side of the NAM system prefers
to use this connection. The preference letters are A (side A of the NAM prefers
this connection), B (side B of the NAM prefers this connection), N (neither
side of the NAM prefers this connection), or R (both sides of the NAM prefer
this connection). For example, the address might be 199.97.123.45:1:A.
Step 1 Within the Configuration Manager, select Tools > List Tools > Application
Gateway List. The Application Gateway List window appears.
Step 2 To enable Add, click Retrieve.
Step 3 Click Add. The Attributes property tab appears.
Step 4 Complete the Attributes property tab.
How to configure an application gateway connection and set the default connection parameters
Step 1 Within the Application Gateway List window, click Retrieve and select the
desired Application Gateway.
Step 2 Complete the Connection property tab(s).
The Gateway node allows you to pass data to the application and receive data in
return. You can examine the returned data and use it subsequently in your routing
decisions.
When ICM software encounters a Gateway node during script execution, it sends
a message through the application gateway. Script execution continues as follows:
• If the No Reply option was set on the Gateway node’s Properties Receive
tab—meaning that the external application does not return data to ICM
software—then execution continues immediately through the success
terminal of the Gateway node.
• If the No Reply option was not set on the Receive tab—meaning that the
external application does return data to ICM software—ICM software waits
for the application to return the data before continuing script execution. If the
application does not respond within the timeout threshold for the connection,
then control passes through the failure terminal of the Gateway node.
Otherwise, control passes through the success terminal.
Step 1 Within Script Editor, place the Gateway object in the workspace and right-click
to open the properties dialog box.
Step 2 On the Send tab, specify the following:
• Application gateway. (Drop-down list.) An application gateway you defined
in the Configuration Manager.
• Subtype field. An optional string expression to pass to the application.
• Call variables. (Checkboxes.) Call variables to be sent to the application.
• Expanded call context variables. (Checkbox.) If the box is checked,
Expanded Call Context (ECC) variables are sent to the application.
Step 3 Click the Receive tab and specify the following:
• No Reply. (Checkbox.) Select the No Reply option if the external application
does not return any data to the script.
Note If you select this option, the system will not be able to retrieve any
information from the external application.