8MS User Guide
LCR Generator

LCRgen is an 8MS add-on product that automatically generates complex geographic routing from user-supplied cost input where users have multiple choices for the carrier they choose to carry their traffic.   To prepare the input, users must know the rate that each of their carriers charges for each NPANXX and have traffic data per NPANXX.  This allows the computation of a cost for the traffic from a given NPANXX for each available carrier. For example, if in NPANXX 201200 a user had a carrierA rate of 1 cent/minute and a carrierB rate of 1.5 cents/minute with total traffic of 30 minutes then the cost of using carrierA is 30 and the cost of using carrierB is 45.

There are approximately 173,000 valid NPANXXs while the maximum number of paths in a CPR is approximately 1,000.   Therefore LCRgen must make choices among the cost data to build a minimal cost CPR that SMS will accept.

The LCRgen input is a user-created text file. It contains the data to generate CPRs for one or more toll-free numbers.

In its simplest form, the input appears as follows:

-START NUM-

-START HDR-
Target#:toll-free number
Cprname:CPR-name
Notes:up to 50 characters of informal notes
IgnoreInvalidNpaNxx:{Y | N}
CICs:comma-separated list of CICs in the order the cost data will be given
ForceOthercics:comma-separated list of CICs that are allowed on the OTHER branch
-END HDR-

-START COSTS-
NPANXX[/potsnumber]:cost1,cost2,....
-END COSTS-

-END NUM-

Any number of LCRgen requests can be made in one input file, each enclosed within -START NUM- and -END NUM-. In other words, an input file can contain instructions to generate multiple CPRs for different target numbers.   Any lines beginning with ‘#’ are ignored so you may sprinkle comments in your file to annotate your data.

Each request contains a header section (delimited by -START HDR- and -END HDR-) with the following information:

The header fields CICs, Target#, and Cprname are required. The remaining fields are optional.

Each request contains a costs section (delimited by -START COSTS- and -END COSTS-) with the following information on each line.

Here's an example.

-START NUM-

-START HDR-
Target#: 8662998932
Cprname: GenPlan
CICs: 0111,0222,0333
IgnoreInvalidNpanxx: Y
-END HDR-

-START COSTS-
201200:0072,0103,7800
201202:0178,0103,
201204:0215,0132,
201206:0095,0103,2110
201207:0095,0103,4210
201209:,,33
732302:0095,0103,4210
-END COSTS-

-END NUM-

The result of this input would be generation of a CPR called GenPlan for 8662998932.  The CPR would have the following

If this CPR fits in SMS (it most likely will) it is the one generated.   However, if it results in, for example, too many paths, then other choices for 201200, 201202, 201204, 201206, 201207 and 732302 would be made to find the minimal cost CPR that fits.

Currently, LCRgen uses the geographic routing nodes of SD (six-digit), LT (lata), AC (npa) and NX (nxx) nodes to effect the routing. It will generate labels as needed and maximize the use of the OTHER branch on the nodes.

LCRgen Requests

The LCRgen data file is uploaded using the top portion of the LCR Generation screen. This screen takes a file name and user comment as input. The input file is read, and CPRs generated as appropriate.

In the menu frame, select the LCR Gen link located in the CPR Generator section of the menu. The following will appear in the top section:

The LCR Generator will generate complex records based on input from a user-created file. The format of this file is described above. Use the Browse... button to select the appropriate file from your PC. Optionally, Notes also may be entered.

Select the button to complete the request. The contents of the specified LCR Data File will be sent to the 8MS server, and a request to generate CPRs will be made. To view the results of the LCR CPR generation, use the bottom frames of the LCR Generation screen.

LCRgen Status

The other two sections of the LCR Generation screen are used to check the results of CPR generation. It is possible that CPR generation will fail due to invalid input. In such cases, the status section of the screen will show the errors. Assuming generation is successful, a summary of the generated CPR will be available. It is also possible to view the generated CPR, and, if need be, update it.

In the menu frame, select the Status link located in the CPR Generator section of the menu. The middle frame will be populated with all recent LCR Generation requests:

Each line in the output represents one request. If Notes were entered, they are shown as above.

Selecting any of the requests will result in the following display in the bottom of the screen:

The output summarizes the result of processing the associated input file. The button may be used to view the original user input that was supplied for the request. It will appear in a popup window. The button can be used to delete the selected request.

Clicking on the icon will expand the entry, producing a line for each generated CPR:

Each indented line represents one request within the input file. The Status, Type, Toll Free #, and CPR Name are shown.

Selecting an indented entry will show detail about that one request. If the request was successful, a summary of the generated CPR is given. If any problems occurred while processing the file, warnings and errors will appear below the summary. Errors indicate the CPR failed to be generated; warnings indicate that some data may need to be cleaned up in the LCR data file, but the CPR was still generated.

The button will appear. Selecting this button will bring up the generated CPR in the 8MS complex record editor (see Editing Complex Routing).

Clicking on the icon will collapse the entry, and return the LCR Generator Status display to its initial state.