<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div style="color: rgb(33, 33, 33); background-color: rgb(255, 255, 255);" dir="auto">
O canal local "atende" a<span style="font-size: 12pt;"> chamada, por isso gera cdr. </span></div>
<div id="ms-outlook-mobile-signature">Obter o <a href="https://aka.ms/ghei36">Outlook para Android</a></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> asteriskbrasil-bounces@listas.asteriskbrasil.org <asteriskbrasil-bounces@listas.asteriskbrasil.org> on behalf of mike@tesliuk.com <mike@tesliuk.com><br>
<b>Sent:</b> Friday, April 16, 2021 9:08:47 AM<br>
<b>To:</b> asteriskbrasil <asteriskbrasil@listas.asteriskbrasil.org><br>
<b>Subject:</b> [AsteriskBrasil] PJSIP e Queue gerando CDRs adicionais</font>
<div> </div>
</div>
<div>
<div style="font-family:arial,helvetica,sans-serif; font-size:12pt; color:#000000">
<div><br>
</div>
<div>Olá pessoal, como vai ?<br>
</div>
<div><br>
</div>
<div>Estou com uma situação aqui onde estamos usando o PJSIP para o sistema , quando os ramais estão em fila nós criamos um contexto separado chamado queuemember para fazer as ligações utilizando o canal Local e então realizar a chamada usando o ${PJSIP_DIAL_CONTACTS}
(segue abaixo o contexto)<br>
</div>
<div><br>
</div>
<div>[queuemember]<br>
;exten => _X.,1,Set(NDN=${CUT(EXTEN,-,2)})<br>
exten => _X.,1,Set(NDN=${EXTEN})<br>
same => n,Set(CDR(tipo)=IN)<br>
same => n,Set(__TRANSFER_CONTEXT=ramais)<br>
same => n,Set(CDR(did)=${MAPDID})<br>
same => n,Dial(${PJSIP_DIAL_CONTACTS(${NDN})},,t)<br>
same => n,Hangup()<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>O meu problema é que no momento que a fila chama o agente isso está gerando um CDR, eu tentei utilizar o NOCDR() e CDR_PROP mas sem sucesso, alguém tem uma ideia de como contornar esta situação e não gerar o CDR a menos que a chamada seja efetivamente
atendida ?<br>
</div>
<div><br>
</div>
<div>Outro detalhe que isso está gerando (não testei exatamente mas creio ser por isso) é que o MIX_MONITOR está sempre gerando o arquvo de audio para cada tentativa , mesmo usando o b (apenas quando em bridge), acredito que isso se de devido ao fato de o canal
Local considerar a bridge montada, abaixo a macro em questão <br>
</div>
<div><br>
</div>
<div>[macro-gravacoes-queues]<br>
; ARG1 -> accountcode<br>
; ARG2 -> CALLERID<br>
; ARG3 -> QUEUENUMBER <br>
<br>
exten => s,1,ExecIf($["${MIXMONITOR_INUSE}" = "1"]?StopMixMonitor())<br>
exten => s,n,Set(TIPO=IN)<br>
exten => s,n,NoOp(Preparando gravacao de chamada)<br>
exten => s,n,Set(ANO=${STRFTIME(${EPOCH},GMT-3,%G)})<br>
exten => s,n,Set(MES=${STRFTIME(${EPOCH},GMT-3,%m)})<br>
exten => s,n,Set(DIA=${STRFTIME(${EPOCH},GMT-3,%d)})<br>
exten => s,n,ExecIf($["${master}" != ""]?Set(CHANNEL(accountcode)=${master}))<br>
exten => s,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/${CHANNEL(accountcode)}/${ANO}/${MES}/${DIA}/queue-${THEQUEUE}-src-${ORIGINADOR}-dst-${CALLERID(num)}-${UNIQUEID})<br>
exten => s,n,Set(CDR(userfield)=${MONITOR_FILENAME})<br>
exten => s,n,ExecIf($["${ODBC_QRECORD(${THEQUEUE})}" == "1"]?Set(doRecord=1):Set(doRecord=0))<br>
exten => s,n,ExecIf($["${doRecord}" == "1"]?MixMonitor(${MONITOR_FILENAME}.WAV,b))<br>
exten => s,n,ExecIf($["${doRecord}" == "1"]?Set(__MIXMONITOR_INUSE=1):Set(__MIXMONITOR_INUSE=0))<br>
exten => s,n,MacroExit()<br>
<br>
</div>
<div><br>
</div>
<div>Alguma ideia sobre estes problemas ?<br>
</div>
<div><br>
</div>
<div>Obrigado.<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div>--<br>
<a href="https://brdvoz.com.br">BRDVOZ</a><br>
Soluções de Numeração , PABX em Núvem e muito mais...</div>
</div>
</div>
</div>
</body>
</html>