From Kolmisoft Wiki
Jump to navigationJump to search


LCR (Least Cost Routing) is a set of Providers that should be used to send a call when trying to dial any destination - for example, by the cheapest rate.

The correct name for such a function is a Routing Table because the function supports other ways of routing, not just finding the cheapest route.

By default LCR supports fail-over. That is, if one provider fails, the next one is dialed. This is completely invisible for the caller and lets you increase the chances of the user reaching his destination. If one Provider is not capable of delivering a call, the system will try to use the remaining Providers.

Fail-over explanation

Use only first Provider in the row

This option can allow/deny failover for LCR.

When it is enabled it only allows the first Provider in the Routing Table/LCR to be used.

Please note that when using ANI Authentication, a second query is made to get LCR info. If this option is set to "Yes" on the first query, the second query will not change it.

In other words - if the first LCR denies Failover, the second ANI LCR can't enable Failover.

This is by design to avoid situations where the misconfiguration can create loops in the call flow.


With such configuration:

Lcr fo case1.png

System will do following:

  • system tries to use "Kolmisoft PREMIUM";
  • if above fails, system tries to use "Kolmisoft STANDARD";
  • end.

With such configuration:

Lcr fo case2.png

System will do following:

  • system tries to use "Kolmisoft PREMIUM";
  • end.

NOTE: if the original User is being changed by ANI, and if the original User has "Use only first Provider in the row" set to YES on its LCR, then even if resulting User LCR has "Use only first Provider in the row" set to NO, the system will act as it is set to YES. (See description above why it is so)

With such configuration:

Lcr fo case3.png

The system will do the following:

  • system tries to use "Kolmisoft PREMIUM";
  • if above fails, the system tries to use "Kolmisoft STANDARD";
  • if above fails, the system tries to use provider "112" even if its rate is higher than User rate;
  • end.

It is possible to change User's tariff when the Failover provider is used. By default, the current User's tariff is used.

Failover provider user tariff.png


Go to SETTINGS –> Billing –> LCR

Lcr path.png

Here you can see the list off all LCRs

Lcr main.png

  • Name – name of LCR.
  • Order – type of routing mode.
  • Providers – quantity of providers in LCR. Click on it to Add Providers to LCR
  • By destination
  • Usage Details – the list of Users and Card Groups where this LCR is used.
  • Make Tariff from LCR Providers to CSV – feature that gets you a CSV with the MIN/MAX prices selected from the list of Providers in LCR. Click on the Excel.png icon and the download should start automatically. (De-activated provider will be taken into CSV. "by Destination" will not be taken into CSV)
  • LCR copy – press on icon to make LCR copy.

Supported routing modes

The user has one base LCR, so that all his calls are routed by some preset rule.

It is possible to route different destinations for a User using Call routing per destination basis.


Press Icon add.pngNew LCR to create LCR.

VIDEO: How to create LCR

Additional Configuration

Go to LCRs list and press Icon edit.png icon.

Lcr time periods.png

First Providers percent limit - visible when order by Price is selected. If the following Providers will have higher prices by this percent compared to the first Provider, these Providers will be skipped. 0 value disables the use of this setting.
Minimal Rate Margin Percent - use only those Providers which generate profit (per minute) equal or higher than defined percentage value in this field. For example, if you pay to your Provider 1 EUR/min and your Minimal Rate Margin Percent is set to 50%, then only calls with a user rate equal to or higher than 1.5 EUR/min are allowed to call. After 1 min of call, you will pay 1 EUR to your provider, and the user will pay you 1.5 EUR. Your profit will be 0.5 EUR which is 50% more of what you paid to your Provider. If your Minimal Rate Margin is -30%, then you allow some losses in your calls. If you pay 1 EUR to your Provider after 1 minute of call, then the user should pay you 0.7 EUR or more. You will pay 1 EUR and you will get 0.7 EUR which is 30% less than what you paid.

LCR Time Periods

Sometimes there is such demand to change LCR for some time period. This functionality gives you the ability to do that. In the LCR Edit page time periods can be set.

The time period defines the exact time period LCR will be active. There is a limit of five periods in one LCR. The rest of the time will be used the main LCR.


  1. Select Date from 1 of January to 28 of February and choose Hour : Minute from 09:00 to 18:59. Selected LCR will be used from 1 of January till 28 of February at time from 09:00 till 18:59.
  2. Select just Hour : Minute from 19:00 to 08:59 and selected LCR will be used every day at time from 19:00 till 08:59.
  3. Select Weekday from Monday to Friday and choose Hour : Minute from 13:00 to 15:59. Selected LCR will be used every week from Monday till Friday at time from 13:00 till 15:59.

LCR Loss Calls

It is possible to enable Loss Calls per LCR. The default setting - unchecked.

LCR loss calls.png

This setting allows you to decide whether you want to allow users a provider if the provider's rate to a destination is higher than the user's rate.

By allowing such a call, you will pay more to the provider than the user pays to you for it, which means that you will take a loss on the call.

Copying LCRs between resellers

Sometimes you need to make a LCR which takes quite a long time to make. If you have made a similar one before you can just copy it and change appropriate details.

Go to SETTINGS -> Billing -> LCR -> Copy LCR

Lcr copy path.png

You will see this window:

Lcr copy.png

Choose Original LCR reseller and Cloned LCR reseller and click Clone button.

Please note that LCR will not be allowed to copy if reseller B is not allowed to use Providers which are used by Reseller A.

See also