The cdr.conf file is used to enable
call detail record logging to a flat file or a database. Storing call
records is useful for all sorts of purposes including billing, fraud
prevention, QoS evaluations, and more. The cdr.conf
file contains some general parameters that are not specific to any
particular database, but rather indicate how Asterisk should handle the
passing of information to the database. All options are under the [general]
heading of the
cdr.conf file:
enable
Accepts the arguments yes
and no
. Specifies whether or not
to use CDR logging. If set to no
,
this will override any CDR module explicitly loaded. The default is
yes
.
batch
Accepts the arguments yes
and no
. Allows Asterisk to write
data to a buffer instead of writing to the database at the end of
every call, to reduce load on the system.
size
Sets the maximum number of CDRs to accumulate in the buffer
before posting to the backend CDR storage systems. This setting only
takes effect if the batch
setting
is set to yes
. This setting
defaults to 100 records.
time
Accepts an integer (in seconds) as its argument. Sets the
number of seconds before Asterisk flushes the buffer and writes the
CDRs to the database, regardless of the number of records in the
buffer (as defined by size
). The
default is 300 seconds (5 minutes).
scheduleronly
Accepts the arguments yes
and no
. If you are generating a
massive volume of CDRs on a system that is pushing them to a remote
database, setting scheduleronly
to yes
may be of benefit. Since
the scheduler cannot start a new task until the current one is
finished, slow CDR writes may adversely affect other processes
needing the scheduler. This setting will instruct Asterisk to handle
CDR writes in a new thread, essentially assigning a dedicated
scheduler to this function. In normal operation, this would yield
very little benefit.
safeshutdown
Accepts the arguments yes
and no
. Setting safeshutdown
to yes
will prevent Asterisk from shutting
down completely until the buffer is flushed and all information is
written to the database. If this parameter is set to no
and you shut down Asterisk with
information still residing in the buffers, that information will
likely be lost.
endbeforehexten
Normally, CDR records are not closed out until after all
extensions are finished executing. By enabling this option, the CDR
will be ended before executing the h
extension so that CDR values such as
end
and billsec
may be retrieved inside of this
extension. Defaults to no
.
The rest of cdr.conf
contains
setup for several of the backend CDR engines. See the sample cdr.conf
for more information.