Support A2Billing :

provided by Star2Billing S.L.

Support A2Billing :
It is currently Fri Apr 19, 2024 3:19 pm
Auto Dialer Software


All times are UTC




Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: I intend to rewrite A2Billing from the ground up
PostPosted: Thu May 03, 2007 1:56 am 
Offline
User avatar

Joined: Mon Apr 30, 2007 6:43 am
Posts: 1060
Location: Canada
Hello everyone,

First of all, Areski, I give many thanks and praises to you and your team (if there is one) for developing an application as powerful as A2Billing (I meant that). I have struggled to get it up and running and I finally did. It is great, but it still needs some features and improvements just like any other software out there.

I am a very experienced programmer with an extensive knowledge and in many programming languages, and database systems. I won't go into describing the whole extent of what I have learned from others and what I have come to develop along the way, but here is my story.

Recently, I have bumped into many problems that really got me frustrated with A2Billing. I could have just kept sending e-mails and forum posts as usual, but time is money and in most of the cases, I can't afford waiting for an answer on a forum. By the way, I have never received a reply to my questions here. So I just go ahead and fix the bug myself. That is how we have gradually fixed many of the bugs that were preventing A2Billing to work properly. We have even added many features to A2Billing. For example, one of those features allow A2Billing to detect repeated DTMF digits and remove them, thus fixing a well know problem in any Asterisk based system. This feature will easily recognize 1144119977110033112200 as 14197103120. The digits may be doubled or tripled, but it will be recognized and corrected, an entry will be added to the log file so administrators will know that something is acting up in Asterisk.

This is just one of the enhancements that we have made.

Now let's talk about the problem and how I intend to fix it. Recently, we have realized that we couldn't attach some specific caller ids to some customers, or to any customer for that matter. I have then discovered that it was because when I had deleted some test clients, the associated caller ids were not removed from the cc_callerid table. So there where some orphan records left behind. That is not usually a big deal. But it quickly became one when I have realized that the framework used to create a2billing is extremely confusing and complicated for reasons that I am still failing to understand. Even a simple SELECT or a DELETE query in the database needs to go through the framework, and requires a fairly confusing way of building the query. That lead to something like this :

Code:
    function Delete_Selected()
    {
        //if ( $form_action == "list" && $this->FG_FILTER_SEARCH_FORM)
        {
            $instance_table = new Table($this -> FG_TABLE_NAME, $this -> FG_COL_QUERY);
         $result = $instance_table -> Delete_Selected ($this -> DBHandle, $this -> FG_TABLE_CLAUSE, $this->FG_ORDER, $this->FG_SENS, null, null,
                                                  $this -> FG_LIMITE_DISPLAY, $this -> CV_CURRENT_PAGE * $this -> FG_LIMITE_DISPLAY, $this -> SQL_GROUP);
        }
    }



instead of passing the whole query to a simplier DB abstraction layer this :

Code:
$db->query("DELETE FROM my_table WHERE my_condition");


This is a potential cause of errors while building SQL queries and the debugging becomes more difficult. Also, the code execution time and the CPU overhead need to be taken into consideration in order to end up with an VoIP billing application or any application that can handle a great deal of simultaneous connections.

Another thing to consider is that a simpler framework is going to make it easier for the community to participate, and improve A2Billing. I am planning to rewrite A2Billing and add a template system, and modular architecture to it. I will also add a CRM, a Customer Support Ticket system, a SMS callback system, a Vendor / Call Shop support, and Truck Group support, and many more features. A documentation project must also be put in place.

If I get enough help, it will be a standalone application. If not, it will be powered by an already existing CMS like Mambo, Drupal, Plone, etc. In either case, I need to rewrite it.

Currently, adding a plug-in or an additional module to A2Billing is a headache and no matter how much money you donate to him, Areski is just one man, and simply do not have enough time to do everything for you. I have been sending countless e-mails, trying to get help with some features, but no answers. I had to read the PHP AGI scripts entirely (what a fun moment). But I have finally understood the code in a way that is not described anywhere on the web.

So I say, let’s do this. Who is interested? I am going to do it anyway for my own needs, and I will be willing to share my enhancements, and give it back to the community. The only thing is that the rebuilding will be faster with more developers. Areski, are you interested?

I am not trying to steel this project. Areski will still be the "Owner" if he wishes to make us participate more actively in A2Billing enhancement. But A2Billing will need a bigger developer team to get things moving quicker.

Here are some enhancements that I have made so far:

- Duplicated DTMF digits detection and suppression
- Added First Name in user forms to simplify user identifications
- Added Check boxed in all the lists to allow easier selection of list item for deletion, batch update, etc. (instead of using the search form)
- Unifying all of the search forms in the customer list into a single search form.
- Search a customer by using any possible existing field (ex. address, e-mail, zip/postal code, etc.)
- Added "Trunk Group" for enhanced trunk failover features. Currently, the failover feature of A2Billing does not really try more than twice. Let's imagine that TrunkA is using TrunkB as backup trunk and that TrunkB is using TrunkC as backup trunk. If a call using TrunkA fails, A2Billing will only try TrunkB and not TrunkC or other trunks in the chain. (Wow. That was a lot of trunk).

The Trunk Group feature will allow a call to be attempted on every trunk that belongs to the same group as the main trunk if the 1st trunk of the chain fails. No trunk will be tried twice during the same call attempt. It is also possible to rearrange the trunks according to their priority by simply clicking on arrows.
- I believe that A2Billing configuration does not need to be in Asterisk’s configuration directory. This prevents a developer from working on an off-line version of A2Billing without hacking into some core files. I am looking into changing that somehow
- Etc.

Once again, please don't get me wrong, A2Billing is an impressive peace of work. But it needs our help. Let's do this.

Sorry for that awfully long message

Live Long and Prosper

A. Siby aka WebMaestro


Last edited by asiby on Thu May 03, 2007 5:17 am, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 4:57 am 
Offline

Joined: Fri Apr 28, 2006 5:11 am
Posts: 426
Nice post! :)
But.. can you share your patches for community? :?


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 7:39 am 
Offline

Joined: Tue Jun 20, 2006 3:23 pm
Posts: 153
very nice post.

is it possible to get the demo link. :D

thansk & regards.


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 9:51 am 
Offline

Joined: Sun Mar 12, 2006 2:49 pm
Posts: 954
Location: Barcelona
Quote:
Currently, adding a plug-in or an additional module to A2Billing is a headache and no matter how much money you donate to him, Areski is just one man, and simply do not have enough time to do everything for you. I have been sending countless e-mails, trying to get help with some features, but no answers. I had to read the PHP AGI scripts entirely (what a fun moment). But I have finally understood the code in a way that is not described anywhere on the web.


- Very funny post, I received so far 1 mail from you, to which I kindly reply. it was about the SMS callback.
- Donation are almost nonexistent for this project, this is disappointing, so feel free to hit the paypal button :wink:

Quote:
- Duplicated DTMF digits detection and suppression

this might be an DTMF issue, not something that need to be fixed on a2billing.

Quote:
- Added Check boxed in all the lists to allow easier selection of list item for deletion, batch update, etc. (instead of using the search form)

Great idea, I was thinking to this too :D


Quote:
- Unifying all of the search forms in the customer list into a single search form.
- Added "Trunk Group" for enhanced trunk failover features. Currently, the failover feature of A2Billing does not really try more than twice. Let's imagine that TrunkA is using TrunkB as backup trunk and that TrunkB is using TrunkC as backup trunk. If a call using TrunkA fails, A2Billing will only try TrunkB and not TrunkC or other trunks in the chain. (Wow. That was a lot of trunk).

That's done!


Quote:
- Search a customer by using any possible existing field (ex. address, e-mail, zip/postal code, etc.)

That's why we need framework, that make those kind of changes very easy and fast.


I am not agree with what you say about the delete, I do believe a lot in layer and framework it makes our life easier and implementation faster, well I will keep the long explanation for an other day...

Despite, I do agree that we need to provide a way for anybody to contribute and get their idea into the software. There is no real contributor except than myself on this software atm and I really wish to see peoples coming with contributions to make this software better. We will open svn server as soon as the release is ready so that we can all patch on different branches of the soft and make our own contributions. Not committing on svn of course :P

Regards, /Areski


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 6:34 pm 
Offline

Joined: Fri Apr 20, 2007 1:48 pm
Posts: 18
Location: france
i read it all!!!


I agree A2billing is an amazing project.
I still have some bugs I couldn't solve myself.

I think the soft needs better support but hey, it's an open source project, it's not areski 's job to give support. (but a little bit more doc would be cool)
I believe the forum is a good way to give support, the advanced give support to the medium, and medium to begginer.

I'm a begginer to a2bill, but I have good knowledge of asterisk. I will be able to give support later but i need support now...

instead of writing a brand new project, people should work together to improve the existing. (or if the existing must be rewrited, then they should work together anyway :) ) we all have the same goal.


another thing, if you are making money with a2billing, please consider donation.

areski, thanks again. (can't wait for the next version jaja)


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 8:15 pm 
Offline
Moderator
User avatar

Joined: Tue Jun 06, 2006 12:14 pm
Posts: 685
Location: florida
Hey after the SVN is up ... then all can put in, and perhaps revisions and things will happen faster. To rewrite from the ground up ... not time effective as we all must like what we've got so far, cause we're using it.

Come on "la version nueva" :roll:


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 8:20 pm 
Offline
User avatar

Joined: Mon Apr 30, 2007 6:43 am
Posts: 1060
Location: Canada
Hello Areski,

Thanks for replying. But I find that it is very sad that you think that it's a "very funny post". It also make me realize that my comments have not been well taken. Anyway, I will share whatever I have done to improve A2Billing, I don't mind that. But I will also rewrite it (for sure) and we will end up with one more Open Source VoIP Billing system.

Areski, I have sent you more than one message. You have probably noticed just one of them. Many of them were about me trying to contribute by actively developing "for free" for A2Billing. I was trying to know how to join in. But no answer. I know that people will just say that I can just send a chunk of code on the forum but it will as lost as a needle in a haystack. An SVN server as mentioned by Areski will be more practical.

I have also contacted other persons, yep, without getting any answer back. My last resource was to read the PHP code in order to understand its behavior and fix the problem myself.

I will not be able to publish a live test version of my changes (for many reasons). Many of the changes are not located in a single file. I had to hack into many core files and into the database itself. I will probably zip the whole thing and attach it to a message (soon enough).

Areski, apparently you have also fixed most of the problems that I have mentioned i my previous post. In that case, when will those changes be released?

On last thing

Quote:
this might be an DTMF issue, not something that need to be fixed on a2billing.


I know very well that this is a DTMF issue. Are you suggesting that I sit back and relax while the whole system is down waiting for the Asterisk guy to solve the DTMF problem? It's not like DTMF is not being detected. It is coming through, but in a strange way and following a specific pattern (duplicated digits). Well, I choose to have a product that can automatically work around some common issues instead of not being able to make calls.

krzykat, if you like A2Billing, than you will love what's coming next :D

Thanks

Live Long and Prosper

Asiby aka WebMaestro


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 9:03 pm 
Offline

Joined: Sun Mar 12, 2006 2:49 pm
Posts: 954
Location: Barcelona
Hi again,

Quote:
Thanks for replying. But I find that it is very sad that you think that it's a "very funny post". It also make me realize that my comments have not been well taken. Anyway, I will share whatever I have done to improve A2Billing, I don't mind that. But I will also rewrite it (for sure) and we will end up with one more Open Source VoIP Billing system.


I meant that cause I just received one mail from you !

Quote:
Areski, I have sent you more than one message. You have probably noticed just one of them. Many of them were about me trying to contribute by actively developing "for free" for A2Billing. I was trying to know how to join in. But no answer. I know that people will just say that I can just send a chunk of code on the forum but it will as lost as a needle in a haystack. An SVN server as mentioned by Areski will be more practical.


One of the really good thing about gmail, it's that you can keep all your emails, not need to delete them ;D I am doing some advertising here... well the other good thing, it s that you can find all the mail from 1 person really quickly.
So again, I just got 1 mail from you and I am really not lying about that I checked 2 times.
Sorry to hear you are upset about this project and the way it's going, I do my best and I am doing more everyday.

Basically I don't like to see duplication, peoples going in different direction to achieve the same goal, I believe it's stupid as they mostly try to get their own credits for it instead to join their efforts & most of all if this is over a huge work already done, so I doubt of your real goal here... but if this is the way you want to go then have fun, I still found funny the criticism when someone just send me an email about callback on which I took the time to give a clear and detailed answer. my 2 cents here ;)
Really really, I spend lot of time answering lot of email everyday for this community and I am not getting any cents from this. Well it's cool, 1 complain against a lot of happy user, it worst it :D

I am having a really hard time to get with a new release and I guess many peoples here will soon understand why.

Kindly I wish you all the best :wink:
/Areski[/quote]


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 9:21 pm 
Offline
User avatar

Joined: Mon Apr 30, 2007 6:43 am
Posts: 1060
Location: Canada
Keep up the good work.

For the record, I am using A2Billing right now. But it is not the most customizable application, that's all. Areski, without negative comments you will not go very far. That's how we all learn to get one step closer to perfection. I guess I am "stupid" enough to try to do what I have said in my previous post.

Asiby aka WebMaestro


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 9:34 pm 
Offline

Joined: Sun Mar 12, 2006 2:49 pm
Posts: 954
Location: Barcelona
Quote:
Areski, without negative comments you will not go very far.


Hopefully this is without negative comments.
Thanks a bunch!


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 03, 2007 11:09 pm 
Offline
User avatar

Joined: Mon Apr 30, 2007 6:43 am
Posts: 1060
Location: Canada
Don't get me wrong Areski, by "negative comments", I meant "constructive negative comment" or "criticism", ...

Asiby aka WebMaestro


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 06, 2007 6:35 am 
Offline

Joined: Tue Mar 27, 2007 5:23 am
Posts: 93
_AK_ wrote:
I think the soft needs better support but hey, it's an open source project, it's not areski 's job to give support. (but a little bit more doc would be cool)
I believe the forum is a good way to give support, the advanced give support to the medium, and medium to begginer.


Well I tried to help out with the WIKI but after registering, I was told that the WIKI is locked for writing and is in only read mode. Therefore, HOW can we contribute to improve documentation, and I guess there being no SVN, how can others join in on the project to help improve it better?

Areski, I would recommend that if you want to keep this project open source, please Open Source it then. Allow us access to your system so that we can update much needed documentation and source codes to improve it altogether.

In other words, You have done a great job for a one man show! Now let others get in on the progress and help SPEED this program to get to 2.0 with more than a 1 man show :wink:


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 06, 2007 1:36 pm 
Offline

Joined: Sun Mar 12, 2006 2:49 pm
Posts: 954
Location: Barcelona
Concerning the documentation the WIKI has been open for years (since the beginning) to let anybody make contribution and almost nothing has been contribute, just little correction made. Then few months ago, the WIKI started to get flood by Junk spammer that try to do manually spam indexing. I had no other choices to lock it and wait that peoples ask me an account to edit the WIKI (as there has been so poor anyway).
So please be my guest, tell me what is your account, we certainly need help on this...

About SVN, I already move everything in a public svn server that will be share once the new beta-release come out, so that we can all start to work "from this point" and not on the previous version (1.2.3) that will be a non-sens as there so so many changes in the code and changes in the old version will be hardly replicable on the new one.

I decided to not open the trunk before the new version get rid of bugs and start to get really reliable, as I know from the community most of users aren't coders and I am sure most of us would like to try it and we will risk to have more damage than good. Also with the DB changes it will be hard for non-coder to track everything and know at this revision they stand.

It's now a question of days before the release is made so please guys, be patient we will have all we need from there. We will also use Trac as bug tracker, Wiki, Milestone, SVN changes, etc... all is almost ready.

All the best,
/Areski


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 07, 2007 3:53 am 
Offline

Joined: Tue Mar 27, 2007 5:23 am
Posts: 93
Glad to here this. my account is cyberglobe for the wiki. Anyways, all the best in the new version. I hope others join in on the fun to help get this programmed further. I would recommend holding conferences via VoIP to discuss it more.

:D


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 07, 2007 10:47 am 
Offline

Joined: Sun Aug 27, 2006 6:17 am
Posts: 7
Areski, thanks for the great news I can't wait for the new release to come out.

Asiby, I think somehow your mails got lost along the way, or gmail incorrectly flagged your mails wrongly, or whatever, but I have been contacting Areski in the past and he always replied me. Sometimes he replied slow yes, but I definitely got a reply so I think may be there's a miscommunication between you two that's all..

Folks, I have not contributed much to the project else than a few hundred bucks, but I made a promise to myself that I will contribute and give back more to Areski and this project once our machine starts rolling. I understand there are many things that we want in this billing system but there's only 1 Areski and his team (????) doing this at the moment.... so for those who started making some money out of this please contribute back to the OSS community even just a bit.. to help keep the project alive. Areski I know you will wonder who the hell I am ;) hehehehe.

Anyway, it's just my 2 cents.

Take care,
z


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next
Predictive Dialer


All times are UTC


Who is online

Users browsing this forum: No registered users and 9 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