Hello everyone,
After reading thru the forum, and patching up all the pieces i can find concerning DID Billing...
I'm happy to say, i got it working flawlessly after 2 nites of intense reading and trial & error.
However i have noticed, that everyone posted different ways of getting it to work, what work for one person didn't work for the other.
As i continue to read, i realized that while all configs provided by some folks didn't work for the other, was mainly due to the fact that each had a different way of how they would apply their billing, so therefore what worked for John, didn't work for Peter..
So much said, i haven't came across any document, that has the entire process documented from beginning to end, most folks only posted just certain parts of the process, and therefore that give others hell to get it working..
eg. i set up the DID billing with free package of 3000 minutes, but for no good reason, i could have get it to bill after 3000 minutes, it was still billing from the first call made.
it took me a while searching till i find a post by JROPER, stating that you have to click on "USE FREE TIME TO CALL PACKAGE" in the rate sheet.
Now, if you know what you a doing, it's a simple pick up, but if you're not so sure, you'll be trying from now till tomorrow, and still won't get it to work..
What i also found very difficult, i was searching and finding postings dated all the way back to 2006, and trying to apply those too, but little did i know, in newer version of A2billing, it wasn't working like that..(waste of my time, should have looked at the date of posting first, before trying)
Also what i have realized, was that most people fail to understand the logical thinking of how the process works, and were applying steps in the wrong manner, can't blame them, base on what i read, the nice helpers was listing the steps not in the correct order (makes me think of UNIX) instructors taught always with the assumption that you know UNIX already...
In many places i would see, example (not necessarily in this wording, just to make the point).
I create Rate card.
I create trunk.
......
....
Now logically speaking, it would be best to create the trunk first, cause you need to use that trunk in your ratecard.
These are the stuff that i found very confusing, especially for the newbies.
most don't take the time to search, and if they do search they don't use the correct keywords, so they finds nothing..
While just by reading almost every link i find by the Gurus, STRAVOS, CALLINGCARD, JROPER, ASIBY, GUE, and the many others....
i managed to patched up every note, and come to a working solution.
What i would like to do is the following, i already started, but i'm missing some key info to complete the process.
Write up the entire DID Billing process, in a logical manner..
DID billing from ISP --> FREEPBX --> A2Billing --> SIP/IAX2 Friend
DID billing from ISP --> FREEPBX --> A2Billing server 1--> A2Billing server 2 (Reseller to his client)
As i said, it's working 100%, maybe it can do with some fine tuning, i'll leave the gurus add in the missing parts, advise on the not so best manner, and i'll make corrections where needed.
I'm not an expert in A2billing, just someone that thinks logical, and read before i start posting (lord, i really hate it when someone says, search for yourself - it hurts, especially when you have been searching for 2 hours, and using the wrong keywords - joke)
Ok, enough of the pre-history, time for what i need to complete.
1-
===========================
If a DID is assigned to a CARDNumber by admin.
the DID would only be billed if VOIP_CALL = NO.
-----------------------------------------------------
If you have enabled the DID screen for your client in a2billing.conf.
the client can easly go to this screen, edit his VOIP_CALL = yes....
**note, haven't tested to see what the results will be.
Question:
Can this be fixed in some how so the client, can't change that option, besides not letting them see the DID screen.
What are the outcome if the client do change this to Yes,
which over rules, the client settings, or the setting the admin created when he assigned the DID..
this can have serious financial impact, if you don't know exactly what's happening behind the screen with this FIELD set to the wrong option..
2-
===========================
If a DID is purchased by client via DID screen
Cleint has choice to select VOIP CALL - yes|no
-----------------------------------------------------
Same question apply, if this setting has search great impact on the billing of this DID.
Why would we want the client to make that choice,
shouldn't this be set in one of the .conf files, or somewhere in the DID database.
----NOTE......
Maybe i'm over looking a setting somewhere, but didn't find any thing related to this option in my many, many search queries.
in my document, i would really like to emphasis on this setting, as it can send you poor, if your are also paying for the DIDs per/minute from your provider.
(maybe i understand this choice incorrectly, if i do please be so kind to put me on the right track.)
3-
===========================
A2Billing to A2Billing..
Reseller option
-------------------------------------------------
This one was difficult, really had me sweating, had to goto bed, wake up fresh in the morning, and yep, that fresh mind did the trick.
After using wrong information, i had hell getting the DID number passed thru to the 2nd A2billing server, i tried every option i find, but all i was getting sent to the other a2billing server, was the CARDNUMBER that that server used to register to the first A2Billing server...
Finally i find the key, that lied in the DID destination, it was so simple, but darn hard to find it..
What was done:
Free package set up....linked to call plan
3000 Minutes Free..base on monthly roll over
Buy Rates and sell rates assigned to RateSheet..
RateCard assigned to callplan
What was tested:
SIP/IAX Friend on 2nd a2billing received incoming call.
Admin checks CDR reports..
this is what he sees:
1. 2009-03-08 16:41:18 4844 22353639583 did incoming 00:04 2353639583 LOCAL-SIP ANSWER DIDCALL 0.002 usd 0.000 usd n/a -100.00%
Important here:
buy rate = 0.002usd
sell rate = 0.000usd.
Now this is exactly what we wants to see, lets us know that the free package is working.
however, it does shows a negative inpack on your buy rate.
So i cross-check this, logged in as client to the 1st A2billing, and that also showed correctly that i was not billed for the incoming call (same setup - Free package 3000Minutes etc.)
so, we cooking on gas and feels happy.
It works like a charm, and we all happy..
but for reporting issues on the 2nd A2billing, it can't be justified.
Question:
Anybody knows how we can better fix this up, to capture the FREE MINUTES also for the buy rate, on the 2nd A2billing server.
therefore if we are withing the 3000 minutes, buy rate won't display 0.02 but 0.00.
4-
===========================
Rate sheets for DID's
-------------------------------------------------
Searching brought me lots of different answers,
but as i said before, everyone applied his/her solution for a specific purpose.
It was not clear, if a rate sheet was needed for every DID i brought into A2Billing.
Taking note that DID's from different countries/providers has a different price tag attached.
So i was thinking,
Create DID's by virtual groups..
all DID's that cost the same (USA) gets one rate sheet, (GER) a next rate sheet...also, ietc..etc..etc
Same would apply for DIDs from different providers.
(am i over doing it? - can it be more simple?)
that was easy..
Where i was lost in the process with multiple DIDs (haven't make no test as yet - discussion is base on testing of single DID)
In different posting, was different ways of adding the PREFIX of the DID to be caught and sent to the right callplan/ratecard.
In one post, mancho mention, that he does it by giving each ratesheet a prefix of 2 and thereafter linking that prefix just before calling the extension number in the DID Destination.
(this work perferctly)
Some other places, i saw, some using %callcard% instead of %dialingnumber% in the trunk, and then doing a sip_iax_dirct dial option.
Somewhere it was also mention, to add the users extension number as the
dial prefix in the ratesheet.
(this one i really didn't understand, and didn't find the logic)
While both options may work perfect for each giving reason.
i'm still trying to understand the logic, as to how this all happens.
very slow on this one (need some more coca-cola)
Question -
If DIDs are setup in virtual groups (USA, germany, canada,etc)
and using just a prefix if 2, as described by manch, would they be all captured correctly, or would there be major error messages....?
or should each virtual group have it's own prefix?
how is this best achieved, for many DIDs?
Now what those questions answered, i'll have a step by step document of what i did to get it working..
this i believe all newbies, can use as they first step in getting it to work, once working they the creativity can come out the bag, for each different way of usage...
after all, that's how i did it...started with the basic, and then try all kind of things..
but the basis are working..
Thank your guys for such a wonderful product, wish i had found it 2 years ago...
I would like to have this doc posted as my first contribution to the forum,
if such a document already exist, let me know where it is, and i'll see if i can kind work around it....
|