cc/td/doc/product/voice/uone/srvprov/r42s
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

ACB (SPOBJ/AMM) Configuration

ACB (SPOBJ/AMM) Configuration

The Agent Communications Broker (ACB) provides a complete, self-contained, multi-agent execution environment. It provides a multi-agent platform that can dynamically launch applications in response to a passed token in a startapp request as configured through the schedule table. It can start STATIC_NOWAIT agents, which require no startapp, and STATIC agents that are loaded before receiving the startapp but still require a startapp to complete initialization. The ACB also binds the network objects required for agent execution. It monitors and manages agent instances for normal and abnormal termination and state transition conditions.


Note   An agent instance is a single execution of a particular agent.

This section describes the configuration of the following:

Defining Groups

Groups can be defined to differentiate billing records (using an account code) for different sets of users. They are also used to manage the maximum number of agent instances allowed by any one group. DAP groups are similar in concept to UNIX groups defined in /etc/group; however, there is no linkage between the two.

The $PARMLIB/parms/APP/Group.<hostname> File


Step 1   Go to the server you would like to administer.

Step 2   Log in as spmaster.

Step 3   Edit $PARMLIB/parms/APP/Group.<hostname>. Each GROUP entry has four parameters:

Example

    GROUP GroupName GroupNumber AccountCode MaxGroupInstances
     
    

Refer to Table 9-1and Table 9-2.


Table 9-1: $PARMLIB/parms/APP/Group.<hostname>
Parameter Name Description Valid Values and Defaults

GroupName

The character name of the group.

1 - 8 characters.

Default not applicable.

GroupNumber

An arbitrary number assigned to the group.

Any signed 32-bit integer except 0, which is reserved for the UNKNOWN group.

Default not applicable.

AccountCode

A character string used for billing records.

1 - 8 characters.

Default not applicable.

MaxGroupInstances

The maximum number of agent instances that are allowed to execute at one time for this group on this ACB host.

Any positive integer. (The effective limit is dictated by the capacity of your computer system to handle load.)

This number must not be greater than the MaxInstances attribute of the ACB.

Default not applicable.


Table 9-2: Example $PARMLIB/parms/APP/Group.<hostname>
#------------------------------------------------------------------
# Key Group Group Account Max Group
# Word Name Number Code Instances
#------------------------------------------------------------------
GROUP test 100 code001 48 # comments can follow
GROUP new 101 code002 48 # comments can follow

The ACB Scheduling Table

The schedule table contains information about how and when applications should be started. This file is used only by the ACB. The ACB reads the schedule table at startup. When the ACB is first started, it starts all STATIC and STATIC_NOWAIT agents. In addition, the resched command can dynamically reload the schedule table into the memory of an ACB instance that is up and operational.

An agent can be configured to allow STATIC, STATIC_NOWAIT, and DYNAMIC instances, provided you do not use the same application and token for both. You cannot exceed the maximum number of instances indicated by the MaxInstances parameter configured for the ACB.


Note    An application must be configured according to how it is designed or configured. For example, you cannot safely run an application that is designed to run dynamically as a STATIC_NOWAIT application or vice versa. Applications are either designed to be persistent or they are not. The file also allows entries called STATIC and EXTERNAL, but these entries are not recommended for use with uOne.

A STATIC_NOWAIT application does not wait for an external event to start it: it starts when the ACB starts. The maximum number of agents started is determined by the MaxInstances. Any changes to the schedule table will not affect a STATIC_NOWAIT application that is operational until the application is killed and restarted or if the ACB is stopped and restarted.

The DYNAMIC entries specify dynamic applications. These applications are started by an external event (startapp), such as by an incoming call or a token passed by MWI_Notify. The maximum number of applications that can potentially be started is determined by the MaxInstances. Any changes to the schedule table will affect a DYNAMIC agent upon the next instance. An instance is simply one process of the application being launched.

Both STATIC_NOWAIT and DYNAMIC applications can be either persistent or non-persistent. However, it is unwise for a STATIC_NOWAIT application to be non-persistent. An application that is non-persistent will terminate after it has completed its task. For example, a uOne application instance will go away after a call session is completed for either call answer service or subscriber services. On the other hand, the FaxPrint application is persistent: it continues to run even when there are no more redirected faxes to act upon.

Engineering Considerations

The $PARMLIB/parms/APP/Schedule.<hostname> file


Step 1   Go to the server you would like to administer.

Step 2   Log in as spmaster.

Step 3   Edit $PARMLIB/parms/APP/Schedule.<hostname>. Each DYNAMIC entry has seven (or eight) parameters. Each STATIC_NOWAIT entry has eight (or nine) parameters.

Examples

DYNAMIC entries require:

DYNAMIC GroupNumber StartCMDCount TrapLevel 
StartTime EndTime 
StartToken ProgramName 
ProgramParameters

(where ProgramParameters are optional)

STATIC_NOWAIT entries require:

STATIC_NOWAIT GroupNumber InstanceCount 
TrapLevel StartTime EndTime StartToken 
ProgramName ProgramParameters

(where ProgramParameters are optional)

Step 4   Use umcli (see the uOne Operations Manual) to reload the schedule table into the ACB's memory. These changes will take effect on the next instance of a dynamic application. It will take effect on the next load of the STATIC_NOWAIT applications.


Table 9-3: $PARMLIB/parms/APP/Schedule.<hostname>
Parameter Name Description Valid Values and Defaults

GroupNumber

The number of the group to associate with the application when it is launched.

See $PARMLIB/~/APP/Group.<hostname> for valid GroupNames, or to add/modify GroupNames.

Any number except 0, which is reserved for the UNKNOWN group.

StartCMDCount

For dynamic applications, this is the total number of start commands that this program can be sent. Until implemented, this field should be set to ensure successful operation.


Note   For DYNAMIC applications, this field is for future use.

For STATIC_NOWAIT applications, this is the number of applications to start.

For DYNAMIC applications, a valid positive integer (>0)

For STATIC_NOWAIT applications, use 1.

StartCount

The number of times an agent will be started.


Note   This field is used only for STATIC_NOWAIT types.

Valid Values: Valid positive integer (>0). Also, can be set to 0 to designate infinite starts.

TrapLevel

The trap level.


Note   Traps will always be sent if an application aborts.

Valid Values: 0, 1

0 means trap notification is off and 1 means traps notification is on (e.g., if trap notification is on, traps will be sent when the instance is started as well as notification that the instance has gone away).

StartTime

For DYNAMIC entries, this is the earliest time of day the program can be launched.

For STATIC_NOWAIT entries, this entry is ignored. Always populate this field with an *.

00:00 to 23:59 inclusive.

An * indicates the program should always be selected.

EndTime

For DYNAMIC entries, this is the latest time of day the program can be launched.

For STATIC_NOWAIT entries, this entry is ignored. Always populate this field with an *.

00:00 to 23:59 inclusive; must be greater than the start time.

An * indicates the program should always be selected.

StartToken

For DYNAMIC entries, this is the token that must be matched to start the program.

For STATIC_NOWAIT entries, this entry is ignored. Always populate this field with a unique token.

User defined. Any alphanumeric token.


Note   If the application is to be started via an incoming phone call, the token specified here must match the 10-digit (in N. America) RDNIS. For direct calls, the RDNIS equals the DNIS (depending on the value of the TEL DomainLookup attribute) phone number of the incoming call.

ProgramName

The path name to the application program to start from the InstancePath.

User defined. If the name starts with a /, it is a full path name; otherwise it is relative to $PARMLIB/apps and $PARMLIB/bin.

ProgramParameters

If there is more than one parameter, the parameters must be separated by a space.

0 or more parameters.

The maximum number of characters supported is 100 characters.


Figure 9-1: Example $PARMLIB/parms/APP/Schedule.<hostname>
DYNAMIC 100 1 0 * * 8 UM/UM UM.ini

DYNAMIC 100 1 1 * * MWI_OnOff  MWI_OnOff/MWI_OnOff

STATIC_NOWAIT 101 1 1 0 * *  SMS SMS_Notify/SMS_Notify

STATIC_NOWAIT 100 1 1 1 * *   LogRemover LogRemover/LogRemover

 

ACB Parameters

Table 9-4 below provides information about the parameters that affect the ACB. Descriptions, default values, and ranges of valid values are listed for each parameter.

Changes to ACB parameters take effect when you start ACB. Therefore, if ACB is running and you make parameter changes, you will need to stop and start ACB.

The $PARMLIB/parms/APP/Attrib.Global File


Step 1   Go to the server you would like to administer.

Step 2   Log in as spmaster.

Step 3   Edit $PARMLIB/parms/APP/Attrib.<hostname> and use:

MaxInstances x

where x is the value calculated from the "Engineering Considerations" section.


Table 9-4: $PARMLIB/parms/APP/Attrib.<hostname>
Attribute Description Valid Values and Defaults

MaxInstances

Defines the maximum number of instances that can be running at the same time.

Any positive integer. However, the upper limit is effectively determined by the limitations of your computer system to handle load.

Default = 48.


hometocprevnextglossaryfeedbacksearchhelp
Posted: Mon Sep 25 20:26:14 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.