Over the years A2billing has really blossomed into a beautiful full feature telephony billing platform. I am truly thankful and grateful to its developers and to those that have given support back to this Open source application. A2billing (Asterisk2billing) is truly an awesome open source telephony billing platform. I hope to very soon have 200 plus copies of it running.
I been in the telephony business for 13 years and can honestly say A2billing is truly an awesome billing solution for many VoIP companies. I believe there 2 or at most 3 changes to A2billing that will make it the best ever complete VOIP billing package available, paid or open source.
This being said there are a few basic aspects of A2billing which I feel are the very foundation of the application itself. I will only touch basis on 2 of these, one of which A2billing have been advertized for since or close to its very beginning and both of which in my opinion is requirement for any good voip billing package.
Before I continue I would like to point out the 2 most important aspects of any company rather it be a VoIP company or others. Number one is being able to buy or produce good products or services at a decent buy or cost rate. Number 2 is being able to offer good products or services at competitive prices. In my opinion and the opinion of many great business minding folks, Number one which is buying or making products or services is the most important part of any business. If you cannot attain products or services that will produce a profit when sold than you will fail and selling will become irreverent.
So now let’s focus on the telecommunication business. First and foremost every VOIP or telecommunication company must buy services from other companies. Even the largest telecommunication companies are forced to do this. The only way to get around this is to own the entire phone network for the whole world and we know this is not remotely possible and never will be.
Another very important thing we want to focus on is bad routes but not necessarily bad VoIP companies. If a company is offering poor quality service in general, we just stop buying their services. As you can see this is simple to remedy and a no brainer. But the sad truth is almost all good VoIP company has one or more bad routes (sometimes many). I am not referring to any major Telco companies such as AT&T, Quest , Verizon or level3.
Every good completive VoIP company will probably be buying from a few different companies to get better rates to some areas, so no matter how good their service is I can assure you they will have issue with some areas or routes. Even if you inform them of bad service for those areas they cannot or will not always fix those issues you report. There are a few very good reasons for this which I won’t go into detail here. It’s just simply the way it is with voip companies.
A2billing is very flexible so one does have an option to send calls to any provider. A wholesaler using A2billing will find out quickly some of their clients are using other switches that doesn’t support advance routing so they will not be able to use the wholesaler’s termination services at all if there are any routes with issues that the client needs or depend on. In many cases it’s not feasible for a wholesaler to check every route a client might complain about and there is no point in losing a client over this. There are few good reasons why, but I will give only one here. Some clients because of their switch or type of setup will have issues with perfectly good routes. It can be very time consuming for wholesalers to investigate each and every complaint a single client might make.
Because investigating each complaint can be a time consuming process it would be better suited for a wholesaler’s client to have an option on the customer portal to block any prefix for only their account so they can failover to another provider they might have. This is because most switches supports failover but many do not support advance routing like a2billing does. This will provide the client with excellent service at the same time save the A2billing wholesaler a lot of time. When a wholesaler sees a few clients blocking a particular prefix the wholesaler can then assume it’s a real issue on that route at which point he-she can switch to another provider for that route or area. In the mean time the client can simple solve the issue themselves instantly and without taking up their providers time or waiting for the provider to fix it.
It would even be better if a clients had the ability to also block a particular wholesaler’s provider so that their calls will go through another provider even if the rate is a bit higher. This is a lot more complex and requires some major changes to a2billing and not completely necessary. However I seen this on one call platform and it was very convenient.
A2billing is advertized as and is in fact a complete or near complete billing and management solution for VOIP COMPANIES. This being said let’s take a good look at what should be a2billing’s strongest points. Number one it should be to help a company buy or produce services at a low cost and this includes the ability to weed out bad or poor quality routes without taken a lot of man power as explained previously.
Where is the support for true least cost routing in a2billing for buying cheap and weeding out bad route without taking a lot of time? It is true many card-shop like businesses are making a 1 to 5 hundred percent profit so they can afford to pay a little more and buy just from one VoIP company but what about everyone else? What about all the wholesalers? As previously explained, in the VOIP Business buying is more important than selling as it is the very foundation of the business. Even for cardshops having a quick easy way to add new providers to get the best rates is very important as well as weeding out a few bad routes.
The least cost routing as explained before
http://forum.asterisk2billing.org/viewtopic.php?f=23&t=6477 in my other post does not work at all when you have 2 or more providers offering service to same area but using different prefix length. Why have the A2billing development team not taken care of this year’s ago? Trying to buy from many providers and use least cost routing at the same time in many cases is ridiculously difficult and not possible for many unless they pay someone else to set up their routes which can be very costly. I repeat buying is the very foundation of most VoIP companies and it’s my personal opinion a2billing developers should focus more strongly on this issue.
Is A2billing only made for small time users? The number two most important aspect of a business is selling. I admit A2billing is remarkably great in this area. However no matter how many hundreds, thousands or millions of new selling features including reporting and management features are added, the fact remains A2billing can only handle a few calls at a time unless you have a very powerful server and lots of extra RAM. A lot of servers don’t even support the amount of RAM needed to handle the calls many potential A2billing users have sell for or plan to sell.
A2billing runs very well with Asterisk 1.6 and Asterisk 1.6 can reliable handle around 300 calls per second and 1000 plus simultaneous calls on a decent server. And I know this for a fact because I have tested it. I however admit I have not tested Asterisk with this load for more than a couple of hours.
A2billing uses around 12MB RAM per each call and does not release this memory until the call has ended. For any good billing application this is not acceptable, period. Simple put A2billing is a serious bottle neck to your server and its ability to handle calls. Say for example: If only 10 calls were made in a single second a2billing will have to load 120MB into memory and this is not something that doesn’t take up CPU resources.
Another Example: say one client that decides to send several calls per-second for whatever reason. This can and probably will significantly affect the call guilty for your other clients. This happens more often than one realizes and might not be the fault of your client. It could be one of his clients flooding him with failover-calls. These failover-calls more likely than not are probably invalid numbers which will never connect and the very reason they are failing-over in the first place. If you had 500MB free ram remaining and got a flood of 50 calls (probably junk call) calls which is not uncommon, it could bring your server to its knees. And this doesn’t account for the CPU resources it’s using. Can anyone truly say they are a wholesaler if they limit their clients to only 25 channels to help prevent this from happening? In most cases the answer is no.
You can try and search to the end of Google for a cheap server hosting solution that offers 4GB ram and you probably will not find it, at least not compared to what you can get with 1 to 2 GB ram server. Monthly server hosting cost adds up quickly when you make a significant memory increase.
The bottom line is for a wholesaler and some retail companies, using A2billing despite it being free is not always a very cost effective solution, especially if you have to pay to rent a servers which is the only feasible option some have. Not counting the cost of paying someone to install or set a2billing up, just renting the hardware needed to handle your call volume can cost more than buying other VOIP software which uses a fraction of the resources compared to a2billing.
Say an A2billing user rents a server with 2GB ram. Around 250MB of this is taken up by the base server and other Applications. This will leave you 1,750MB ram for A2billing. Asterisk uses around 1Mb and a2billing uses12MB ram per call. This means the wholesaler can safely do 134 simultaneous calls. A2billing users need to ask themselves can they run a wholesale VoIP company with only 134 channels? Does anyone want to buy from another wholesaler with only 134 channels and knowing their server can easily be crashed or have their call quality effected by a spurt of calls. If They are like me the answer is no.
To sum everything up A2billing is an awesome billing program for small time VoIP users and possibly a few wholesalers with servers that support or has extreme massive amounts of RAM and CPU resources. Until the least-cost routing issue and the excessive memory usage issue are fixed it’s my opinion A2billing will never be in the big leagues.
I am not here to rant-and-rave about a2billing. I love the application and will continue to use it for my many different needs as well as do some of my own customization of it. I am just hoping more a2billing users will get together and help support the changes that are needed or at least express their opinion in regards to what I have posted here.
All said and done I am going to put my money where my mouth is by offering a $500 bounty to have the memory problem solved, as well as least cost routing issue so that the least cost routing will work with the simple import of rates from multiple providers. I hope others will pitch in as well. Just these 2 changes to a2billing will make it a killer application. I don’t have longer than a month to wait. These changes must be permanently in A2billing so this bounty is not for a programmer that will do it only my copies of a2billing.
$500 is not really enough to make these changes so it would be great if anyone else needing to use less ram or make more calls or want the least cost routing fixed, would pitch in and add to my bounty. Both of these issues have existed since the beginning of a2billing. The least you can do is to voice your support for having these 2 changes made to A2billing.