- Details
- Category: Projects
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 can 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 is my solution!
I have developed what I call a low-latency PowerDNS plugin. 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:
- Less FreeSWITCH node latency: by using some approximations, it will answer you with the IP that has less latency.
- Less FreeSWITCH loaded: by doing some metrics on the PBXes, it will answer with the less loaded server.
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 a specific data center. You will be able to put servers in different data centers across the globe.
Enjoy!

- Details
- Category: Projects
Billing is the capacity to let the system ask (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 also to save money.
Billing for FusionPBX will allow you to get money. Currently, Stripe, Paypal and Off-line plugins are available, but other gateways can be coded. It supports multicurrency as well, you can bill one customer in EUR, another in USD, another 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:
- You can have prepaid and postpaid customers.
- You can collect money in three ways: offline mode (where users send you offline the proof of payment), PayPal and Credit Card (using Stripe). Depending on your business needs, you can enable each payment gateway for pre or postpaid users. You can also forward the gateway fees to your customers if you want.
- Multi-currency on selected currencies. Some currencies (mostly the ones that PayPal supports) are supported. This means you may have customers in Euros, others in Canadian Dollars and others even in Mexican Pesos. The system will get the rate from the Internet and will charge the right amount.
- Tax support
- Static Items charge, you can charge 911 for example
- WHMCS integration, as I have been working to make this possible. Once you set up your API credentials, the billing system will push the calls as billable items.
Enjoy!

- Details
- Category: Projects
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:
- Multiple Carriers
- Multiple Gateways per Carrier
- Priority per Carrier and per Gateway that overwrites the LCR cost evaluation. Very useful if you want to force a route.
- Diversion support
- Easy to import massive rate lists
- Enjoy!
- Details
- Category: Projects
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; FusionPBX 5+ does that with a crontab, but it is the same. 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:
- Helpdesk integration: it will raise a ticket each time a call is done, later that ticket could be merged.
- Billing integration: although I am the author of the Billing for FusionPBX (I will move the billing system to use this new importer), I know some people use another kind of software, so this will allow billing per call event.
- CRM integration: usually CRM software is used to keep track of marketing activity. This will let you add call tracking.
So to be crystal clear, this tool will allow to import of the CDR information into third-party software. This XML importer is thought of in a plugin architecture. You will need to code specific case plugins for it. I have put a template class to help the developers to code their plugins. This template class is abstract, and it will help people to know what methods to code to succeed in building your 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 GitHub. So, please feel free to contribute and use it.
Soon, as release one is finished, I will publish the RPM for Centos 6 and 7 and I will start deploying in the White Label Servers for my customers.
Enjoy!