diff --git a/asterisk/etc_asterisk/extensions_padrao.conf b/asterisk/etc_asterisk/extensions_padrao.conf index 6e4be038..e91f919a 100644 --- a/asterisk/etc_asterisk/extensions_padrao.conf +++ b/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] diff --git a/asterisk/var_lib_asterisk/scripts/callcenter/atualizar-agente.php b/asterisk/var_lib_asterisk/scripts/callcenter/atualizar-agente.php index adb58007..7035e657 100755 --- a/asterisk/var_lib_asterisk/scripts/callcenter/atualizar-agente.php +++ b/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); } } diff --git a/asterisk/var_lib_asterisk/scripts/callcenter/deletar-agente.php b/asterisk/var_lib_asterisk/scripts/callcenter/deletar-agente.php index 612fa0e6..6f38f40b 100755 --- a/asterisk/var_lib_asterisk/scripts/callcenter/deletar-agente.php +++ b/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}]"); } diff --git a/asterisk/var_lib_asterisk/scripts/callcenter/inserir-agente.php b/asterisk/var_lib_asterisk/scripts/callcenter/inserir-agente.php index 2f0e9bce..e3882e15 100755 --- a/asterisk/var_lib_asterisk/scripts/callcenter/inserir-agente.php +++ b/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}]"); }