Boa tarde lista, estou com um pequeno problema para adicionar um campo CDR dentro da fila e salva-lo em banco MySQL. O que eu necessito é que seja salvo alguns parâmetros somente quando o agente atende a ligação. Para isso eu adicionei uma macro setando os campos necessários. Quando o agente atende, os campos são setados e se colocar um NoOp() mostrando a variavél após o parametro ser setado, ele informa o valor tudo certinho. Porém quando desliga a ligação o campo não é salvo no CDR. Já tentei colocando a macro para rodar direto na aplicação (Queue(atendimento,tc,,,30,,atendente) e tentei também colocando o parâmetro "membermacro=atendente" no queues.conf. Mais um detalhe, se eu colocar a opção "c" no Queue() para ele retornar para o contexto e colocar um NoOp() mostrando a variável, ela simplesmente vem em branco... Estou imaginando que possa ser um bug de versão, estou procurando no Issues para ver se encontro algo...<br>
<br>exten => s,1,Answer()<br>exten => s,2,NoOp(${QUEUE_WAITING_COUNT(atendimento)})<br>exten => s,3,GotoIf($[ "${QUEUE_WAITING_COUNT(atendimento)}" < 30 ]?4:fila-ocupada,s,1)<br>exten => s,4,Set(CDR(fluxo)=Entrante) ;;; Este campo é salvo no CDR normalmente.<br>
exten => s,5,Set(MONITOR_FILENAME=${UNIQUEID})<br>exten => s,6,Wait(3)<br>exten => s,7,PlayBack(obrigado)<br>exten => s,8,Queue(atendimento,tc,,,300,)<br>exten => s,9,NoOp(${CDR(Agente)})<br>exten => s,10,Hangup()<br>
<br>[macro-atendente]<br>exten => s,1,Set(CDR(Agente)=${CDR(channel):6:2}) ;Tem o ":6:2" pois eu pego a informação "DAHDI/12", assim ele seta o campo CDR(Agente)=12.<br>exten => s,2,NoOp(${CDR(Agente)})<br>
<br>Estou usando Asterisk 1.6.0.15, Dahdi-Linux 2.2.0.2, Libpri 1.4.10.1 e Addons 1.6.0.3.<br><br>Agradeço desde já, <br>Rodrigo F. Lang<br>Amd. de Redes em Telecom<br>