Thursday, September 17, 2009

why i cant see booth history when can see the calling call?

some customers find that they can see live booth calls(screen 1) but when call is done, nothing appears in the booth box(screen 2).

live call in booth window

nothing in booth box

this happens coz the admin set sip account in “clid” when it should be “caller id”

check table “mycdr” you will find that the “src” filed would be a number which doesnt match with “channel” field

to fix this, just go to “clid” in asterbilling and change the clid to be the number in src field

Posted by solo at 06:19:27 | Permalink | No Comments »

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 »