Support A2Billing :

provided by Star2Billing S.L.

Support A2Billing :
It is currently Thu Mar 28, 2024 8:22 am
Voice Broadcast System


All times are UTC




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Fri Oct 30, 2009 8:28 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
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.


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 7:37 am 
Offline

Joined: Fri Jun 23, 2006 3:56 pm
Posts: 4065
Hi

Thank you for your comments, and detailed overview of the problems you mention.

There are things that can be done to increase the capacity, e.g. putting Opensips in front to load balance across multiple Asterisk servers, and to move the database to another server.

Somewhere on these forums, dating back 2 years or so, is a dial plan that does wholesale traffic completely in the Asterisk Dial plan. This removes about 90% of the features of A2Billing, but if the only job is to pass traffic in and out, with simple per minute billing, then this could go much further to producing a much higher volume of throughput. Unfortunately, I cannot find it right now.

In respect of your other point regarding routing, when I send calls to a particular provider, I have no idea who there underlying provider is, nor is that provider likely to tell me. If there are routes which are not being delivered, then I make the changes at my end not to send calls to the provider. To do a query to check whether a route was allowed for a particular customer would increase the load on A2Billing.


You have made some very valid points, however when this project was launched 5 years ago or so, the options were limited as to how you could address Asterisk, and some design decisions were made, which would not have been made with the benefit of 5 years worth of hindsight. However, we continue to develop the software with scalability in mind.


Joe


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 12:40 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
Hi Joe
Thanks for the post. I actually was hoping to hear your thoughts on it.
jroper wrote:
Opensips in front to load balance across multiple Asterisk servers, and to move the database to another server.


Using Opensips is perfect for load balancing which is extremely helpful especially when you have a server that can’t take anymore ram. It also let a provider using A2billing scale to any size handling as many calls as they want. I think Opensips just like asterisk uses around 1MB RAM per call so when it’s all said and done regardless of how many servers you might use or how big your operation is, each call will still consumed around 14MB Ram.

If you own your own servers than the extra ram cost is an onetime expense which is doable and not that bad at least compared to renting a server with the extra ram. Unfortunately if a wholesaler or any a2billing user for that matter needs several servers that means he will have to rent either a lot of 1U rack space a quarter rack . These are reoccurring charges which can still add up to significantly. Just one U rack space is between $50 to $100 per month and for a year $600 to $1200. If a company plans to stay in business for at least 5 years which most do, than just the cost of one extra U will ultimately end up costing $3,000 to $6,000 . So as we can see it would be a lot cheaper for many A2billing users to pitch in on the bounty to get the a2billing memory issue resolved.

jroper wrote:
Somewhere on these forums, dating back 2 years or so, is a dial plan that does wholesale traffic completely in the Asterisk Dial plan.


I was one of the guys that done this. And it worked very well. But so many changes were made to the A2billing 1.4 database that my dialplan fails to log the CDRs to the latest A2B DB. I plan to redo this and this time includes more or most of the AGI features in the asterisk dial plan and have the dialplan read from the cc_card table same as the agi which I didn’t do before. At the pace a2billing is going there is a lot of work to keep up with it. This was the reason I posted on the forum. I would like others to see the need for a2b use less memory and help make this happen.

jroper wrote:
I have no idea who their underlying provider is, nor is that provider likely to tell me.


You are right. The client is never to know who the provider is. Generally the providers are representing by a number such as ID or 4 digit code. The client only knows that the number = a provider. When a client looks in his CDR and sees a provider doing poorly he can choose block that provider. Since you are using a2billing you can remove specific routes. But some do not have a2billing or a switch that can remove routes.
I would also like to point out I have close to 10 million records in my cc_ratecard table and A2billing on my server only takes 0.0017 sec to look up a rate. This is astounding. In my opinion adding an extra table for either prefix or provider added to the SQL statement agi uses will not greatly increase the look up time. Clients with no routing ability on their switch will then be able to block prefixes that have poor voice quality. Of course this feature is not an absolute must but it does save some time.

Sam


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 1:06 pm 
Offline

Joined: Fri Jun 23, 2006 3:56 pm
Posts: 4065
Hi

I would fully agree with your comments.

However, I'm not sure that there is a simple and quick fix in the immediate future, without throwing everything up in the air and starting again, which is going to take many many months.

I think the best chance of success in the short term is to re-visit the dial plan idea.

I would be happy, as time permits, to collaborate on an asterisk dial plan for simple wholesale use only, e.g. a simple cost per minute, with no connection charges, stepped billing etc, where the focus is to fire as many calls through the system as Asterisk will allow and bill them correctly.

Customers can authenticate to the system using a 5 digit prefix, and IP authentication, something simple like this -
Code:
[a2billing-prefix]
exten => _X.,1,Set(CDR(accountcode)=${EXTEN:0:5})
exten => _X.,n,Goto(a2billing,${EXTEN:5:31},1)


...does the job to authenticate the customer, I would not expect to answer the call, or to play any IVR.

This would then pass the call into a context which then looks up the rate, and executes the dial command.

The number of tables in A2Billing has nearly doubled from 1.3 to 1.4. However, I do not expect further major changes in the database schema of 1.4.

Do you still have your original work on the dial plan, or a link to the post?

Areski has made a number of changes to the underlying database to allow for quicker lookups, which is why your rate card lookups are quick, we continue to endeavour to speed things up.

Joe


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 4:27 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
jroper wrote:
Hi

However, I'm not sure that there is a simple and quick fix in the immediate future, without throwing everything up in the air and starting again, which is going to take many many months.

I think the best chance of success in the short term is to re-visit the dial plan idea.

I would be happy, as time permits, to collaborate on an asterisk dial plan for simple wholesale use only, e.g. a simple cost per minute, with no connection charges, stepped billing etc, where the focus is to fire as many calls through the system as Asterisk will allow and bill them correctly.
Joe



The dialplan I posted before on forum was very basic and a little messy. I made a few changes since then. Using MYSQL triggers and stored procedures can greatly reduce the code needed in dialplan plus its lighting fast.
http://forum.asterisk2billing.org/viewtopic.php?f=15&t=3865
The file I posted on the forum made its way in the extras in a2billing later releases but was not included in the last release. Probably because DB changed so much it wouldn’t work anyways.

I seen that someone else also did a different version of it on the same thread.. It was pretty nifty.

I have read the AGI code and I believe 100% of it can be done in asterisk scripting, even the call back. I am not the only one making this claim. There are at least 2 other users or coders of PHP, a2billing and asterisk who have stated this could be done.

The big question is if someone spent the time to completely rewrite the AGI using asterisk scripting (such as what is used in the dialplan) keeping all of the features that a2billing currently has, is there any real reason to keep the existing AGI handling calls? And does it have to support both mysql and postgrsql? How would this effect the a2billing project? Is there any reason Areski would want to stick to the PHP agi?

I believe rewriting it in asterisk scripting is much easier than most realizes and will increase the performance by many times. If there is any part of the code that you don’t think can be done in the asterisk scripting I would be very interesting in seeing it.


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 4:42 pm 
Offline

Joined: Fri Jun 23, 2006 3:56 pm
Posts: 4065
Hi

Not being any kind of php coder, I cannot comment.

I think it would be a worthwhile exercise to look at wholesale Billing as a start. then consider adding other features later.

Joe


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 7:08 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
Hi Joe,


My Business structure has changed a bit. Instead of handling calls for other wholesalers some of which were selling to dialer companies who were doing 70 plus calls per second. I have decided to rent out hosted Asterisk A2billing and FreePBX solutions. I believe I can host 400 hundred separate installs of asterisk and freepbx reliably with X amount of resources including a complete back up and management system and some redundancy.

Business model is to target resellers, programmers and asterisk, freepbx and A2billing experts who are targeting businesses with 1-10 lines-ext that need of a complete PBX solution and redundancy. By throwing in A2billing it will help entice other clients such as card shops, internet Cafes, hotels and and many more for the same price. As they grow a small fee can be added for additional channels.

However to add a2billing to the package, something seriously have to be done so I can still offer extreme low prices or even to make a guarantee of 99% uptime. This isn't simple because all the resources of the servers or cluster must be organized extremely well if heavily used, otherwise just a few clients can wreck havoc should they all do something unintended at the same time. With this type of set up there is no margin for errors that can result in down time. A2billing is a whole different animal not easy to keep in such a small confinement or restricted server environment. If clients at any time can crash a setup than the redundancy is pointless as the clients can just as well crash the backup server or cluster. In this environment the redundancy is only for hardware failure.

Just for straight though wholesale calls I can simply modify my current setup to work with the new a2b 1.4 DB. But now I need all the features in A2billing 1.4 So I am scratching my hair out trying to find a way and hoping I don’t need to have the php AGI converted completely to a different scripting language. This is why I am posting on the forum again. I am kind of grasping for straws on how to throw a2billing in to make the package more enticing or broaden its usefulness and still offer almost giveaway prices and with absolute reliability.

Sam


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 8:32 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
Quick update.
The goal is to offer full access to a fully functional Asterisk, freepbx and a2billing setup with 25 channels for $25, half the cost of a normal business line that has a few main call features. I don’t know if this can be done so I am not spamming a price. I feel it’s is very difficult to do this if excessive memory is used by any single application. Each setup-package is using around 60MB RAM when idle with 190MB to spare. I am hoping that no more than 90MB RAM will be used with all 25 channels in use. This leaves 160 MB ram free for extra webhosting processes or other processes. Setup-package currently has Asterisk, freepbx, a web server and A2billing. This is why I have to figure out how to reduce the memory usage in A2billing. Otherwise this business model will not work.
The cost effectiveness of this package is partly due to the fact the complete setup can be duplicated in around 5 or 10 minutes for a new client using management software and a few scripts.


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 9:14 pm 
Offline

Joined: Fri Jun 23, 2006 3:56 pm
Posts: 4065
Or setup in two minutes with this - http://www.star2billing.com/node/50

We have done similar consultancy jobs to this in the past.

Presumably, the equations change in your favour where you consider renting a rack with the kind of densities you are considering.

Joe


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 9:58 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
Joe,
That is a very nice setup. Its similar to what I would like to do. And yes renting rack or half rack is definitely the way to go.

jroper wrote:
Or setup in two minutes with this - http://www.star2billing.com/node/50
Joe


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 10:21 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
jroper wrote:


Joe,

I would be interested in learning a little more what you might be able to offer.
Is it based on openvz?
Do you have any interest in selling just a container? If so what is the cost? I would want to host it on my own server and only need the container compressed in a file.


Sam


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sat Oct 31, 2009 11:52 pm 
Offline

Joined: Fri Jun 23, 2006 3:56 pm
Posts: 4065
Hi

We've made some containers of different applications, and have some experience of this nature.

The cost would depend on how much time you need from us to screw it all together for you.

Joe


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Sun Feb 14, 2010 11:20 am 
Offline

Joined: Sun Feb 14, 2010 9:41 am
Posts: 1
Thanks for sharing.


Top
 Profile  
 
 Post subject: Re: Love A2billing $500 Bounty for 2 most important features!
PostPosted: Wed Apr 04, 2012 3:45 am 
Offline

Joined: Wed Apr 04, 2012 3:43 am
Posts: 1
Excellente doc. well written


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 
VoIP Billing solution


All times are UTC


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group