Difference between revisions of "LCR"
(10 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
=Description= | =Description= | ||
LCR (Least Cost Routing) is a set of Providers that should be used to send a call | 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 | 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 [[How_to_add_Provider_to_LCR | Providers]]. | 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> | <br><br> | ||
==Fail-over explanation== | ==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: | With such configuration: | ||
Line 29: | Line 44: | ||
* end. | * 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> | <br><br> | ||
With such configuration: | With such configuration: | ||
Line 34: | Line 51: | ||
[[image:lcr_fo_case3.png]] | [[image:lcr_fo_case3.png]] | ||
<br><br> | <br><br> | ||
The system will do the following: | |||
* system tries to use "Kolmisoft PREMIUM"; | * system tries to use "Kolmisoft PREMIUM"; | ||
* if above fails, system tries to use "Kolmisoft STANDARD"; | * if above fails, the system tries to use "Kolmisoft STANDARD"; | ||
* if above fails, system tries to use provider "112" even if its rate is higher than User rate; | * if above fails, the system tries to use provider "112" even if its rate is higher than User rate; | ||
* end. | * 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> | <br><br> | ||
=Usage= | =Usage= | ||
Line 77: | Line 99: | ||
<html> | <html> | ||
<iframe width="640" height="360" src=" | <iframe width="640" height="360" src="https://www.youtube.com/embed/7sCaBH35hXc" frameborder="0"></iframe> | ||
</html> | </html> | ||
Line 87: | Line 109: | ||
[[File:lcr_time_periods.png]] | [[File:lcr_time_periods.png]] | ||
<br><br> | <br><br> | ||
'''First Providers percent limit''' - | '''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 user rate equal or higher than 1.5 EUR/min are allowed to call. After 1 min of call, you will pay 1 EUR to | '''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> | <br><br> | ||
===LCR Time Periods=== | ===LCR Time Periods=== | ||
<!---This functionality is available from MOR X4---> | <!---This functionality is available from MOR X4---> | ||
Sometimes there is such demand to change LCR for some time period. This functionality gives you | 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. | |||
Time | The timezone in Time Periods is in the Server's (Linux) timezone. | ||
<br><br> | <br><br> | ||
'''Examples''' | '''Examples''' | ||
Line 102: | Line 126: | ||
# 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. | # 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> | <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== | ==Copying LCRs between resellers== |
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:
System will do following:
- system tries to use "Kolmisoft PREMIUM";
- if above fails, system tries to use "Kolmisoft STANDARD";
- end.
With such configuration:
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:
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.
Usage
Go to SETTINGS –> Billing –> LCR
Here you can see the list off all LCRs
- 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 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
- By Price - cheapest first (Least Cost Routing).
- By priority.
- 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.
Creation
VIDEO: How to create LCR
Additional Configuration
Go to LCRs list and press icon.
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
- 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.
LCR Loss Calls
It is possible to enable Loss Calls per LCR. The default setting - unchecked.
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
You will see this window:
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
- LCR Logic
- How to add Provider to LCR
- Call Routing by price
- Call Routing by priority
- Call Routing by percent or Weight-based routing
- Call routing per destination basis
- LCR/Tariff change based on call prefix
- Why was a call not routed through another provider/trunk?
- Make Tariff from LCR Providers to CSV