| 8MS User Guide |
CPR Generator |
Main Help Page |
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.
A simple example would be as follows. In NPANXX 201200 the user may have a carrierA rate of 1 cent/minute and a carrierB rate of 1.5 cents/minute. If the total traffic from 201200 is 30 min then the cost of using carrierA is 30 and the cost of using carrierB is 45.
There are approximately 150,000 valid NPANXXs while the number of paths in a CPR is approximately 600. Therefore LCRgen must make choices among the cost data to build a CPR that SMS will accept. The LCRgen input is a user-created text file. It contains instructions to generate CPRs for one or more toll-free numbers. It is also possible to request automatic customer record activation if a CPR is successfully generated.
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
Activate:{Y | N}
Effdate:{NOW | MM/DD/YY HH:MMa}
IgnoreInvalidNpaNxx:{Y | N}
CICs:comma-separated list of CICs in the order the cost data will be given
DefaultCost: the costs to use for any NPANXX not given in the cost data
AOS: comma-separated list of NPAs
-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. If activation is specified without supplying an effective date/time, NOW is assumed.
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
DefaultCIC:0333
IgnoreInvalidNpanxx:Y
AOS:201,732
-END HDR--START COSTS-
201200:0072,0103,7800
201202:0178,0103,
201204:0215,0132,
201206:0095,0103,2110
201207:0095,0103,4210
201209/7323020222:,,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.