
CDR() permite obter ou definir variáveis do CDR (Call Detail Record). Todos os campos do CDR são somente leitura, exceto accountcode, userfield e amaflags. No entanto, você pode fornecer um nome que não esteja na lista acima e criar sua própria variável, cujo valor pode ser alterado com esta função, e essa variável será armazenada no CDR.Dial ter retornado.exten => 1,1,Set(CDR(userfield)=test)CDR(name[,options])clid - Caller ID.lastdata - Últimos argumentos da aplicação.disposition - Estado final do CDR: 0 - SEM RESPOSTA, 1 - SEM RESPOSTA (registro NULO), 2 - FALHOU, 4 - OCUPADO, 8 - ATENDIDO, 16 - CONGESTIONADO.src - Origem.start - Hora em que a chamada iniciou.amaflags - Lê/Escreve as flags de Conta de Mensagem Automática (AMA) no canal. Quando lido de um canal, o valor inteiro sempre será retornado. Quando escrito em um canal, tanto o formato string quanto o valor inteiro são aceitos: 1 - OMITIR, 2 - FATURAMENTO, 3 - DOCUMENTAÇÃO.dst - Destino.answer - Hora em que a chamada foi atendida.accountcode - Código de conta do canal.dcontext - Contexto de destino.end - Hora em que a chamada terminou.uniqueid - ID único do canal.dstchannel - Canal de destino.duration - Duração da chamada.userfield - Campo especificado pelo usuário no canal.lastapp - Última aplicação.billsec - Duração da chamada após ser atendida.channel - Nome do canal.sequence - Número de sequência do CDR.f - Retorna os campos billsec ou duration como valores de ponto flutuante.u - Recupera o valor bruto, não processado. Por exemplo, start, answer e end serão recuperados como valores epoch quando a opção u for passada, mas formatados como YYYY-MM-DD HH:MM:SS caso contrário. Similarmente, disposition e amaflags retornarão seus valores integrais brutos.CHANNEL em vez disso.
