Olá pessoal, como vai ?
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)
[queuemember]
;exten => _X.,1,Set(NDN=${CUT(EXTEN,-,2)})
exten => _X.,1,Set(NDN=${EXTEN})
same => n,Set(CDR(tipo)=IN)
same => n,Set(__TRANSFER_CONTEXT=ramais)
same => n,Set(CDR(did)=${MAPDID})
same => n,Dial(${PJSIP_DIAL_CONTACTS(${NDN})},,t)
same => n,Hangup()
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 ?
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
[macro-gravacoes-queues]
; ARG1 -> accountcode
; ARG2 -> CALLERID
; ARG3 -> QUEUENUMBER
exten => s,1,ExecIf($["${MIXMONITOR_INUSE}" = "1"]?StopMixMonitor())
exten => s,n,Set(TIPO=IN)
exten => s,n,NoOp(Preparando gravacao de chamada)
exten => s,n,Set(ANO=${STRFTIME(${EPOCH},GMT-3,%G)})
exten => s,n,Set(MES=${STRFTIME(${EPOCH},GMT-3,%m)})
exten => s,n,Set(DIA=${STRFTIME(${EPOCH},GMT-3,%d)})
exten => s,n,ExecIf($["${master}" != ""]?Set(CHANNEL(accountcode)=${master}))
exten =>
s,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/${CHANNEL(accountcode)}/${ANO}/${MES}/${DIA}/queue-${THEQUEUE}-src-${ORIGINADOR}-dst-${CALLERID(num)}-${UNIQUEID})
exten => s,n,Set(CDR(userfield)=${MONITOR_FILENAME})
exten => s,n,ExecIf($["${ODBC_QRECORD(${THEQUEUE})}" ==
"1"]?Set(doRecord=1):Set(doRecord=0))
exten => s,n,ExecIf($["${doRecord}" ==
"1"]?MixMonitor(${MONITOR_FILENAME}.WAV,b))
exten => s,n,ExecIf($["${doRecord}" ==
"1"]?Set(__MIXMONITOR_INUSE=1):Set(__MIXMONITOR_INUSE=0))
exten => s,n,MacroExit()
Alguma ideia sobre estes problemas ?
Obrigado.
--
[ https://brdvoz.com.br/ | BRDVOZ ]
Soluções de Numeração , PABX em Núvem e muito mais...
_______________________________________________
Contact Center em Nuvem
Home Office
http://www.weontap.com.br
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para
[email protected]