User Rating: 5 / 5

Star Active Star Active Star Active Star Active Star Active

So I have been working a lot of time coding more capabilities for the LCR for FusionPBX application. I want to share the improvements that I am planing (some developing or already done).

In Short:

MOD_LCR LUA Script Replacement

This could be one of the biggest improvements. Because mod_lcr can only run one query, there are some limitations. If you see the query in LCR for FusionPBX 1.2.x, it is too complex and it is repetitive in many places. The LCR LUA script breaks it into simpler queries which values are going to be cached. This approach is quicker (I think) regardless that LUA is slower if you compare it against C.

Dynamic queries are easier to process. Depending on the variable conditions, an LCR query may or may not answer with billing information; the answer could be a NANP rate (intra-state or intra-lata) or a flat rate. This applies as well if you want to use just FAX-enabled carriers.

The original mod_lua keeps trying all the carriers if the call was not answered, cancelled by the caller, or answered somewhere else. The LUA script will give you the options to have more reasons to stop trying, for example, the unallocated number. If you are using reputable carriers, and one reports the number is not in use, there is no reason to keep trying with others.

Exporting variables leg-b is now easier. You just export and that's it. In the current mod_lua, you must configure the lua.conf.xml file to allow this to happen each time you want to export a new variable.

Since FusionPBX vanilla installation does not install mod_lcr by default (my RPM method does) and if you forget to do it manually you will have the inconvenience that when there is a FreeSWITCH new version, the old DEBs are through away. If you want to install mod_lcr, you must update all the FreeSWITCH which in production servers is not always a smart thing to do. The LUA script solves this.

Support for Carriers with Different Currency

In LCR for FusionPBX < 1.3 all the carriers' pricing lists must be in the same currency.  In the next 1.3.x version (not sure if 1.3.0), you will be able to load pricing lists in a different currency. The system will be aware and will convert it all to USD before doing the comparison.

I personally find this very handy. As I have some carriers I pay in Canadian dollars and others in Americans.

Support for mixed NANP and Flat-Rate Carriers

NANP only happens in the USA. But, if you are observant those carriers who support intra-state and intra-lata rates are way cheaper in some areas than the flat-rate carriers. So, depending on who is calling you will find that the call would be way cheaper.

Before LCR for FusionPBX 1.3, this was not implemented.

Support for Default Selling Pricing List

If the Billing for FusionPBX is installed, you now have the option to have a "default" pricing list and other complementary lists that just have within the differences. This approach saves a lot of space in the database as pricing lists are not always short (especially if you are giving A to Z service).

Support for Different Routing Based on Caller-Callee

This seems to be similar to the inter-state and inter-lata from the NANP. Some carriers happen to cut deals with other carriers and if a call comes from a specific caller ID they get better rates. For example, all the calls originated from Europe to Europe cost less than a cost coming from America. So, let's make this happen. You will see a new optional field called "Origination Digits" which expects the same format as the "Digits".

When Will This Be Ready?

As soon as possible.

How I can Suggest Something?

Join the Free FusionPBX Support Telegram Group and just write there your suggestion. Please take in mind that I will evaluate and depending on what you are suggesting I just could include it for free in the next release or ask for compensation.

blog comments powered by Disqus


Read about IT, Migration, Business, Money, Marketing and other subjects.

Some subjects: FusionPBX, FreeSWITCH, Linux, Security, Canada, Cryptocurrency, Trading.