Sunday, November 23, 2008

Rates setting in asterbilling for asterisk billing

There are three rates in asterBilling, reseller rate, callshop rate and customer rate.

  • reseller rate: the rate admin sell to reseller
  • callshop rate (group rate): the rate reseller sell to callshop (group)
  • customer rate: the rate callshop sell to customers

Rates in asterBilling could be inherited, for example, here’s two records in resellerrate

dialpreifx = 0086
number length = 0
connect charge = 0.2
init block = 60
rate = 0.2
billing block = 60
resellerid = 0

dialpreifx = 0049
number length = 0
connect charge = 0.4
init block = 60
rate = 0.4
billing block = 60
resellerid = 0

Because we dont specify which reseller is this rate for (resellerid = 0), this rate could be used for all resellers.  So what if some resellers want to change this rate rather than use this “default” rate? quite simple, just add another rate for the reseller:

dialpreifx = 0086
number length = 0
connect charge = 0.2
init block = 60
rate = 0.2
billing block = 60
resellerid = 1

so for this reseller (resellerid=1), when customer dial a number begin with 0086, it will use this new rate, we  can call it “overwrite”, but for other resellers who dont set their rate, it would use the one admin setted.

Just like reseller rate, group rate could also be inherited.

A:
dialpreifx = 0086
number length = 0
connect charge = 0.2
init block = 60
rate = 0.2
billing block = 60
resellerid = 1
grouprid = 1

B:


dialpreifx = 0086
number length = 0
connect charge = 0.4
init block = 60
rate = 0.4
billing block = 60
resellerid = 1
grouprid = 0

C:

dialpreifx = 0086
number length = 0
connect charge = 0.4
init block = 60
rate = 0.4
billing block = 60
resellerid = 0
groupid = 0

so rate C is a rate for all reseller and all group,  rate B is for all groups in reseller 1, rate A is only for group 1.

Through inherit rate, admin could be much easier to control the rates, like just set one rate for all resellers, and adjust some when they require some difference, also reseller could just set one rate for his callshops, and only do minor change to provide different rate plan.

Posted by solo at 04:57:55 | Permalink | No Comments »

adjust astercc parameters to get better performance for asterisk billing

There’re some parameters in file astercc.conf for astercc daemons. We can change them to get a beter performance for asterisk billing.

please note that u need to restart asterrc daemon to reload configration.

refreshrate = 60

refreshrate is the seconds asterrc daemon reload data from database, when u change asterBilling setting a lot, like rate, clid … , u need this parameter, but once your system is stable, u can set it to -1, so that after asterrc load the data when it start, it would not read from database again and again.

refreshlock = 30

The seconds we refresh data for astercclock to lock booth, or lock group, reseller.

calculateallcdr = no

when set to yes, asterrc will re-calculate all records with groupid =-1 or resellerid = -1 in mycdr table, this could be used when u want to calculate the CDRs with no billing .

calculateoldcdr = no

when set to yes, asterrc will re-calculate all records in mycdr table, this could be used when u want to calculate the history CDR. This could be used when your rate changed and you want to reset all credits.

callbackbill = src

; src: bill src only
; dst: bill dst only
; both: both src and dst

removeNonSysCDR = 0

; if we need use asterrc to remove CDR with resellerid = -1 or groupid = -1

removeNoAnswerCDR = 0

; if we need use asterrc to remove no answer CDR

Posted by solo at 04:56:41 | Permalink | No Comments »

asterbilling and asterisk2billing (a2billing) for asterisk billing

a2billing is a widly used billing system, so what’s the difference between a2billing and asterbilling?

system theory:

a2billing work with asterisk through AGI, each call would be handled by a2billing.agi, so you need change your astierks context so that when your phone make calls it will go to a2billing.agi, of course you need to copy a2billing scripts to your asterisk server.

asterbilling runs as linux daemons, connect to asterisk via AMI over tcp,  no need change anything on your asterisk, asterbilling can bill it. Even asterbilling could work with a2billing.

license & free:

a2billing: 100% open source and free to use.

asterbilling: only web scripts are open source, and provides 5 free simultaneous channels, have to purchase when need more channels.

performance:

a2billing: like 100 simultaneous calls on single server? i didnt test, :(

asterbilling: passed 240 simultaneous calls testing, but didnt test more.

best usage:

a2billing: calling card, callback or wholesale solutions

asterbilling: billing for embedded astiersk, pbx (like all freepbx based system), callshop, hosted callshop soltution

other keywords:

a2billing: openser

asterbilling: realtime billing, reseller

Posted by solo at 04:55:33 | Permalink | No Comments »