Billing calls from the potatoes (Part I)

It has been a year now since we started to look into billing for the Village Telco. It is about time to announce where we are in terms of development. We have been so busy that we forgot to write about what happened behind the scenes. A bit of it in the next few posts!

A quick reminder about where we want to go:

The Village Telco runs several functional components, the mesh potatoes (our open hardware) route wireless VoIP calls via other mesh potatoes. Mesh islands (the bunch of potatoes in the same ad-hoc channel) can be interconnected by means of “super nodes”. The super nodes are responsible of linking different mesh networks, allowing multiple wireless channels to coexist in wide wireless area network. Yes, so we can scale up!. Mesh potatoes are monitored thanks to Afrimesh and will be happily provisioned by our budding server (also a botanic term that i really like!)

Local and external calls needs to be billed and upstream technologies for telephony needs to be plugged into our mesh cloud.

Now that you got the introduction to the Village Telco architecture overview… this is how we tried to find a solution for billing the potatoes!

The past December, we (IT46) took the responsibility to look into billing and upstream technologies for the Village Telco. After some research in billing systems for VoIP, we found A2billing! A2billing is a LAMP application that sits at the top of Asterisk that bills and manages VoIP calls. A2billing takes advantage of the Asterisk Manager Interface (AMI) and Asterisk Gateway Interface (AGI) to deal with the call logic. Several thousands of lines of PHP and almost a hundred MYSQL tables glue all together!. Powerful but definitely not simple for our Village entrepreneur.

In my way to Spain in Christmas 2008, I made a stop over in Barcelona. Barcelona is a truly international city and the current base of Areski (the core technical developer of A2billing) and Joe (commercial director of Start2billing). It was a very fruitful face to face meeting between a Belgian living in Barcelona, a British living in his boat somewhere in the Mediterranean and a Castillian living in Sweden. I explained Areski and Joe what we wanted to do in the Village Telco, about the mesh potatoes (a hardware that did not exist by then!) and why I liked A2billing. I am not sure if they thought I was mad, but I had to give it a try and meet the people behind the code.

During the next three months I put some time to understand the internals of A2billing, helped to make their GUI more human friendly and wrote some documentation. In a geek world, trust is when you get write access to main trunk in SVN!. For some reason, I got access very quickly something that motivated me to keep working with the software. In early April 2009, A2billing 1.4 Beta was released… new documentation, new logo, new GUI, a tier-3 architecture (admin, agents and clients).

Before the European summer of 2009, A2billing 1.4 was “frozen” enough to start considering our next step. Making A2billing easy to deploy for the Village Telco. It was time to start thinking in our target users.

The challenge: be able to install and bill local Calls with no more than 10 mouse clicks!