think of the a2billing as database, configs, ui and scripts. the database and UI can be on machines separate from the asterisk dialplan [switch] but the scripts [agi, libs, sound files] must be on the asterisk as they are actually part of the dialplan creating the switch function
the customer and admin gui can also be on separate machines but they also reference the a2billing.conf config so a copy of that has to be alongside the gui scripts
the database definitions in a2billing.conf allows you to config where the database resides.
just layout the files and figure out which files have to be where.
asterisk switch:
agi, a2billing.conf, a2billing_libs
UIs
UIs scripts, a2billing.conf
database
the database with all its tables
a2billing.conf contains the definition of where the DB lives and how to access it
you don't have to worry too much about keeping the a2billing.conf on the separate boxes in sync because one part of the UI configures the dialplan and another part configures the UI look and behaviour as well as where is the db. so depending on how you use those features you will know how often, if any, you would have to sync your a2billing.confs
the admin UI needs to create the IAX and SIP friends definitions in files that reside on the switch so if you need that feature your admin has to be on the switch unless you know how to do real-time asterisk and write all that stuff in the asterisk realtime DB
you can even isolate the switch further by having the customer UI refernce a DB with not so up to date CDRs and periodically you copy the real time DB used by the switch to the one the customers access. this way your switch never has to deal with individual customer requests
what you want to do is doable.
good luck
|