Browse Source

Modificar o extensions_padrao.conf para fazer login manual e automatico - testado

1.9
bruno 3 months ago
parent
commit
f8aa36edeb
  1. 133
      asterisk/etc_asterisk/extensions_padrao.conf
  2. 63
      asterisk/var_lib_asterisk/scripts/callcenter/atualizar-agente.php
  3. 3
      asterisk/var_lib_asterisk/scripts/callcenter/deletar-agente.php
  4. 3
      asterisk/var_lib_asterisk/scripts/callcenter/inserir-agente.php

133
asterisk/etc_asterisk/extensions_padrao.conf

@ -2,38 +2,41 @@
;-----------------------------------------------------------------------------------
;ATENDIMENTO MANUAL
exten => **50,1,NoCDR()
exten => **50,n,Set(__${CALLERID(NUM)}DAC=${DAC})
exten => **50,n,Set(__${CALLERID(NUM)}AGENT=${AGENT})
exten => **50,n,Set(__${CALLERID(NUM)}RAMAL=${RAMAL})
exten => **50,n,Set(__${CALLERID(NUM)}PENALIDADE=${PENALIDADE})
exten => **50,n,Noop(${RAMAL} - ${AGENT})
exten => **50,n,Set(__${CHANNEL(peername)}DAC=${DAC})
exten => **50,n,Set(__${CHANNEL(peername)}AGENT=${AGENT})
exten => **50,n,Set(__${CHANNEL(peername)}RAMAL=${CHANNEL(peername)})
exten => **50,n,Set(__${CHANNEL(peername)}RAMAL_ORG=${RAMAL})
exten => **50,n,Set(__${CHANNEL(peername)}ORG=${DB(ORG_ID/${CHANNEL(peername)})})
exten => **50,n,Set(__${CHANNEL(peername)}PENALIDADE=${PENALIDADE})
exten => **50,n,Set(__ATENDIMENTO=MANUAL)
exten => **50,n,RemoveQueueMember(${${CALLERID(NUM)}DAC},Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n)
exten => **50,n,System(${DELETAR} '${${CALLERID(NUM)}AGENT}')
exten => **50,n,RemoveQueueMember(${${CHANNEL(peername)}DAC},Local/${CHANNEL(peername)}RAMAL}@app-callcenter/n)
exten => **50,n,System(${DELETAR} '${${CHANNEL(peername)}AGENT}' '${DB(ORG_ID/${CHANNEL(peername)})}')
exten => **50,n,Noop(${SYSTEMSTATUS})
exten => **50,n,Noop(${DB_DELETE(MATRICULA/${${CALLERID(NUM)}RAMAL})})
exten => **50,n(add),AddQueueMember(${${CALLERID(NUM)}DAC},Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n,${${CALLERID(NUM)}PENALIDADE},,Agent/${${CALLERID(NUM)}AGENT},${DB(DIAL/${${CALLERID(NUM)}RAMAL})})
exten => **50,n,Noop(${DB_DELETE(MATRICULA/${${CHANNEL(peername)}RAMAL})})
exten => **50,n(add),AddQueueMember(${${CHANNEL(peername)}DAC},Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n,${${CHANNEL(peername)}PENALIDADE},,Agent/${${CHANNEL(peername)}AGENT},${DB(DIAL/${CHANNEL(peername)})})
exten => **50,n,Noop(AddQueueMember respondeu == ${AQMSTATUS})
exten => **50,n,Goto(${AQMSTATUS})
exten => **50,n(ADDED),System(${INSERIR} LOGANDO '${${CALLERID(NUM)}AGENT}')
exten => **50,n(ADDED),System(${INSERIR} LOGANDO '${${CHANNEL(peername)}RAMAL_ORG}' '${${CHANNEL(peername)}ORG}')
exten => **50,n,Noop(${SYSTEMSTATUS})
exten => **50,n,Goto(app-login,**51,1)
exten => **50,n,Hangup()
exten => **50,n(MEMBERALREADY),RemoveQueueMember(${${CALLERID(NUM)}DAC},Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n)
exten => **50,n,Noop(Removido agente Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n da fila ${${CALLERID(NUM)}DAC})
exten => **50,n,System(${DELETAR} '${${CALLERID(NUM)}AGENT}')
exten => **50,n(MEMBERALREADY),RemoveQueueMember(${${CHANNEL(peername)}DAC},Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n)
exten => **50,n,Noop(Removido agente Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n da fila ${${CHANNEL(peername)}DAC} da organização ${${CHANNEL(peername)}ORG})
exten => **50,n,System(${DELETAR} '${${CHANNEL(peername)}AGENT}' '${${CHANNEL(peername)}ORG}')
exten => **50,n,Goto(app-login,**50,add)
exten => **50,n(NOSUCHQUEUE),System(${INSERIR} FALHA 'Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n')
exten => **50,n(NOSUCHQUEUE),System(${INSERIR} FALHA 'Local/${${CHANNEL(peername)}RAMAL_ORG}@app-callcenter/n' '${${CHANNEL(peername)}ORG}')
exten => **50,n,Noop(System = ${SYSTEMSTATUS})
exten => **50,n,Noop(FILA ${${CALLERID(NUM)}DAC} NAO EXISTE!!!)
exten => **50,n,Noop(FILA ${${CHANNEL(peername)}DAC} NAO EXISTE!!!)
exten => **50,n,Playback(agent-incorrect)
exten => **50,n,Hangup()
exten => **51,1,NoCDR()
exten => **51,n,PauseQueueMember(,Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n)
exten => **51,n,PauseQueueMember(,Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n)
exten => **51,n,Goto(${PQMSTATUS})
exten => **51,n(PAUSED),Playback(agent-loginok)
exten => **51,n,System(${ATUALIZAR} LOGIN '${${CALLERID(NUM)}AGENT}')
exten => **51,n,Set(GLOBAL(AGENTE${${CALLERID(NUM)}RAMAL})=${${CALLERID(NUM)}AGENT})
exten => **51,n,Set(DB(AGENTELOGIN/${${CALLERID(NUM)}RAMAL})=${${CALLERID(NUM)}AGENT})
exten => **51,n,System(${ATUALIZAR} LOGIN '${${CHANNEL(peername)}AGENT}' '' '${${CHANNEL(peername)}ORG}')
exten => **51,n,Set(GLOBAL(AGENTE${${CHANNEL(peername)}RAMAL})=${${CHANNEL(peername)}AGENT})
exten => **51,n,Set(DB(AGENTELOGIN/${${CHANNEL(peername)}RAMAL})=${${CHANNEL(peername)}AGENT})
exten => **51,n,Hangup()
exten => **51,n(NOTFOUND),Noop(AGENTE NAO ENCONTRADO)
exten => **51,n,Playback(agent-incorrect)
@ -42,38 +45,40 @@ exten => **51,n,Hangup()
;-----------------------------------------------------------------------------------------------------------
;ATENDIMENTO AUTOMATICO
exten => **60,1,NoCDR()
exten => **60,n,Set(__${CALLERID(NUM)}DAC=${DAC})
exten => **60,n,Set(__${CALLERID(NUM)}AGENT=${AGENT})
exten => **60,n,Set(__${CALLERID(NUM)}RAMAL=${RAMAL})
exten => **60,n,Set(__${CALLERID(NUM)}PENALIDADE=${PENALIDADE})
exten => **60,n,Set(__${CHANNEL(peername)}DAC=${DAC})
exten => **60,n,Set(__${CHANNEL(peername)}AGENT=${AGENT})
exten => **60,n,Set(__${CHANNEL(peername)}RAMAL=${CHANNEL(peername)})
exten => **60,n,Set(__${CHANNEL(peername)}RAMAL_ORG=${RAMAL})
exten => **60,n,Set(__${CHANNEL(peername)}ORG=${DB(ORG_ID/${CHANNEL(peername)})})
exten => **60,n,Set(__${CHANNEL(peername)}PENALIDADE=${PENALIDADE})
exten => **60,n,Set(__ATENDIMENTO=AUTO)
exten => **60,n,System(asterisk -rx "agent logoff Agent/${${CALLERID(NUM)}AGENT} soft")
exten => **60,n,System(asterisk -rx "agent logoff Agent/${${CHANNEL(peername)}AGENT} soft")
exten => **60,n,Noop(${SYSTEMSTATUS})
exten => **60,n,RemoveQueueMember(${${CALLERID(NUM)}DAC},Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n)
exten => **60,n,System(${DELETAR} '${${CALLERID(NUM)}AGENT}')
exten => **60,n,RemoveQueueMember(${${CHANNEL(peername)}DAC},Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n)
exten => **60,n,System(${DELETAR} '${${CHANNEL(peername)}AGENT}' '${DB(ORG_ID/${CHANNEL(peername)})}')
exten => **60,n,Noop(${SYSTEMSTATUS})
exten => **60,n,Noop(${DB_DELETE(MATRICULA/${${CALLERID(NUM)}RAMAL})})
exten => **60,n(add),AddQueueMember(${${CALLERID(NUM)}DAC},Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n,${${CALLERID(NUM)}PENALIDADE},,Agent/${${CALLERID(NUM)}AGENT},Agent:${${CALLERID(NUM)}AGENT})
exten => **60,n,Noop(${DB_DELETE(MATRICULA/${${CHANNEL(peername)}RAMAL})})
exten => **60,n(add),AddQueueMember(${${CHANNEL(peername)}DAC},Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n,${${CHANNEL(peername)}PENALIDADE},,Agent/${${CHANNEL(peername)}AGENT},Agent:${${CHANNEL(peername)}AGENT})
exten => **60,n,Noop(AddQueueMember respondeu == ${AQMSTATUS})
exten => **60,n,Goto(${AQMSTATUS})
exten => **60,n(ADDED),System(${INSERIR} LOGANDO '${${CALLERID(NUM)}AGENT}')
exten => **60,n(ADDED),System(${INSERIR} LOGANDO '${${CHANNEL(peername)}AGENT}' '${${CHANNEL(peername)}ORG}')
exten => **60,n,Noop(${SYSTEMSTATUS})
exten => **60,n,Goto(app-login,**61,1)
exten => **60,n,Hangup()
exten => **60,n(MEMBERALREADY),RemoveQueueMember(${${CALLERID(NUM)}DAC},Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n)
exten => **60,n,Noop(Removido agente ${${CALLERID(NUM)}AGENT} da fila ${${CALLERID(NUM)}DAC})
exten => **60,n,System(${DELETAR} '${${CALLERID(NUM)}AGENT}')
exten => **60,n(MEMBERALREADY),RemoveQueueMember(${${CHANNEL(peername)}DAC},Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n)
exten => **60,n,Noop(Removido agente ${${CHANNEL(peername)}AGENT} da fila ${${CHANNEL(peername)}DAC} da organização ${${CHANNEL(peername)}ORG})
exten => **60,n,System(${DELETAR} '${${CHANNEL(peername)}AGENT}')
exten => **60,n,Noop(${SYSTEMSTATUS})
exten => **60,n,System(asterisk -rx "agent logoff Agent/${${CALLERID(NUM)}AGENT} soft")
exten => **60,n,System(asterisk -rx "agent logoff Agent/${${CHANNEL(peername)}AGENT} soft")
exten => **60,n,Noop(${SYSTEMSTATUS})
exten => **60,n,Goto(app-login,**60,add)
exten => **60,n(NOSUCHQUEUE),System(${INSERIR} FALHA '${${CALLERID(NUM)}AGENT}')
exten => **60,n(NOSUCHQUEUE),System(${INSERIR} FALHA '${${CHANNEL(peername)}AGENT}' '${${CHANNEL(peername)}ORG}')
exten => **60,n,Noop(System = ${SYSTEMSTATUS})
exten => **60,n,Noop(FILA ${${CALLERID(NUM)}DAC} NAO EXISTE!!!)
exten => **60,n,Noop(FILA ${${CHANNEL(peername)}DAC} NAO EXISTE!!!)
exten => **60,n,Hangup()
exten => **61,1,NoCDR()
exten => **61,n,PauseQueueMember(,Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n)
exten => **61,n,PauseQueueMember(,Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n)
exten => **61,n,Goto(${PQMSTATUS})
exten => **61,n(PAUSED),Goto(app-login,**62,1)
exten => **61,n,Hangup()
@ -81,20 +86,20 @@ exten => **61,n(NOTFOUND),Noop(AGENTE NAO ENCONTRADO)
exten => **61,n,Hangup()
exten => **62,1,NoCDR()
exten => **62,n,System(${ATUALIZAR} LOGIN '${${CALLERID(NUM)}AGENT}')
exten => **62,n,System(${ATUALIZAR} LOGIN '${${CHANNEL(peername)}AGENT}' '' '${${CHANNEL(peername)}ORG}')
exten => **62,n,Noop(${SYSTEMSTATUS})
exten => **62,n,Answer()
exten => **62,n,Set(CHANNEL(dtmf_features)=TH)
exten => **62,n,Set(CONNECTEDLINE(all)="Aguardando" <${${CALLERID(NUM)}AGENT}>)
exten => **62,n,Set(DB(MATRICULA/${${CALLERID(NUM)}RAMAL})=${${CALLERID(NUM)}AGENT})
exten => **62,n,Set(CONNECTEDLINE(all)="Aguardando" <${${CHANNEL(peername)}AGENT}>)
exten => **62,n,Set(DB(MATRICULA/${${CHANNEL(peername)}RAMAL})=${${CHANNEL(peername)}AGENT})
;exten => **62,n,Set(CHANNEL(musicclass)=agentes)
exten => **62,n,AgentLogin(${${CALLERID(NUM)}AGENT})
exten => **62,n,AgentLogin(${${CHANNEL(peername)}AGENT})
exten => h,1,GotoIf($["${ATENDIMENTO}" = "AUTO"]?2:6)
exten => h,n,RemoveQueueMember(${${CALLERID(NUM)}DAC},Local/${${CALLERID(NUM)}RAMAL}@app-callcenter/n)
exten => h,n,Noop(Removido agente ${${CALLERID(NUM)}AGENT} da fila ${${CALLERID(NUM)}DAC})
exten => h,n,System(${DELETAR} '${${CALLERID(NUM)}AGENT}')
exten => h,n,Noop(${DB_DELETE(MATRICULA/${${CALLERID(NUM)}RAMAL})})
exten => h,n,RemoveQueueMember(${${CHANNEL(peername)}DAC},Local/${${CHANNEL(peername)}RAMAL}@app-callcenter/n)
exten => h,n,Noop(Removido agente ${${CHANNEL(peername)}AGENT} da fila ${${CHANNEL(peername)}DAC} da organização ${${CHANNEL(peername)}ORG})
exten => h,n,System(${DELETAR} '${${CHANNEL(peername)}AGENT}')
exten => h,n,Noop(${DB_DELETE(MATRICULA/${${CHANNEL(peername)}RAMAL})})
exten => h,n,Hangup()
[app-callcenter]
@ -291,7 +296,7 @@ include => app-padrao
exten => *37,1,NoCDR()
exten => *37,n,AGI(pbx_complemento.php,aplicacoes)
exten => *37,n,GotoIf($["X${DB(MONITORAMENTO/${CALLERID(NUM)})}" = "X"]?negado)
exten => *37,n,GotoIf($["X${DB(MONITORAMENTO/${CHANNEL(peername)})}" = "X"]?negado)
exten => *37,n(inicio),Read(DESTINO-MONITOR,vm-enter-num-to-call)
exten => *37,n,GotoIf($["X${DESTINO-MONITOR}" = "X"]?invalido)
exten => *37,n,ChanSpy(${DB(DIAL/${DESTINO-MONITOR})},bq)
@ -303,7 +308,7 @@ exten => *37,n,Hangup()
exten => *38,1,NoCDR()
exten => *38,n,AGI(pbx_complemento.php,aplicacoes)
exten => *38,n,GotoIf($["X${DB(MONITORAMENTO/${CALLERID(NUM)})}" = "X"]?negado)
exten => *38,n,GotoIf($["X${DB(MONITORAMENTO/${CHANNEL(peername)})}" = "X"]?negado)
exten => *38,n(inicio),Read(DESTINO-MONITOR,vm-enter-num-to-call)
exten => *38,n,GotoIf($["X${DESTINO-MONITOR}" = "X"]?invalido)
exten => *38,n,ChanSpy(${DB(DIAL/${DESTINO-MONITOR})},bqw)
@ -329,17 +334,17 @@ exten => _X.,n,Hangup()
; ARG1 EXTEN
; ARG2 DAC
; ARG3 CONTEXT
exten => s,1,AGI(ramal_empresa.php,${CALLERID(num)})
exten => s,n,ExecIf($["${ISNULL(${ID_EMPRESA})}" = "0"]?Set(CDR(org_id)=${ID_EMPRESA}))
exten => s,n,ExecIf($["${ISNULL(${ID_EMPRESA})}" = "0"]?Set(EXTENDESTINO=${ID_EMPRESA}${ARG1}))
exten => s,1,Set(__ORG_ID=${DB(ORG_ID/${CHANNEL(peername)})})
exten => s,n,Set(CDR(org_id)=${ORG_ID})
exten => s,n,Set(EXTENDESTINO=${ARG1})
exten => s,n,GoSub(macro-callerid,s,1,(INTERNO))
exten => s,n,GotoIf($["${ARG3}" = "ura"]?discadireto)
exten => s,n,GotoIf($["${ISNULL(${ARG2})}" = "0"]?chamadadac)
;exten => s,n,Set(CDR(direcao)=S)
exten => s,n,ExecIf($["${CDR(direcao)}" != "E" && "${ISNULL(${CDR(ramal_origem)})}" = "1"]?Set(CDR(ramal_origem)=${CALLERID(num)}))
exten => s,n,ExecIf($["${DIALPLAN_EXISTS(app-padrao,${EXTENDESTINO},1)}" = "0"]?GoSub(macro-verifica-rota,s,1,(${CALLERID(NUM)},${EXTENDESTINO})))
exten => s,n,ExecIf($["${DIALPLAN_EXISTS(app-padrao,${ORG_ID}${EXTENDESTINO},1)}" = "0"]?GoSub(macro-verifica-rota,s,1,(${CALLERID(NUM)},${EXTENDESTINO},${ORG_ID})))
exten => s,n(chamadadac),ExecIf($["${ISNULL(${ARG2})}" = "0"]?GoSub(macro-verifica-rota,s,1,(${EXTENDESTINO},${EXTENDESTINO}))
exten => s,n(discadireto),ExecIf($["${DIALPLAN_EXISTS(app-padrao,${EXTENDESTINO},1)}" = "1"]?Goto(app-padrao,${EXTENDESTINO},1))
exten => s,n(discadireto),ExecIf($["${DIALPLAN_EXISTS(app-padrao,${ORG_ID}${EXTENDESTINO},1)}" = "1"]?Goto(app-padrao,${ORG_ID}${EXTENDESTINO},1))
exten => s,n,ExecIf($["${DIALPLAN_EXISTS(rota-${ID_ROTA},${EXTENDESTINO},1)}" = "1"]?Gosub(rota-${ID_ROTA},${EXTENDESTINO},1))
exten => s,n,GotoIf($["${DIALPLAN_EXISTS(rota-${ID_ROTA},${EXTENDESTINO},1)}" = "0"]?invalido)
;exten => s,n,Return()
@ -971,7 +976,7 @@ exten => s,n,Return()
;exten => s,1,ResetCDR(w)
exten => s,1,Set(_PICKUPMARK=${ARG5})
exten => s,n,Set(_TIPO=INTERNA)
exten => s,n,Set(DB(ULTIMO-DISCADO/${CALLERID(NUM)})=${DB(DIAL/${ARG1})})
exten => s,n,Set(DB(ULTIMO-DISCADO/${CHANNEL(peername)})=${DB(DIAL/${ARG1})})
exten => s,n,GotoIf($["${DB(NAOPERTUBE/${ARG1})}" = "V"]?naopertube)
exten => s,n,GotoIf($["${DB(SIGAME-INTERNO/${ARG1})}" != "F"]?sigameinterno)
exten => s,n,GotoIf($["${DB(SIGAME-EXTERNO/${ARG1})}" != "F"]?sigameexterno)
@ -1471,8 +1476,8 @@ exten => s,n,GotoIf($["${TEMPO}" = "0"]?disca)
exten => s,n,Set(TIMEOUT(absolute)=${TEMPO} + 5)
exten => s,n(disca),Set(_PERMISSAO=OK)
exten => s,n,Return()
exten => s,n(semrota),Playback(appsounds/no-rights)
exten => s,n,Hangup()
exten => s,n(semrota),Return()
[macro-get-canal-transfer]
exten => s,1,Wait(1)
@ -1630,15 +1635,15 @@ exten => s,n(fim),Return()
;ARG4 = STRING DIAL - ALTERAR A BINA DOS CANAIS KHOMP
exten => s,1,Noop(${CALLERID(ALL)})
exten => s,n,GotoIf($["X${ARG2}" = "X"]?interno)
exten => s,n,GotoIf($["X${DB(BINA-EXTERNO/${CALLERID(NUM)})}" = "X"]?binatronco)
exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CALLERID(NUM)})})
exten => s,n,Set(CALLERID(num)=${DB(BINA-EXTERNO/${CALLERID(NUM)})})
exten => s,n,GotoIf($["X${DB(BINA-EXTERNO/${CHANNEL(peername)})}" = "X"]?binatronco)
exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CHANNEL(peername)})})
exten => s,n,Set(CALLERID(num)=${DB(BINA-EXTERNO/${CHANNEL(peername)})})
exten => s,n(binatronco),AGI(bina_tronco.php,${ARG2},${ARG3},${ARG4})
exten => s,n,Noop(BINA_TRONCO = ${BINA_TRONCO})
exten => s,n,ExecIf($["X${BINA_TRONCO}" != "X"]?Set(CALLERID(num)=${BINA_TRONCO}))
exten => s,n,Return()
exten => s,n(interno),GotoIf($["X${DB(BINA-NOME/${CALLERID(NUM)})}" = "X"]?fim)
exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CALLERID(NUM)})})
exten => s,n(interno),GotoIf($["X${DB(BINA-NOME/${CHANNEL(peername)})}" = "X"]?fim)
exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CHANNEL(peername)})})
exten => s,n,Set(CALLERID(num)=${CALLERID(NUM)})
exten => s,n(fim),Return()
@ -1646,18 +1651,18 @@ exten => s,n(fim),Return()
;exten => s,n,GotoIf($["${ARG1}" = "EXTERNO"]?externo)
;exten => s,n,GotoIf($["${ARG1}" = "INTERNO"]?interno)
;exten => s,n,GotoIf($["${CALLERID(NUM)}" >= "8"]?fim)
;exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CALLERID(NUM)})})
;exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CHANNEL(peername)})})
;exten => s,n,Set(CALLERID(num)=${CALLERID(NUM)})
;exten => s,n,Return()
;exten => s,n(externo),GotoIf($["X${DB(BINA-EXTERNO/${CALLERID(NUM)})}" = "X"]?fim)
;exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CALLERID(NUM)})})
;exten => s,n,Set(CALLERID(num)=${DB(BINA-EXTERNO/${CALLERID(NUM)})})
;exten => s,n(externo),GotoIf($["X${DB(BINA-EXTERNO/${CHANNEL(peername)})}" = "X"]?fim)
;exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CHANNEL(peername)})})
;exten => s,n,Set(CALLERID(num)=${DB(BINA-EXTERNO/${CHANNEL(peername)})})
;exten => s,n(fim),AGI(bina_tronco.php,${ARG2},${ARG3})
;exten => s,n,Noop(BINA_TRONCO = ${BINA_TRONCO})
;exten => s,n,ExecIf($["X${BINA_TRONCO}" != "X"]?Set(CALLERID(NUM)=${BINA_TRONCO}))
;exten => s,n,Return()
;exten => s,n(interno),GotoIf($["X${DB(BINA-NOME/${CALLERID(NUM)})}" = "X"]?fim)
;exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CALLERID(NUM)})})
;exten => s,n(interno),GotoIf($["X${DB(BINA-NOME/${CHANNEL(peername)})}" = "X"]?fim)
;exten => s,n,Set(CALLERID(name)=${DB(BINA-NOME/${CHANNEL(peername)})})
;exten => s,n,Set(CALLERID(num)=${CALLERID(NUM)})
[macro-gravacao]

63
asterisk/var_lib_asterisk/scripts/callcenter/atualizar-agente.php

@ -9,6 +9,7 @@ $path = "/var/log/asterisk/log_erro_pabx.log";
$p1 = trim($argv[1]);
$p2 = isset($argv[2]) ? trim($argv[2]) : '';
$p3 = isset($argv[3]) ? trim($argv[3]) : '';
$org_id = $argv[4];
$TBL_AGENTES = "pbx_supervisor_agentes";
$log = '';
try {
@ -25,20 +26,20 @@ try {
list($ramal) = explode("-", $ramal);
}
$query = "UPDATE $TBL_AGENTES SET canal_transfer = '' WHERE ramal = '$ramal'";
$query = "UPDATE $TBL_AGENTES SET canal_transfer = '' WHERE ramal = '$ramal' and org_id=$org_id";
if (!pg_query($dbcon, $query)) {
RaiseExcept($query);
}
} else if ($p1 == "AGENTE-LOGOFF") {
$query = "select count(*) from $TBL_AGENTES where status in ('PAUSA','OCUPADO') and matricula = '$p2'";
$query = "select count(*) from $TBL_AGENTES where status in ('PAUSA','OCUPADO') and matricula = '$p2' and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$STATUS = GetDbField($result);
if (!$STATUS) {
$query = "delete from $TBL_AGENTES where matricula = '$p2'";
$query = "delete from $TBL_AGENTES where matricula = '$p2' and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
@ -54,14 +55,14 @@ try {
}
} else if ($p1 == "PAUSA-AUSENTE") {
$query = "select matricula from $TBL_AGENTES where ramal = '$p2'";
$query = "select matricula from $TBL_AGENTES where ramal = '$p2' and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$MATRICULA = GetDbField($result);
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('ausente')";
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('ausente') and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
@ -69,39 +70,39 @@ try {
if (!$AUSENTE) {
$query = "insert into pbx_motivos_pausas (motivo) values ('AUSENTE')";
$query = "insert into pbx_motivos_pausas (motivo, org_id) values ('AUSENTE', $org_id)";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('ausente')";
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('ausente') and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$AUSENTE = GetDbField($result);
}
$query = "insert into pbx_eventos_agentes (matricula, ramal, id_dac, id_motivo_pausa, entrada_pausa, flag, relaciona_eventos, saida_pausa) (select a.matricula, a.ramal, b.id as id_dac,'$AUSENTE',now(),'0', '0',now() from pbx_supervisor_agentes a, pbx_dacs b where b.nome = a.dac and a.matricula = '$MATRICULA') ";
$query = "insert into pbx_eventos_agentes (matricula, ramal, id_dac, id_motivo_pausa, entrada_pausa, flag, relaciona_eventos, saida_pausa, org_id) (select a.matricula, a.ramal, b.id as id_dac,'$AUSENTE',now(),'0', '0',now(),a.org_id from pbx_supervisor_agentes a, pbx_dacs b where b.nome = a.dac and a.matricula = '$MATRICULA' and a.org_id=$org_id)";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$ID_EVENTOS_AGENTE = GetCurrVal("pbx_eventos_agentes");
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',protocolo = '', duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',canal = '',canal_agente = '',canal_transfer = '', tipo_discagem = '',motivo_pausa = 'ausente', id_eventos_agente = '$ID_EVENTOS_AGENTE' WHERE matricula = '$MATRICULA'";
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',protocolo = '', duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',canal = '',canal_agente = '',canal_transfer = '', tipo_discagem = '',motivo_pausa = 'ausente', id_eventos_agente = '$ID_EVENTOS_AGENTE' WHERE matricula = '$MATRICULA' and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
//INICIO: INCLUSAO - ALAN PABLO
} else if ($p1 == "PAUSA-RECUSADA") {
$query = "select matricula from $TBL_AGENTES where ramal = '$p2'";
$query = "select matricula from $TBL_AGENTES where ramal = '$p2' and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$MATRICULA = GetDbField($result);
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('recusada')";
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('recusada') and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
@ -109,32 +110,32 @@ try {
if (!$RECUSADA) {
$query = "insert into pbx_motivos_pausas (motivo) values ('RECUSADA')";
$query = "insert into pbx_motivos_pausas (motivo,org_id) values ('RECUSADA', $org_id)";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('recusada')";
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('recusada') and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$RECUSADA = GetDbField($result);
}
$query = "insert into pbx_eventos_agentes (matricula, ramal, id_dac, id_motivo_pausa, entrada_pausa, flag, relaciona_eventos, saida_pausa) (select a.matricula, a.ramal, b.id as id_dac,'$RECUSADA',now(),'0', '0',now() from pbx_supervisor_agentes a, pbx_dacs b where b.nome = a.dac and a.matricula = '$MATRICULA') ";
$query = "insert into pbx_eventos_agentes (matricula, ramal, id_dac, id_motivo_pausa, entrada_pausa, flag, relaciona_eventos, saida_pausa, org_id) (select a.matricula, a.ramal, b.id as id_dac,'$RECUSADA',now(),'0', '0',now(),a.org_id from pbx_supervisor_agentes a, pbx_dacs b where b.nome = a.dac and a.matricula = '$MATRICULA' and a.org_id=$org_id) ";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$ID_EVENTOS_AGENTE = GetCurrVal("pbx_eventos_agentes");
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',protocolo = '', duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',canal = '',canal_agente = '',canal_transfer = '', tipo_discagem = '',motivo_pausa = 'recusada', id_eventos_agente = '$ID_EVENTOS_AGENTE' WHERE matricula = '$MATRICULA'";
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',protocolo = '', duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',canal = '',canal_agente = '',canal_transfer = '', tipo_discagem = '',motivo_pausa = 'recusada', id_eventos_agente = '$ID_EVENTOS_AGENTE' WHERE matricula = '$MATRICULA' and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
//FIM: INCLUSAO - ALAN PABLO
} else if ($p1 == "RAMAL") {
$query = "select count(*) from $TBL_AGENTES where status in ('PAUSA') and ramal = '$p3'";
$query = "select count(*) from $TBL_AGENTES where status in ('PAUSA') and ramal = '$p3' and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
@ -142,19 +143,19 @@ try {
if (!$PAUSA) {
$query = "UPDATE $TBL_AGENTES SET status = '$p2' , duracao = 'now()' , origem_destino = '',canal = '' , sala_1 = '' , sala_2 = '' , facilidade = '' , canal_agente = '' , canal_transfer = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',tipo_discagem = '', protocolo = '' WHERE ramal = '$p3'";
$query = "UPDATE $TBL_AGENTES SET status = '$p2' , duracao = 'now()' , origem_destino = '',canal = '' , sala_1 = '' , sala_2 = '' , facilidade = '' , canal_agente = '' , canal_transfer = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',tipo_discagem = '', protocolo = '' WHERE ramal = '$p3' and org_id=$org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
}
} else if ($p1 == "GRAVACAO") {
$query = "UPDATE $TBL_AGENTES SET status_gravacao = 'V' WHERE matricula = '$p2'";
$query = "UPDATE $TBL_AGENTES SET status_gravacao = 'V' WHERE matricula = '$p2' and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
} else if ($p1 == "LOGIN") {
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',tipo_discagem = '',motivo_pausa = 'login' WHERE matricula = '$p2'";
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',tipo_discagem = '',motivo_pausa = 'login' WHERE matricula = '$p2' and org_id = $org_id";
if (!($result = pg_query($dbcon, $query))) {
RaiseExcept("Erro Exec: " . $query);
}
@ -163,63 +164,63 @@ try {
}
} else {
$query = "select dac from pbx_supervisor_agentes where matricula = '$p2'";
$query = "select dac from pbx_supervisor_agentes where matricula = '$p2' and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$FILA = GetDbField($result);
$query = "select count(*) from pbx_pausa_automatica where iddac = (select id from pbx_queues_grupos where nome = '$FILA') ";
$query = "select count(*) from pbx_pausa_automatica where iddac = (select id from pbx_queues_grupos where nome = '$FILA' and org_id = $org_id) and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$AUTOPAUSA = GetDbField($result);
if ($AUTOPAUSA) {
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('acw')";
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('acw') and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$ACW = GetDbField($result);
if (!$ACW) {
$query = "insert into pbx_motivos_pausas (motivo) values ('acw')";
$query = "insert into pbx_motivos_pausas (motivo, org_id) values ('acw', $org_id)";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('acw')";
$query = "select id from pbx_motivos_pausas where upper(motivo) = upper('acw') and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$ACW = GetDbField($result);
}
$query = "insert into pbx_eventos_agentes (matricula, ramal, id_dac, id_motivo_pausa, entrada_pausa, flag, relaciona_eventos, saida_pausa) (select a.matricula, a.ramal, b.id as id_dac,'$ACW',now(),'0', '0',now() from pbx_supervisor_agentes a, pbx_dacs b where b.nome = a.dac and a.matricula = '$p2');";
$query = "insert into pbx_eventos_agentes (matricula, ramal, id_dac, id_motivo_pausa, entrada_pausa, flag, relaciona_eventos, saida_pausa, org_id) (select a.matricula, a.ramal, b.id as id_dac,'$ACW',now(),'0', '0',now(),org_id from pbx_supervisor_agentes a, pbx_dacs b where b.nome = a.dac and a.matricula = '$p2' and org_id = $org_id);";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$ID_EVENTOS_AGENTE = GetCurrVal("pbx_eventos_agentes");
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',canal = '',canal_agente = '',canal_transfer = '',tipo_discagem = '',motivo_pausa = 'acw', id_eventos_agente = '$ID_EVENTOS_AGENTE' WHERE matricula = '$p2'";
$query = "UPDATE $TBL_AGENTES SET status = 'PAUSA',duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',canal = '',canal_agente = '',canal_transfer = '',tipo_discagem = '',motivo_pausa = 'acw', id_eventos_agente = '$ID_EVENTOS_AGENTE' WHERE matricula = '$p2' and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
}
$query = "select count(*) from $TBL_AGENTES where status = 'PAUSA' and matricula = '$p2'";
$query = "select count(*) from $TBL_AGENTES where status = 'PAUSA' and matricula = '$p2' and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
$PAUSA = GetDbField($result);
if ($PAUSA) {
$query = "UPDATE $TBL_AGENTES SET origem_destino = '',tipo_ligacao = '',status_gravacao = 'F', protocolo = '', uniqueid = '',canal = '',canal_agente = '',canal_transfer = '' WHERE matricula = '$p2'";
$query = "UPDATE $TBL_AGENTES SET origem_destino = '',tipo_ligacao = '',status_gravacao = 'F', protocolo = '', uniqueid = '',canal = '',canal_agente = '',canal_transfer = '' WHERE matricula = '$p2' and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
} else {
$query = "UPDATE $TBL_AGENTES SET status = '$p1',duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',canal = '',canal_agente = '',canal_transfer = '',tipo_discagem = '', protocolo = '' WHERE matricula = '$p2'";
$query = "UPDATE $TBL_AGENTES SET status = '$p1',duracao = now(),origem_destino = '',tipo_ligacao = '',status_gravacao = 'F',uniqueid = '',canal = '',canal_agente = '',canal_transfer = '',tipo_discagem = '', protocolo = '' WHERE matricula = '$p2' and org_id = $org_id";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept($query);
}
@ -234,9 +235,9 @@ try {
pg_close($dbcon);
function _LogLocal() {
global $path, $debug, $p1, $p2, $p3, $TBL_AGENTES, $query;
global $path, $debug, $p1, $p2, $p3, $org_id, $TBL_AGENTES, $query;
if ($debug) {
WriteLog(sprintf("P1: %s P2: %s P3: %s TB: %s Cmd: %s", $p1, $p2, $p3, $TBL_AGENTES, $query), $path);
WriteLog(sprintf("P1: %s P2: %s P3: %s TB: %s ORG_ID: %d Cmd: %s", $p1, $p2, $p3, $TBL_AGENTES, $org_id, $query), $path);
}
}

3
asterisk/var_lib_asterisk/scripts/callcenter/deletar-agente.php

@ -6,13 +6,14 @@ include("util/util.php");
$TBL_AGENTES = "pbx_supervisor_agentes";
$path = "/var/log/asterisk/log_erro_pabx.log";
$p1 = trim($argv[1]);
$org_id = $argv[2];
$log = '';
try {
if (!$p1) {
GeraExcept("Parametros de entrada invalidos, Arg1:$p1 ");
}
$query = "delete from $TBL_AGENTES where matricula = '$p1'";
$query = "delete from $TBL_AGENTES where matricula = '$p1' and org_id = $org_id";
if (!pg_query($dbcon, $query)) {
RaiseExcept("Erro ao atualizar Base de dados: Cmd:[{$query}]");
}

3
asterisk/var_lib_asterisk/scripts/callcenter/inserir-agente.php

@ -7,6 +7,7 @@ $TBL_AGENTES = "pbx_supervisor_agentes";
$path = "/var/log/asterisk/log_erro_pabx.log";
$p1 = trim($argv[1]);
$p2 = trim($argv[2]);
$org_id = $argv[3];
$log = '';
$result = null;
try {
@ -14,7 +15,7 @@ try {
GeraExcept("Parametros de entrada invalidos, Arg1:$p1 Arg2: $p2");
}
$query = "insert into $TBL_AGENTES (status,matricula,tempo_login,logado, media) values ('$p1','$p2',now(),now(),'99')";
$query = "insert into $TBL_AGENTES (status,matricula,tempo_login,logado, media, org_id) values ('$p1','$p2',now(),now(),'99', $org_id)";
if (!$result = pg_query($dbcon, $query)) {
RaiseExcept("Erro ao atualizar Base de dados: Cmd:[{$query}]");
}

Loading…
Cancel
Save