LCR - Least Cost Routing
General
LCR is a function that enables the system to automatically select the most economical route for an outgoing public call.
The system will detect if the call is made directly to a public network:
- is to an extension in the own exchange.
- may be reached completely via the private network.
(Off-net to On-net routing)
- may be reached partly via the private network.
LCR will select the cheapest route for the call depending on:
- the dialed number
- the time of day (optional).
The function is realized by modifying the dialed public number, based on the information in a number of LCR tables.
A short explanation of how external analysis, RCTs, and destination data records are related:
- A call made to the public network, will after a first number analysis (where the call is found to be to an external destination) be passed on to external analysis. The external analysis utilizes a table of destination data records (initiated with command RODDI), where data about number modification and routing is found.
- For each destination (possibly fictitious) an RCT with up to eight linked route choices should be initiated. Each route choice uses one of the destination data records in the external analysis.
LCR adds features, and increases the capacity of the external analysis (basic routing). LCR enables that the same set of destination data records can be used for different called numbers.
The LAC
Least cost routing is invoked when a Least cost routing Access Code (LAC) is dialed.
With basic routing only (no LCR), the dialed number is sent for external analysis when the access code for public calls is detected. With LCR, when the LAC is detected, the system modifies the dialed number to begin with a fictitious destination code, before it is sent for external (or internal) analysis.
By specifying the LAC as the standard access code for calls to the public network (for example 9 or 00) the user will not need to remember a special access code to use for LCR calls.
By using basic routing (by command RODDI) an LCR-like function could be implemented without using LCR, but it would require initiation of a lot of destination data records, which quickly would use up the limited capacity in the external analysis. Furthermore, it would require the users to use different access codes for LCR calls and non LCR calls.
LCR Number Database Tables
LCR consists of five number data base tables where the dialed number is modified, before it is sent to external or internal analysis. Any number initiated in any of the LCR tables (apart from the FDT, described later) should begin with an LAC that is initiated in the number analysis.
- The first table is the External Number Table (LCDDI:TAB=ENT).
This table offers basic analysis of conflict numbers, translation of special numbers, and translation to internal numbers and numbers within the own private network (off-net to on-net conversion).
- The second table is the Number Length Table (LCDDI:TAB=NLT). This table should be used when an exchange has a remote LIM in a different area (with an other area code). For the US market the ENT can also be used to distinguish between conflicting numbers using a combination of timer and number length analysis.
- The third table is the Exceptions Table (LCDDI:TAB=DNT1).
This, and the DNT2 together with the FDT (see below), are where the main LCR function is realized. Most of the numbers or number series that are to be least cost routed are initiated in these tables.
The DNT1 offers analysis of numbers up to 16 digits long which is good for analyzing exception numbers. Exception numbers are numbers that belong to a number series analyzed elsewhere (in external analysis with or without LCR), but need to be treated individually.
- The fourth table is the Number Table (LCDDI:TAB=DNT2).
This table only analyses numbers up to 8 digits long and is used for number series.
- The fifth table is the Fictitious Destination Table (LCDDI:TAB=FDT).
This table is the link between the DNT tables and the destination data records of the external analysis.
- Finally there is the optional feature to initiate Least cost time zone data in the DNT table (by command LCTDI). This feature is called Time of day. Basically, it offers the possibility to have a call routed differently depending on the time of day and the day of the week.
Note: The least cost time zone data must be initiated. It may be transparently initiated though, if the feature is unwanted.
The first two tables (ENT and NLT) modify the dialed number before it is sent to internal or external analysis.
The two DNT tables modify the dialed number before sending it to the FDT (possibly via time of day if desired). The DNT further prefixes the previously modified number before sending it on to external analysis.
Whether data should be initiated in each table will be described below in the section Execution.
Toll restriction and Forced Account Code may be applied for any call through LCR (except PDC calls, see below).
PDC
The LCR function also includes handling of the Public Destination access Code (PDC) which is mainly used in the US as a complement to the LAC. When using a PDC the call is not least cost routed, but external numbers may be (selectively) barred for calls by using the LCR features, Toll restriction and Forced account code. A comparison to help understanding PDC:
- To use only basic routing (no LCR), the user dials a standard access code to the public network and the dialed number is sent for external analysis. Toll restriction and Forced account code cannot be used since they are LCR features.
A basic route access code is initiated with the number type ED.
- To use LCR, the user dials an LAC and the dialed number is modified, is Toll restricted, and so on, before the modified number is sent to external analysis.
An LAC is initiated with the number type LC.
- To use LCR with PDC, the user dials a PDC and the dialed number is LCR-analyzed, but only Toll restriction and Forced Account Code are applied on the call. The dialed number is not modified before it is sent to external analysis.
A PDC is initiated with the number type PD.
No other LCR features, for example Time of day, than the two mentioned above may be applied to a PDC call.
Prerequisites
Initiate the numbers and number type for LCR, use the command number_initiate:
number_initiate -numbertype lc -number 9
The number series 9 as LAC is used in US-like numbering plans.
number_initiate -numbertype lc -number 00 The number series 00 as LAC is used in other numbering plans.
Group the numbers or number series that should be routed the same way, both regarding primary and alternative routing. Create fictitious external destinations, one for each group, and initiate them with number type ED.
For the examples below 0120 to 0125 are chosen to be used as fictitious destinations:
number_initiate-numbertype ed -number 0120..0125
Initiate primary and alternative routing choices with command RODDI for the fictitious destinations initiated above. Consider how to modify the number before sending it to the route, the fictitious destination (or part of it) is usually truncated. It is also possible to prefix the number here.
RODDI:DEST=0120,ROU=... and so on
Initiate the number series and number type for the PDC.
For the example below the number series 01 is selected:
number_initiate-numbertype pd -number 01 This call barring is further described in Example 3 of DNT - Destination Number Table. The number series 01 was randomly chosen.