Upgrade 3CX to v18 and get it hosted free!

Asterisk cdr SQLite

Author image

cdr_sqlite

Asterisk can store CDR records in a SQLite database, as an alternative to CSV text files and other database formats.

Compiling cdr_sqlite.so

The module will automatically compile if you have the SQLite library and header files installed.

Create the database

The database table ‘cdr’ will be automatically created in /var/log/asterisk/cdr.db. There is only one (implicit) key in this table, on the auto-incrementing AcctId. If you need indizes to speed up your queries, you can create them manually like in the following example:

$ sqlite /var/log/asterisk/cdr.db
SQLite version 2.8.14
Enter “.help” for instructions
sqlite> create index cdr_src on cdr (src);
sqlite> create index cdr_dst on cdr (dst);

Edit the configuration file

There is no config file for SQLite. It’s so simple, that you won’t need one.

Database Location

Unless you modified the source code, the database can be found at
/var/log/asterisk/cdr.db
If you have sqlite installed, you can query the database by typing
sqlite /var/log/asterisk/cdr.db

Database Structure

The database contains a single table called “cdr”.

Field Name Type
AcctId INTEGER PRIMARY KEY
clid VARCHAR(80)
src VARCHAR(80)
dsst VARCHAR(80)
dcontext VARCHAR(80)
channel VARCHAR(80)
dstchannel VARCHAR(80)
lastapp VARCHAR(80)
lastdata VARCHAR(80)
start CHAR(19)
answer CHAR(19)
end CHAR(19)
duration INTEGER
billsec INTEGER
disposition INTEGER
amaflags INTEGER
accountcode INTEGER

 

Enable Userfield and uniqueid database fields if you need them

Userfield and uniqueid are sometime useful fields but i realized that they are not enabled by default (at least in asterisk-cvs), so in order to have them written to the cdr table you have to
edit the file cdr_sqlite.c like in the following aexample:

  1. define LOG_UNIQUEID 1
  2. define LOG_USERFIELD 1

and recompile asterisk. Also, if autoload is not enabled in your modules.conf you should add the line:

load => cdr_sqlite.so

to your modules.conf.

 

Related Software

astCDRview:

astCDRview is an open source, licensed under GNU/GPL, lightweight, Web-based, multi-language Asterisk SQLite CDR viewer that supports multiple outgoing carriers, multiple incoming numbers, billing, an address book, and extensions

 

See also

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.