astCDRview is a web based, lightweight, multi language Asterisk SQLite CDR viewer.
Once configured, it can be thought as a post processing filter which translates the input in a human readable form. Development has been done with speed optimization in mind, it targets personal use and SOHO.
Here are some key features of "astCDRview":
· Interface is multilingual ready (now in English and Italian)
· Manages multiple outbound carriers
· Manages multiple inbound numbers
· Calculates billing with block of seconds or minutes duration
· Rates can be imported and exported through CSV
· Associate a readable name with an extension, or more than one
· Address book
· Associate readable name to outbound contacts
· A contact can have multiple telephone numbers, each one with a description
· A contact can have multiple email addresses, each one with a description
· For few contacts, it can show all of them in one page
· For many contacts, it can show a searchable form
· Disable not used features for speedup
· Query only outbound calls, or only incoming ones, or both
· Query only a carrier, or all of them
· Show all the results in one page, or split them
· Query a date range
· Query a certain telephone number
· Query only answered calls, or all of them
· Count the total calls made, the total time of the call, including answering time and not
· Sum the total amount billed
· Open source, licensed under GNU GPL
· Realtime: no cache is used, no footprint on the data storage, no replicated data
· Configuration and address book are stored in a minimal and fast SQLite DB
· Results are not post filtered: the SQL query is dinamically built and can be viewed by enabling the debug
· Forms method uses GET, so viewing the same query results from two clients is made easy: by sharing the URL
· Languages can be easily added by a plain text 130 sentences file
· CSS ready for customization
· One OOP class does all the logic: the code can be easily compiled for acceleration
· The assumptions made about the PBX configuration could lead to strict deployment rules
· The outgoing carrier recognition engine checks only the first digit of the dialed number
· The billing engine can't replicate advanced rates plans beyond one second billing block or one minute billing block duration
· Transferred calls would not be clearly represented (Asterisk CDR limitation, but is a work in progress)
· Beta stage: has only few production deployments in the real world
· Tested only with Firefox 2
· Asterisk with SQLite CDR enabled
· PHP enabled web server
· PHP with the SQLite (Asterisk and astCDRview databases are versions 2) module
· Uncompress the astCDRview tarball under a web server's document root folder
· Ensure that the internal configuration SQLite DB < astCDRview >/db/astCDRviewConf.db is writeable by the web server's user
· Ensure that the exported prefixes destination folder < astCDRview >/csv/ is writeable by the web server's user
· Ensure that the Asterisk SQLite CDR DB /var/log/asterisk/cdr.db is readable by the web server's user
· The first result when browsing toward the main index.php page, after a fresh installation, should be a raw visualization of the CDR, like this
· Then I suggest to configure the extensions, by clicking the CONFIGURE button, and from here, click the EXTENSIONS button, arriving here.
An extension name can have multiple numbers associated, separated by comma.
The new configuration can be checked by querying again the CDR and having a result like this
· Then I suggest to configure the carriers: that's the page and as like the extensions, a carrier can have multiple incoming numbers, separated by comma.
The CARRIER PREFIX field is the prefix you use to tell Asterisk which carrier to use. It can only be a one digit number.
If you use only one outgoing carrier, insert the * char as the CARRIER PREFIX
· Before activating the billing feature, the rates should be configured. This is where, while an example row is like this:
where the fields are: prefix, destination label, amount and billing block.
The billing block can only have values of 1 or 60
where the former results in a billing block of one second and the latter results in a billing block of one minute.
· The remaining features configuration will be covered in the near future, if they are not self-explaining
What's New in This Release:
· The configuration check helper page checkConf.php was written.