Skip to content
Snippets Groups Projects
Commit 8886b724 authored by Rodrigo Ramírez Norambuena's avatar Rodrigo Ramírez Norambuena Committed by Matt Jordan
Browse files

cdr/cdr_csv.c: Add a new option to enable columns added in Asterisk 1.8

This patch adds a new option to cdr.conf, 'newcdrcolumns', that will handle CDR
columns added in Asterisk 1.8. The columns are:
 * peeraccount
 * linkedid
 * sequence
When enabled, the columns in the database entry will be populated with the data
from the CDR.

ASTERISK-24976 #close

Change-Id: I51a57063f4ae5e194a9d933a8df45dc8a4534f0b
parent 7fe923d2
No related branches found
No related tags found
No related merge requests found
......@@ -40,6 +40,12 @@ cdr_odbc
* Added a new configuration option, "newcdrcolumns", which enables use of the
post-1.8 CDR columns 'peeraccount', 'linkedid', and 'sequence'.
------------------
cdr_csv
------------------
* Added a new configuration option, "newcdrcolumns", which enables use of the
post-1.8 CDR columns 'peeraccount', 'linkedid', and 'sequence'.
Channel Drivers
------------------
......
......@@ -58,6 +58,7 @@ static int accountlogs = 1;
static int loguniqueid = 0;
static int loguserfield = 0;
static int loaded = 0;
static int newcdrcolumns = 0;
static const char config[] = "cdr.conf";
/* #define CSV_LOGUNIQUEID 1 */
......@@ -113,6 +114,7 @@ static int load_config(int reload)
usegmtime = 0;
loguniqueid = 0;
loguserfield = 0;
newcdrcolumns = 0;
if (!(v = ast_variable_browse(cfg, "csv"))) {
ast_config_destroy(cfg);
......@@ -129,7 +131,10 @@ static int load_config(int reload)
loguniqueid = ast_true(v->value);
} else if (!strcasecmp(v->name, "loguserfield")) {
loguserfield = ast_true(v->value);
} else if (!strcasecmp(v->name, "newcdrcolumns")) {
newcdrcolumns = ast_true(v->value);
}
}
ast_config_destroy(cfg);
return 1;
......@@ -241,6 +246,11 @@ static int build_csv_record(char *buf, size_t bufsize, struct ast_cdr *cdr)
/* append the user field */
if(loguserfield)
append_string(buf, cdr->userfield, bufsize);
if (newcdrcolumns) {
append_string(buf, cdr->peeraccount, bufsize);
append_string(buf, cdr->linkedid, bufsize);
append_int(buf, cdr->sequence, bufsize);
}
/* If we hit the end of our buffer, log an error */
if (strlen(buf) < bufsize - 5) {
/* Trim off trailing comma */
......
......@@ -154,6 +154,8 @@ usegmtime=yes ; log date/time in GMT. Default is "no"
loguniqueid=yes ; log uniqueid. Default is "no"
loguserfield=yes ; log user field. Default is "no"
accountlogs=yes ; create separate log file for each account code. Default is "yes"
;newcdrcolumns=yes ; Enable logging of post-1.8 CDR columns (peeraccount, linkedid, sequence).
; Default is "no".
;[radius]
;usegmtime=yes ; log date/time in GMT
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment