Difference between revisions of "LCR"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(47 intermediate revisions by 9 users not shown)
Line 1: Line 1:
LCR is set of Providers which should be used to send call. LCR stands for Least Cost Routing. E.g. cheapest rate is
=Description=
selected when trying to dial any destination.


Correct name for such function is Routing Table, because it support other ways for routing, not just Least Cost Routing.
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.  


LCR supports fail-over: e.g. if one provider fails – next one is dialed. This is completely invisible for caller and lets you increase the chances for user to reach destination.
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.
Ff one Provider is not capable of delivering a call - system will try to use remaining Providers.


LCRs' window can by found in '''SETTINGS – Billing – LCR'''
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 [[How_to_add_Provider_to_LCR | Providers]].
<br><br>
==Fail-over explanation==


Supported routing modes:
=== Use only first Provider in the row ===


* By Price - cheapest first (Least Cost Routing)
This option can allow/deny failover for LCR.
* [[Call Routing by priority (Manual LCR) | By priority]]
* [[Routing by Percent| By percent]] or Weight-based routing


User has one base LCR, e.g. all his calls are routed by some preset rule.
When it is enabled it only allows the first Provider in the Routing Table/LCR to be used.


It is possible to route different destinations for User using [[Call routing per destination basis]].
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.
=== Examples ===
With such configuration:
<br><br>
[[image:lcr_fo_case1.png]]
<br><br>
System will do following:
* system tries to use "Kolmisoft PREMIUM";
* if above fails, system tries to use "Kolmisoft STANDARD";
* end.
<br><br>
With such configuration:
<br><br>
[[image:lcr_fo_case2.png]]
<br><br>
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)
<br><br>
With such configuration:
<br><br>
[[image:lcr_fo_case3.png]]
<br><br>
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.
<br><br>
[[File:failover_provider_user_tariff.png]]
<br><br>
=Usage=
Go to '''SETTINGS –> Billing –> LCR'''
<br><br>
[[File:lcr_path.png]]
<br><br>
Here you can see the list off all LCRs
<br><br>
[[File:lcr_main.png]]
<br><br>
* Name – name of LCR.
* Order – type of routing mode.
* Providers – quantity of providers in LCR. Click on it to [[How_to_add_Provider_to_LCR | Add Providers to LCR]]
* [[Call_routing_per_destination_basis | By destination]]
* Usage Details – the list of Users and Card Groups where this LCR is used.
* [[LCR make tariff | 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 [[Image: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.
<br><br>
==Supported routing modes==
* [[Call Routing by price|By Price]] - cheapest first (Least Cost Routing).
* [[Call Routing by priority (Manual LCR) | By priority]].
* [[Routing by Percent| By percent]] or Weight-based routing.
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]].
<br><br>
==Creation==
Press [[Image:icon_add.png]]'''New LCR''' to create LCR.
<br><br>
=== VIDEO: How to create LCR ===
<html>
<iframe width="640" height="360" src="https://www.youtube.com/embed/7sCaBH35hXc" frameborder="0"></iframe>
</html>
<br><br>
==Additional Configuration==
Go to LCRs list and press [[image:icon_edit.png]] icon.
<br><br>
[[File:lcr_time_periods.png]]
<br><br>
'''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.<br>
'''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.
<br><br>
===LCR Time Periods===
<!---This functionality is available from MOR X4--->
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.
The timezone in Time Periods is in the Server's (Linux) timezone.
<br><br>
'''Examples'''
# 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.
# 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.
# 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.
<br><br>
===LCR Loss Calls===
It is possible to enable Loss Calls per LCR. The default setting - unchecked.
<br><br>
[[File:LCR_loss_calls.png]]
<br><br>
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==
<!---This functionality is available from MOR 12--->
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'''
<br><br>
[[File:lcr_copy_path.png]]
<br><br>
You will see this window:
<br><br>
[[File:lcr_copy.png]]
<br><br>
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.
<br><br>
=See also=
=See also=


* [[LCR Logic]]
* [[LCR Logic]]
* [[How to add Provider to LCR]]
* [[How to add Provider to LCR]]
* [[Call Routing by priority (Manual LCR)]]
* [[Call Routing by price]]
* [[Call Routing by priority (Manual LCR) | Call Routing by priority ]]
* [[Routing by Percent | Call Routing by percent]] or Weight-based routing
* [[Call routing per destination basis]]
* [[Call routing per destination basis]]
* [[LCR/Tariff change based on call prefix]]
* [[LCR/Tariff change based on call prefix]]
* [[Routing by Percent]] or Weight-based routing
* [[Why call was not routed through other provider/trunk?|Why was a call not routed through another provider/trunk?]]
* [[Why call was not routed through other provider/trunk?]]
* [[LCR_make_tariff|Make Tariff from LCR Providers to CSV]]

Latest revision as of 13:31, 6 November 2024

Description

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.

Examples

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

Usage

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.

Creation

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.

The timezone in Time Periods is in the Server's (Linux) timezone.

Examples

  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