CDR()
Synopsis
Gets or sets a CDR variable.
Description
All of the CDR field names are read-only, except for accountcode
, userfield
, and amaflags
. You may, however, supply a name not on the above list, and create your own variable, whose value can be changed with this function, and this variable will be stored on the cdr.
Raw values for disposition
:
0
- NO ANSWER1
- NO ANSWER (NULL record)2
- FAILED4
- BUSY8
- ANSWERED
Raw values foramaflags
:
1
- OMIT2
- BILLING3
- DOCUMENTATION
Example: exten => 1,1,Set(CDR(userfield)=test)
Syntax
CDR(name[,options])
Arguments
name
- CDR field name:clid
- Caller ID.lastdata
- Last application arguments.disposition
- ANSWERED, NO ANSWER, BUSY, FAILED.src
- Source.start
- Time the call started.amaflags
- DOCUMENTATION, BILL, IGNORE, etc.dst
- Destination.answer
- Time the call was answered.accountcode
- The channel's account code.dcontext
- Destination context.end
- Time the call ended.uniqueid
- The channel's unique id.dstchannel
- Destination channel.duration
- Duration of the call.userfield
- The channel's user specified field.lastapp
- Last application.billsec
- Duration of the call once it was answered.channel
- Channel name.sequence
- CDR sequence number.
options
f
- Returns billsec or duration fields as floating point values.l
- Uses the most recent CDR on a channel with multiple recordsr
- Searches the entire stack of CDRs on the channel.s
- Skips any CDR's that are marked 'LOCKED' due to forkCDR() calls. (on setting/writing CDR vars only)u
- Retrieves the raw, unprocessed value.
For example, 'start', 'answer', and 'end' will be retrieved as epoch values, when theu
option is passed, but formatted as YYYY-MM-DD HH:MM:SS otherwise. Similarly, disposition and amaflags will return their raw integral values.
Import Version
This documentation was imported from Asterisk Version SVN-branch-10-r378689