[Asterisk-Dev] Current database abstraction effort ?

david david at atcomm.com
Tue Jan 6 13:21:42 MST 2004

>The reason some want it to move via ODBC to a DB is so it can be remote.
>If you are using asterisk as a phone switch instead of a PBX where you
>must bill customers, you want your call data to outlive the machine in
>case it where to crash. ODBC is a way to get this data off the switch
>and to another machine semi reliably.

>Also it is much easier for the same group of people to generate billing
>from a DB. Granted that the records can just as easily be combined into
>a DB at a later non realtime basis. Of course some of these same people
>are wanting to run calling card apps that require that realtime access. 

I understand these and other reasons to use a DB and ODBC access.  I will add though, that remote access to a DB over a WAN is not always that easy.  We have had a lot of experiences trying to support this for our customers where network reliability was an impedance as were other network security issues.  

If the PBX machine/PC goes down, CDR is probably the last thing you will worry about from a priority standpoint.  In addition, frequent CDR polling from either a DB or from flat files is just as secure in getting data "off" the switch.

>I assume to enable a new class of applications.

I think this is exactly right.  My impression is that Asterisk will not be the host/source of these new applications, but that they will be provided by 3rd parties. While it is possible for these apps to read directly from a system DB via ODBC or otherwise, it is usually not in the PBX's best interest to allow 3rd party apps to use its resources unrestricted.  Billing and traffic reports can grind a disk to death!

With that in mind, it is more typical for the PBX to offload its data as quickly as possible.  Other apps picking up this data will invariably have their own DB's to migrate data into for further processing, queries, reporting, alarming, etc.  Any DB tables setup for CDR by Asterisk will then need to have the data extracted for use in other apps.  That just seems like a lot of extra work for little gain.  These other apps can be and already are browser accessible data repositories.

>And (unless you use MySQL) reading the database
>does NOT lock out writes  As you _will_ need multiple * boxes
>for a large system supporting concurent writes may be important.

That brings up another issue regarding call rating and billing.  You will have to correctly identify the source of an outbound call carried by the PSTN in order to rate it correctly based on mileage bands for local and IntraLATA service from a local telephone company or possibly other carriers. If you have a distributed set of Asterisk boxes in several locations, you will have to provide some indication of where the calls egress to the PSTN.

- David Schlossman
david at atcomm.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20040106/045dd5bb/attachment.htm

More information about the asterisk-dev mailing list