Skip to content

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.

Note

CDRs can only be modified before the bridge between two channels is torn down. For example, CDRs may not be modified after the 'Dial' application has returned.

Example: Set the userfield
exten => 1,1,Set(CDR(userfield)=test)

Syntax

CDR(name[,options])
Arguments
  • name - CDR field name:

    • clid - Caller ID.

    • lastdata - Last application arguments.

    • disposition - The final state of the CDR.

      • 0 - NO ANSWER

      • 1 - NO ANSWER (NULL record)

      • 2 - FAILED

      • 4 - BUSY

      • 8 - ANSWERED

      • 16 - CONGESTION

    • src - Source.

    • start - Time the call started.

    • amaflags - R/W the Automatic Message Accounting (AMA) flags on the channel. When read from a channel, the integer value will always be returned. When written to a channel, both the string format or integer value is accepted.

      • 1 - OMIT

      • 2 - BILLING

      • 3 - DOCUMENTATION

      Warning

      Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead.

    • dst - Destination.

    • answer - Time the call was answered.

    • accountcode - The channel's account code.

      Warning

      Accessing this setting is deprecated in CDR. Please use the CHANNEL function instead.

    • 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.

    • u - Retrieves the raw, unprocessed value.
      For example, 'start', 'answer', and 'end' will be retrieved as epoch values, when the 'u' option is passed, but formatted as YYYY-MM-DD HH:MM:SS otherwise. Similarly, disposition and amaflags will return their raw integral values.

Generated Version

This documentation was generated from Asterisk branch 20 using version GIT