7 Tools and Utilities

This chapter explains the tools and utilities available in Advanced Control Services (ACS).

acsAddCallPlan

Purpose

Use the acsAddCallPlan tool to import a control plan, defined in a .cpl text file, into the SMF database either on the same platform or on a different platform. For example, you can export a control plan from one platform by using "acsDumpControlPlan" and then import the control plan into a different platform by using acsAddCallPlan.

The java shell script for acsAddCallPlan is located on SMS nodes. It launches a Java command line class that reuses the CPE code to achieve its requirements.

About Connecting to the Database

acsAddCallPlan and acsDumpCallPlan connect to the database on a local or a remote SMS node based on the values specified for the -u, -j, and -b command line options.

You can connect to the database by specifying the following:
  • -u username/password (for local connections)

  • -u username/password -j remote_hostname [-b port:db_SID] (for remote connections)

  • -u /@wallet_user (for local or remote connections through the Oracle wallet secure external password store)

where:
  • username and password are user credentials for a screens user or for the SMF database user.

  • remote_hostname is the host name of the machine running the remote database.

  • port and db_SID are the port number and database SID of the remote database. If not specified, defaults to 1521:SMF

  • wallet_user is the alias defined for the username and password credentials in the Oracle wallet secure external password store. For remote connections, this alias can be either a TNS name or a service name from tnsnames.ora.

Configuration

acsAddCallPlan accepts the following parameters.

Usage:
acsAddCallPlan [–u {usr/pwd|/@wallet_user}] [-j host] [-b port:db_id] [-v] [-D directory [ O directory]  C acs_customer]

The available parameters are:

Table 7-1 acsAddCallPlan Parameters

Parameter Default Description

-u usr/pwd

-u /@wallet_user

NA

Specify one of:

  • The username and password credentials for connecting to the database. Username must be a screens user credentials or SMF database user.
  • The wallet_user alias for the database credentials from the oracle wallet external password store. For remote connections to the database, the alias can be either a TNS name or a service name from tnsnames.ora.
-j host localhost The host name of the machine running the SMF database.
-b port:db_id 1521:SMF The port number and database ID of the SMF database.
-v off Verbose (optional)
-D directory ignored Specify the directory containing the .cpl files to import (optional).
-O directory ignored Specify the directory to move successfully imported files to (optional, only relevant with -D). Any files that fail to import will not be moved.
-C acs_customer ignored Specify the ACS customer that will own the imported control plans (required if -D is used).
When -D option is absent, records are added by stdin lines in the following format:
-c name -f file [-s name]|[-t name] [-d name] [-m ID] [-p]

Where the record content is:

Table 7-2 Record Contentby stdin Lines

Field Description
-c name Customer name.
-f file Exported control plan file name.
-s name

New template name (optional).

Tip: This is used when there is no existing template.

-t name Existing template name (optional).
-d name New control plan name (optional).
-m ID MF Identifier for the control plan (optional).
-p Make inserted control plan public (optional).
When -D option is present, records are added in the following format for each .cpl file:
-c cust_name -f cpl_file -s cpl_name -d cpl_name

Where the record content is:

Table 7-3 Record Content for .cpl Files

Field Description
-c cust_name Customer name is taken from the -C option argument.
-f cpl_file Is the filename of each .cpl file in the directory from the -D argument.
-s cpl_name Is the cpl file basename with the .cpl extension removed.
-d cpl_name Is the cpl file basename with the .cpl extension removed.

The control plan text file format is the same as that used for an exported control plan. Imported control plans will be set private and mf_identifier will be set NULL.

acsAddCustomer

Purpose

Inserts a customer record into the SMF database.

Location

This binary is located on the SMS node.

Configuration

acsAddCustomer accepts the following parameters.

Usage:
acsAddCallPlan –u usr/pwd [-v]

The available parameters are:

Table 7-4 acsAddCustomer Parameters

Parameter Default Description
–u usr/pwd NA username/password. Username must be acs_admin.
[-v] off Verbose
Records are added by stdin lines in the following format:
-c name [-f set] [-y set] [-g set] [-n set] [-m] [-r ref] [-d desc] [-l usr] [-o val=options] [-t policy]

Where the record content is:

Table 7-5 Record Content for acsAddCustomer

Field Default Description
-c name NA Customer name (mandatory).
-f set NA Feature node set name (optional).
-y set NA Holiday set name (optional).
-g set NA Geography set name (optional).
-n set NA Announcement set name (optional).
-m NA Customer is Telco managed (optional).
-r ref NA Customer reference (optional).
-d desc NA Customer description (optional).
-l usr NA User name to be added for this customer (optional).
-o val=options NA

Resource limits for customer (optional).

Options are:

  • eventlogs
  • statscounters
  • nodesinplan
  • callplans
  • callplanstructures
  • announcementsets
  • announcemententries
  • holidaysets
  • holidayentries
  • geographysets
  • geographyentries
  • users
-t policy global

Termination number range rules (optional).

Options are:

  • private (own range)
  • global (default checking)
  • any (no checking)

acsAddGeography

Purpose

Inserts Geography Set(s) into the SMF database from a text file.

Location

This binary is located on the SMS node.

Configuration

acsAddGeography accepts the following parameters.

Usage:
acsAddGeography -u usr/pwd [-c customer | -p] [-r int] [-g] filenames

The available parameters are:

Parameter Default Description
-u usr/pwd NA Oracle username/ password.
-c name NA

Customer to own created geography sets.

The -c and -p parameters are mutually exclusive.

-p NA Public set.
-r int NA Number of records before a commit (optional).
-g NA Global number prefix (optional).
filenames NA Input filename.

Input file structure

Geography set input files use the following format, where the indentation indicates what the data is, and hence is very important:
Geography set name
area = 1 
another area
sub area = 21
another sub area = 22
# blank lines or comments (# = comment line) are allowed.

Another geography set
newlands = 343

acsAddServiceNumber

Purpose

Inserts a service number record into the SMF database.

Location

This binary is located on the SMS node.

Configuration

acsAddServiceNumber accepts the following parameters.

Usage:
acsAddServiceNumber –u usr/pwd [-v]

The available parameters are:

Table 7-6 Available Parameters for acsAddServiceNumber

Parameter Default Description
–u usr/pwd NA Oracle username/ password.
[-v] off Verbose
Records are added by stdin lines in the following format:
-c customer -s sn [-r desc] [-b] [-p pin] [-f number] [-a options] [-t 1|2] [-i 0|1] [-d list]
Where the record content is:

Table 7-7 Record Content for acsAddServiceNumber

Field Description
-c name Customer Name.
-s sn Service Number.
-r desc Description (optional).
-b Use Toll Free beeps (optional).
-p pin PIN (optional).
-f number Follow me number (optional).
-a options Policy, Min/Max, Account Codes (optional).
-t 1|2

Barred list type (optional).

  • 1=barred, numbers are barred only if they occur in the list. If the list is empty then no numbers are barred – everything is allowed.
  • 2=allowed, numbers are allowed only if the occur in the list. If the list is empty then no numbers are allowed – everything is barred.
-i 0|1

Barred list ignore (optional).

  • 0=ignore list contents
  • 1=use the list contents
-d list List of barred/ allowed numbers (optional).

acsDecompile

Purpose

Takes a compiled control plan and decodes it into the control plan text file format.

Location

This binary is located on both SLCs and SMSs.

Configuration

acsDecompile accepts the following parameters.

Usage:
acsDecompile [-u usr/pwd] [-d dataID|-s structureID] [–r|–n]

The available parameters are:

Table 7-8 Available Parameters for acsDecompile

Parameter Description
-u usr/pwd Oracle username/password.
-d dataID Control plan Data ID to decompile.
-s structureID Control plan structure ID to decompile.
–r Dump raw content only.
–n Attempt to decompile node data.

acsDumpControlPlan

Purpose

Use the acsDumpControlPlan tool to export one or more control plans from the SMF database to text files (one file per control plan). You can import the control plan text files to either the same platform or a different platform, by using "acsAddCallPlan".

The java shell script for acsDumpControlPlan is located on SMS nodes. It launches a Java command line class that reuses the CPE code to achieve its requirements.

About Connecting to the Database

acsAddCallPlan and acsDumpCallPlan connect to the database on a local or a remote SMS node based on the values specified for the -u, -j, and -b command line options.

You can connect to the database by specifying the following:
  • -u username/password (for local connections)

  • -u username/password -j remote_hostname [-b port:db_SID] (for remote connections)

  • -u /@wallet_user (for local or remote connections through the Oracle wallet secure external password store)

where:
  • username and password are user credentials for a screens user or for the SMF database user.

  • remote_hostname is the host name of the machine running the remote database.

  • port and db_SID are the port number and database SID of the remote database. If not specified, defaults to 1521:SMF

  • wallet_user is the alias defined for the username and password credentials in the Oracle wallet secure external password store. For remote connections, this alias can be either a TNS name or a service name from tnsnames.ora.

Configuration

Usage:
acsDumpControlPlan -d out_dir  [-u {user/password|@wallet_user}][-j host] [-b port:db_id] [ c customer] [ p control_plan] [-i id] |  S [ v]

The available parameters are:

Parameter Default Description
-d out_dir NA Directory where exported control plan will be written.

-u user/password

-u @wallet_user

NA

Specify one of:

  • The username and password credentials for connecting to the database. Username must be a screens user credentials or SMF database user.
  • The wallet_user alias for the database credentials from the oracle wallet external password store. For remote connections to the database, the alias can be either a TNS name or a service name from tnsnames.ora.
-j host localhost The host name of the machine running the SMF database.
-b port:db_id 1521:SMF The port number and database ID for the SMF database.
-c customer ignored Name of the customer who owns the control plan (optional).
-p ignored Name of the control plan. May contain % and wildcard characters (optional).
-i id ignored The control plan ID in the ACS call plan table. If specified, ignores -c and -p. (optional)
-v off Verbose mode (optional).
-S ignored

If set, create all files in the same directory as out_dir/customer_name_version.cpl.

Otherwise, create files in subdirectories as out_dir/customer/name/version.cpl. (optional)

The control plan text file format is the same as that used for an exported control plan using the CPE.

acsMonitorCompiler

Purpose

Checks the number of control plans waiting to be compiled. acsMonitorCompiler is designed to be run after a large number of control plans have been entered.

Note:

No further control plans should be entered once acsMonitorCompiler has been started.

Location

This binary is located on the SMS node.

Configuration

acsMonitorCompiler accepts the following parameters.

Usage:
acsMonitorCompiler -u usr/pwd -s secs [-w] [-e]

The available parameters are:

Parameter Default Description
-u usr/pwd smf/smf Oracle username/password.
-s secs NA Seconds between database checks.
-w NA Display warnings and above (optional).
-e NA Display errors and above (optional).

acsProfile

Purpose

Decodes, displays or changes the value of profile tags.

Location

This binary is located on the SMS node.

Configuration

Usage:
acsProfile -[-u [/@SMF] | [/@SCP]]
           -[U] 
           -[Nn|Ss|Cc|Pp|Gg|Ii|Yy|Zz|Ee|Ff] <IntKey> 
           -[Nn|Ss|Cc|Pp|Gg|Ii|Yy|Zz|Ee|Ff] <StrKey> 
           -[j] - 
           -[j] <filename> 
           -[D] 
           -[W] <tag> -[A|H|L|B] <data> 
           -[R] <tag> 
           -[K] <tag1>[.<subtag1>],<tag2>[.<subtag2>] 
           -[V] <tag1>[.<subtag1>],<tag2>[.<subtag2>] 
           -[T] <tag> -[t] [h|P|d|a|p|m|n|l|v|V|A|B|D|i|H|I|U|W|N|S|O|M] 
           -[X] <tag> 
           -[Q] 

The available parameters are:

Table 7-9 Available Parameters for acsProfile

Parameter Description
[-u [/@SMF] | [/@SCP]]

Specify the SID of the remote database to connect:

  • /@SMF for SMS
  • /@SCP for SLC
-U Specify to enable SMF_SECURITY validation.
-targetProfile keyID|’str’

Specify the profile block that contains the target profile tags followed by the key as a string or an integer. You can specify one of the following values for targetProfile:

  • N|n = VPN_NETWORK.PROFILE where keyID is an integer or the name of the VPN network profile
  • S|s = VPN.STATION.PROFILE where keyID is an integer or the name of the VPN station profile
  • C|c = ACS_CUSTOMER.PROFILE where keyID is an integer or the name of the ACS customer profile
  • P = ACS_CALL_PLAN_PROFILE.PROFILE where keyID is an integer of the ACS call plan profile
  • G = ACS_GLOBAL_PROFILE.PROFILE where keyID is an integer of the ACS global profile
  • I|i = ACS_CUSTOMER_CLI.PROFILE where keyID is an integer or command-line interface (CLI) of the ACS customer CLI profile
  • Y|y = ACS_CUSTOMER_SN.PROFILE where keyID is an integer or service number (SN) of the ACS customer SN profile
  • Z|z = CCS_ACCT_REFERENCE.PROFILE where keyID is an integer or command-line interface (CLI) of the CCS account reference profile
  • E = CCS_GLOBAL_CONFIG.PROFILE where keyID is an integer of the CCS global configuration profile
  • F = CCS_ACCOUNT_TYPE.PROFILE where keyID is an integer of the CCS account type profile

Note: Specify lowercase to force acsProfile to accept a string keyID value.

-j -|filename

Specify to use the stdin/stdout pipeline or a specified file for the target profile. To use:

  • Stdin/stdout, specify: -j -
  • A specified file, specify: -j filename, where filename is the name of the file.
-D Defaults to dump profile
-W tag -[A|H|L|B] data Specify to update, insert, or write a tag with the specified data
-R tag Specify to remove a tag
-K tag1[.subtag1],tag2[.subtag2] Specify to copy the data in tag1 to tag2
-V tag1[.subtag1],tag2[.subtag2] Specify to move the data in tag1 to tag2
-T tag [-t tagType]

Decodes one tag, specified in tag, as the chosen type, where type is one of the following:

h = ASCII Hex

P = embedded profile, all of whose tags are hex

d = tree of digit strings

a = Announcement Map

p = prefix tree of digits and strings

m = Miscellaneous

n = Number Lists

l = Long triples; such as TimeOfWeek

v = Variable Announcement Rule Set (VARS) table

V = VARS Mapping table

A = Array

B = Boolean

D = Date

i = Discount

H = HuntingConfig

I = Integer

U = UnsignedInteger

W = UnsignedInteger64

N = NumericString

S = String

O = OrderedPrefixTree

M = NumberMatchingPatterns

Example: -T Date_1 –t D

Where Date_1 is the profile tag and D is the decoded tag type

-X tag

Cross checks the chosen tag in this profile. For example, for multi-lingual announcements in the global profiles, cross-check announcement language mappings and delete stray ones.

Note: Write and remove actions also produce a post-change profile dump.

-Q Indexes the new array type introduced by DAP and OSD. Setting this flag will allow indexing from zero.

acsScheduleCallPlan

Purpose

Inserts a control plan schedule record into the SMF database.

Location

This binary is located on the SMS node.

Configuration

acsScheduleCallPlan accepts the following

usage:
acsScheduleCallPlan –u usr/pwd [-v]

The available parameters are:

Table 7-10 Available Parameters for acsScheduleCallPlan

Parameter Default Description
–u usr/pwd NA Oracle username/ password.
[-v] off Verbose
Records are added by stdin lines in the following format:
-c name -s sn -p name -d YYYYMMDD24MMSS [-a]

Where the record content is:

Table 7-11 Record Content for acsScheduleCallPlan

Field Description
-c name Customer name
-s sn Service number
-p name Control plan name
-d list Schedule time
-a Activate against CLI not SN (optional).

acsSetupAnnouncement

Purpose

Inserts an announcement record into the SMF database.

Location

This binary is located on the SMS node.

Configuration

acsSetupAnnouncement accepts the following parameters.

Usage:
acsSetupAnnouncement [-u usr/pwd] [-l lang] -s set -e entry -r srf -i id [-c name] [-v] [-n] [-g time] [-d desc]

The available parameters are:

Parameter Description
-u usr/pwd Oracle username/password (optional)
-l lang Language name (optional)
-s set Set name
-e entry Entry name
-r srf srf name
-i id Numeric announcement ID
-c name Customer name (optional). If not set, the announcement set will be public.
-v Verbose (optional)
-n No SMS security challenge (optional)
-g time Generate script to run this tool to create same mappings (optional)
-d desc Announcement description (optional)

numberDataImport

Purpose

The numberDataImport tool enables you to create and update table lookup datasets from a comma separated value (CSV) file.

You can create any number of table lookup datasets. Each table lookup dataset contains a group of related codes and prefix mappings. For example, you can create a table lookup dataset for a specific geographic area or suburb.

A table lookup dataset can be public or private. A private table lookup dataset belongs to a specific customer. It is only available to that customer and the parent customers linked to that customer in the customer hierarchy. A public table lookup dataset is available to all customers.

The numberDataImport tool is located at /IN/service_packages/ACS/bin.

Before running numberDataImport, you must do the following:
When you run numberDataImport, you can use the -u (username and password) command-line option to specify the user credentials for connecting to the database on the SMS. You can use the -u option to specify only the user, or the user and the password.
  • If you specify only the user, then numberDataImport prompts you for the user's password at run-time.

  • If you omit the -u option, then numberDataImport connects to the database by using the default login value '/'.

If, for security reasons, you want to prevent users from specifying the password in the -u command-line option when they run numberDataImport, disable the password field. To disable the password field, add the following lines to the etc/profile file on the SMS node:
NUMBER_IMPORT_NO_COMMAND_LINE_PASSWORD=str
export NUMBER_IMPORT_NO_COMMAND_LINE_PASSWORD

where str is any string value.

To run numberDataImport, see "Creating and Updating Table Lookup Datasets".

After creating table lookup datasets, you can use them in the Table Lookup feature node configurations. For information about configuring the Table Lookup feature node, see Feature Nodes Reference Guide.

You can search table lookup datasets for a prefix number or a mapping code using the ACS UI. For more information, see the discussion on configuring ACS in ACS User's Guide.

Configuring the numberDataImport Tool

You configure numberDataImport in the NumberMappingImport section of the eserv.config configuration file on the SMS. The following example shows the NumberMappingImport section:
NumberMappingImport = {
closedDirectory = "closed_dir"
errorDirectory = "error_dir"
dbCommitBatchSize = size
progressDotInterval = int
}
Where:
  • closed_dir is the directory to which numberDataImport copies successful import files. Defaults to /IN/service_packages/ACS/mappingData/closed if not specified.

  • error_dir is the directory to which numberDataImport writes import error files. Defaults to /IN/service_packages/ACS/mappingData/error if not specified.
  • size sets the number of insert or update operations to perform before committing the data to the database. There is a 10 second pause at each interval to help throttle replication. Defaults to 5000 if not specified.

  • int defines the number of insert or update operations to perform before displaying a progress dot (a dot that is displayed on the console for every x number of updates). Defaults to 100 if not specified.

Creating the Dataset Input File

You import entries into a table lookup dataset from a comma-separated value (CSV) file that you create. You specify this file as input to the numberDataImport tool when you run the tool from a command line.

Follow these steps to create the dataset CSV file.
  1. Open a new file in a text editor.

  2. Add dataset entries to the file by using the following syntax for each entry. Add each entry on a new line:
    a|A|d|D,lookup_code,lookup_prefix
    Where:
    • a or A specifies to add the dataset entry. If the dataset entry already exists, it is updated.

    • d or D specifies to delete the dataset entry. If the dataset entry does not exist, this file entry is ignored.

    • lookup_code is the code that maps to the prefix in lookup_prefix.

    • lookup_prefix is a prefix number or CLI.

    • A comma (,) preceded by a backslash will be treated as a valid comma character rather than a separator.

    • A hash (#) preceded by a backslash will be read as a valid hash character rather than beginning of a comment.

  3. Save the file, giving it the file extension .csv. Example CSV file entries:
    a,3333,32014733
    a,4444,32014744
    d,5555,320147355
    d,6666,320147366

Creating and Updating Table Lookup Datasets

Follow these steps to run the numberDataImport tool.
  1. Open a command shell and log in to the SMS as the acs_oper user.

  2. Navigate to the /IN/service_packages/ACS/bin directory.

  3. Run the numberDataImport tool by using the following syntax:
    ./numberDataImport [–u user|user/password] [–F|D] [-s dataset] -i filename [-a acs_customer]
    Where:
    • user and user/password – (Optional) is the user, or the user and password for an ACS user with the required user privilege level. The user must be a Screens user who has the AcsNumberMappingImport permission. For information on setting user privileges, see SMS User's Guide.

      If you specify only the user, then numberDataImport prompts you for the user's password at run-time.

      If you omit the -u option, then numberDataImport connects to the database by using the default login value '/'.

    • F and D – (Optional) indicates whether to create or update the dataset. Specify:
      • F to create the dataset. If the dataset already exists then you see a warning message asking if you want to continue. If you want to overwrite the existing dataset entries, then answer Y, otherwise answer N.

      • D to update the specified dataset.

      If you do not specify F or D and the dataset does not already exist, then numberDataImport creates a new dataset. If the dataset does exist, then it is updated.

    • dataset – (Optional) is the name of the dataset that you want to create or update. If you do not specify dataset, then the dataset name defaults to "Default".

    • filename – (Required) is the name of the CSV file that contains the dataset entries. The CSV file must have the .csv suffix.

    • acs_customer – (Optional) defines the name of the ACS customer that the dataset belongs to. If you do not specify acs_customer, then the dataset will be public and therefore available to all customers.

    Note:

    Values for the -a, -s, and -i parameters can be quoted or unquoted. However, you must enclose a value in quotes if it contains spaces.

    For example, you could create Dataset1 for customer ABC from the entries in Dataset1.csv by running the following command:
    ./numberDataImport -u user/password -F -s Dataset1 -i Dataset1.csv -a ABC 

    After successfully importing a dataset from a CSV file, the CSV file is moved to /IN/service_packages/ACS/mappingData/closed by default.

    If the numberDataImport tool fails to import any entries, then these failed entries are written to the error file /IN/service_packages/ACS/mappingData/error/filename.error by default.

    Where filename is the name of the CSV input file.

    For information about the location of the numberDataImport output files, see "Configuring the numberDataImport Tool".