For those who do not know me, I am not only a technician. I hold two masters, one has to be with Telecom Management. So, after careful analysis of the telecommunication behaviour, I found a way to make this profitable (I hope I am right). I want to share with you all one of the most recent services I am offering: Unlimited SIP Trunks to USA48 and Lower Canada. USA48 is the way to name all American states but Hawaii and Alaska; lower Canada means the provinces (excluding the territories).
LCR is the capacity to let the system choose the proper route based on criteria. FreeSWITCH has mod_lcr to deal with this, but you will need an application to manage thousands of rates. The first release of this application was based on original FusionPBX's author LCR application with little fixes (we are talking about release 1.0.0). From that point, I have been adding many other capabilities to make this application a must-have for people who want to do business with VoIP.
LCR for FusionPBX will allow you to upload as many rate data as you need in many carriers as well. You will be able to You will get fail-over capabilities, if your first choice fails, FreeSWITCH will try the second one and so on.
Currently, the outstanding LCR features are:
Billing is the capacity to let the system asks (money of course) for its use. This application requires LCR for FusionPBX because when you build a business, you are not only looking to make profits but to save money.
Billing for FusionPBX will allow you to get money. Currently, Stripe, Paypal and Off-line plugins are available, but others gateways can be coded. It supports multicurrency as well, you can bill one customer in EUR, other in USD, other in MXN and pay in USD.
The big advantage of this project is it is inside the FusionPBX itself. This allows billing for many other items, such as extra extensions, assigned DID and more.
Among the outstanding features of the Billing software, you will find:
The most common case of HA is done with a floating IP technique. However, this has a big restriction: all node servers must be routable with the floating IP. Being routable with the floating IP means in almost 99% of cases that all nodes must be physically speaking in the same Data Center. What does this mean to you? It is a matter of pricing and security!
Regardless if you are using virtualization or bare metal servers, not every data center is able to do a floating IP configuration. If they are, they will charge you for that configuration and the IP assignment.
All servers in the same nest is not a very good practice, if the data center is good, you will be safe. Good data centers are not cheap. Think when you have one that has been going down more than once. Moving to another data server is not very easy if you are attached to an IP.
So, here it is my solution!
I have developed what I call Low Latency PowerDNS. This plugin will allow you to set up an intelligent DNS server that will return a specific IP depending on various scenarios and the chosen algorithm. At this very moment, it supports two:
At this moment, the plugin works with FreeSWITCH, but with little modifications, it will work with any kind of software. By using it, you will save money as you won't be attached to a specific IP or to a specific data center. You will be able to put servers in different data centers across the globe.
Finally, I was able to do this XML Importer for FusionPBX. If you are a FusionPBX user, you need to know that each time you do a call, the FreeSWITCH will call a local PHP script that pushes the CDR information into the database. This piece of software will act the same way as the vanilla one that is shipped inside FusionPBX 4.1 (or better), but it adds a plugin architecture that will allow third-party integrations with the PBX. Some of the use cases I can imagine right now are:
So to be crystal, this tool will allow importing the CDR information into the third-party software. This XML importer is though in a plugin architecture. You will need to code specific case plugins for it. I have put a template class in order to help the developers to code their own plugins. This template class is an abstract class, and it will help people to know what methods to code in order to successfully building your own plugin.
The big advantage of doing this way is you don't need to touch the main code, this will allow you to do cleaner upgrades when there is a new release of FusionPBX.
This software is released under the MPL license. At least the part that is published on BitBucket. So, please feel free to contribute and use it.