diff --git a/CHANGES b/CHANGES index 1b3961954cdb9c59df59dca79d03c60e733a3416..1753be663959a6258364b7f9d13b4cb8fca3e807 100644 --- a/CHANGES +++ b/CHANGES @@ -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 ------------------ diff --git a/cdr/cdr_csv.c b/cdr/cdr_csv.c index 5f3e95cb398b47425dd09c047b86c01a0494c61c..a480a4731350a2dd6c83450b2b9d219c07295667 100644 --- a/cdr/cdr_csv.c +++ b/cdr/cdr_csv.c @@ -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 */ diff --git a/configs/samples/cdr.conf.sample b/configs/samples/cdr.conf.sample index 2c7cdf6f0aef25f2ca5371cff555fce6a547f0e1..e175a2a7629578b3169404ac22b2ba7a0d1eb232 100644 --- a/configs/samples/cdr.conf.sample +++ b/configs/samples/cdr.conf.sample @@ -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