It won't be covered in the book. The source code has to be useful for something, after all.
—Larry Wall
While there is a cornucopia of creative things that you are going to want to do with your spanking-new Asterisk system, there are also some basic, non-glamourous, dare-we-say-boring things that need to be discussed.
Without even being told, Asterisk assumes that you want to store CDR information[149].
By default, Asterisk will create a CSV[150] file and place it in the folder /var/log/asterisk/cdr-csv/. To the naked eye, this file looks like a bit of a mess. If, however, you separate each line according to the commas, you will find that each line contains information about a particular call, and that the commas separate the following values:
accountcodeAssigned if configured for the channel in the channel
configuration file (i.e., sip.conf). The
account code is assigned on a per-channel basis. You can also change
this value from the dialplan by setting
CDR(accountcode).
srcReceived Caller*ID (string, 80 characters).
dstDestination extension.
dcontextDestination context.
clidCaller*ID with text (80 characters).
channelChannel used (80 characters).
dstchannelDestination channel, if appropriate (80 characters).
lastappLast application, if appropriate (80 characters).
lastdataLast application data (arguments, 80 characters).
startStart of call (date/time).
answerAnswer of call (date/time).
endEnd of call (date/time).
durationTotal time in system, in seconds (integer), from dial to hangup.
billsecTotal time call is up, in seconds (integer), from answer to hangup.
dispositionWhat happened to the call (ANSWERED, NO
ANSWER, BUSY).
amaflagsWhat flags to use (DOCUMENTATION, BILL, IGNORE, etc.), specified on a per-channel
basis, like accountcode. AMA flags stand
for Automated Message Accounting flags, which are somewhat standard
(supposedly) in the industry.
userfieldA user-defined field, maximum 255 characters.
[149] If you are wondering why such an obviously simple thing seems to be such an achievement, the reason is simply that many traditional PBXs do not have this capability built in. With those systems, you have to purchase some sort of third party appliance even just to capture the raw call data. Asterisk simply stores it. No drama. No cost. No kidding.
[150] A Comma Separated Values (CSV) file is a common method of formatting database-type information in a text file. You can open CSV files with a text editor, but most spreadsheet and database programs will also read them and properly parse them into rows and columns.