Asterisk & CDR custom added field

Home » Asterisk Users » Asterisk & CDR custom added field
Asterisk Users No Comments

On 03/25/2011 08:19 AM, Tilghman Lesher wrote:
> On Thursday 24 March 2011 04:50:48 Jonas Kellens wrote:
>> On 03/24/2011 10:45 AM, Rizwan Hisham wrote:
>>> You have to use adaptive cdr for this functionality. In 1.8 the conf
>>> file for adaptive cdr is cdr_adaptive_odbc.conf. The sample conf file
>>> should tell you everything.
>>> If you are using some other cdr engine then you will have to jump into
>>> the code of asterisk to make it log the item you want, which includes
>>> creating an extra variable in the cdr data struction, creating a
>>> function to set/get its value from dialplan, and then changing the sql
>>> command to include the extra variable for insertion into DB.
>> I thought it was possible in asterisk 1.6.2 to add extra mysql-fields ??
>> In asterisk 1.4 you just have one ‘userfield’, but in 1.6.2 it is
>> possible to add custom fields… I just don’t know how.
>> This is what the wiki
>> ( tells :
>> “/Module now permits arbitrary columns to be created and populated, just
>> like cdr_adaptive_odbc, simply by adding the column to the table and
>> defining the corresponding CDR() variable/”
>> Where is the information on this ?
> Same as always, in the configs/ directory of addons 1.6.2. The sample
> configuration file contains common examples of the added functionality.
> Also, there’s a note on it in UPGRADE.txt, in the root directory of addons
> 1.6.2. If you have any further questions, you’re welcome to ask this list.

All I can find is the following :

; You may also configure the field names used in the CDR table.
;static “” => ;alias => alias start => calldate
alias callerid => clid
;alias src => src
;alias dst => dst
;alias dcontext => dcontext
;alias channel => channel
;alias dstchannel => dstchannel
;alias lastapp => lastapp
;alias lastdata => lastdata
;alias duration => duration
;alias billsec => billsec
;alias disposition => disposition
;alias amaflags => amaflags
;alias accountcode => accountcode
;alias userfield => userfield
;alias uniqueid => uniqueid

But this is not explained…

So please can you confirm how I think it should work :

In my dialplan I have :

/exten => 600,n,Set(CDR(mycolumn)=”myvalue”)/

So I should add the following to cdr_mysql.conf :

static “mycolumn” => mycolumn/

And if I want this in my dialplan :

/exten => 600,n,Set(CDR(anothercolumn)=”anothervalue”)/

then I first need to add to cdr_mysql.conf :

/static “anothercolumn” => anothercolumn/

Can you confirm ?