CDR()

CDR(Feld)

Liest oder setzt CDR[73]-Felder. Feld ist eines der folgenden (wenn nicht anders angegeben ist nur Lesen möglich):

clid
Caller-ID
src
Source, die Caller-ID-Nummer
dst
Destination, Ziel-Extension
dcontext
Destination context, der Ziel-Context
channel
Der Kanalname
dstchannel
Destination channel, der Ziel-Kanal, falls zutreffend
lastapp
Die letzte ausgeführte Applikation
lastdata
Die Argumente der zuletzt ausgeführten Applikation
start
Die Start-Zeit des Anrufs
answer
Die Zeit, zu der der Anruf beantwortet wurde
end
Die End-Zeit des Anrufs
duration
Die Dauer des Anrufs (in Sekunden)
billsec
Die Dauer des Anrufs seit der Anruf beantwortet wurde, also die zu berechnende Zeit (in Sekunden)
disposition
Der Status des Anrufs: ANSWERED, NO ANSWER, BUSY oder FAILED
amaflags
Die AMA[74]-Flags. DEFAULT (System-Default), BILLING (zur Abrechnung), DOCUMENTATION (zur Dokumentierung) oder OMIT (keine Aufzeichnung). (Manchmal findet man statt BILLING und OMIT auch die Angaben BILL und IGNORE - evtl. abhängig von der Asterisk-Version)
accountcode
Die alphanumerische Nummer des Abrechnungskontos, max. 20 Zeichen (auch Setzen möglich)
uniqueid
Die einmalige alphanumerische ID des Kanals (max. 32 Zeichen)
userfield
Das User-Feld, in das beliebige Informationen (max. 255 Zeichen) geschrieben werden können (auch Setzen möglich)
; foo auf die Dauer des Anrufs setzen:
exten => 123,1,Set(foo=${CDR(duration)})

; das User-Feld auf "meine Infos" setzen:
exten => 123,1,Set(CDR(userfield)=meine Infos)
[Anmerkung]

Interner Hilfetext zu dieser Applikation in Asterisk 1.4: 

  -= Info about function 'CDR' =- 

[Syntax]
  Here is a list of all the available cdr field names:
    clid          lastdata       disposition
    src           start          amaflags
    dst           answer         accountcode
    dcontext      end            uniqueid
    dstchannel    duration       userfield
    lastapp       billsec        channel
  All of the above variables 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:
       1 = NO ANSWER
       2 = BUSY
       3 = FAILED
       4 = ANSWERED
    raw values for amaflags:
       1 = OMIT
       2 = BILLING
       3 = DOCUMENTATION


[Synopsis]
Gets or sets a CDR variable

[Description]
Options:
  'r' searches the entire stack of CDRs on the channel
  '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.

Differenz zum internen Hilfetext in Asterisk 1.2: 

5,26c5
<   Here is a list of all the available cdr field names:
<     clid          lastdata       disposition
<     src           start          amaflags
<     dst           answer         accountcode
<     dcontext      end            uniqueid
<     dstchannel    duration       userfield
<     lastapp       billsec        channel
<   All of the above variables 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:
<        1 = NO ANSWER
<        2 = BUSY
<        3 = FAILED
<        4 = ANSWERED
<     raw values for amaflags:
<        1 = OMIT
<        2 = BILLING
<        3 = DOCUMENTATION
< 
---
> CDR(<name>[|options])
32,38c11
< Options:
<   'r' searches the entire stack of CDRs on the channel
<   '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 H
H:MM:SS
<   otherwise.  Similarly, disposition and amaflags will return their ra
w
<   integral values.
---
> Option 'r' searches the entire stack of CDRs on the channel


[73] Call Data Record, siehe CDR

[74] Automated Message Accounting