From 999c92b10a3def56a5168285cf622368fa0dd321 Mon Sep 17 00:00:00 2001 From: bruno Date: Fri, 12 Jul 2024 08:56:49 -0400 Subject: [PATCH] Resolver problemas no extensions para extensions 16 --- admin/funcoes.php | 26 +++++++++---------- .../etc_asterisk/extensions_facilidades.conf | 2 +- asterisk/etc_asterisk/extensions_padrao.conf | 24 +++++++++-------- .../extensions_padrao_customizado.conf | 4 +-- 4 files changed, 29 insertions(+), 27 deletions(-) diff --git a/admin/funcoes.php b/admin/funcoes.php index f6105565..c4d6cb3a 100644 --- a/admin/funcoes.php +++ b/admin/funcoes.php @@ -777,7 +777,7 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { $escreve = fopen($arq, 'w'); fwrite($escreve, '[ext-fila]' . "\n"); - fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN}))' . "\n"); + fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN}))' . "\n"); /* fwrite($escreve,'exten => h,1,Noop(MATRICULA = ${MATRICULA} e IDORIGEM = ${IDORIGEM})'. "\n"); fwrite($escreve,'exten => h,n,GotoIf($["X${MATRICULA}" = "X"]?desliga)'. "\n"); fwrite($escreve,'exten => h,n,GotoIf($["${CONTEXT:0:3}" = "psq"]?desliga)'. "\n"); @@ -1354,7 +1354,7 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { fwrite($escreve, '[ext-testes]' . "\n"); fwrite($escreve, 'include => ext-testes-custom' . "\n"); - fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN}))' . "\n"); + fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN}))' . "\n"); $query = "SELECT id,permite_ligacao,tempo_espera,som_ura,teste FROM pbx_ura where teste <> '' order by id asc"; $result = pg_query($dbcon, $query); @@ -1405,7 +1405,7 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { fwrite($escreve, '[ext-horarios]' . "\n"); fwrite($escreve, 'include => ext-horarios-custom' . "\n"); - fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN}))' . "\n"); + fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN}))' . "\n"); $query = "SELECT distinct a.id, a.nome, a.discar, a.opcao_nao, a.acao_nao FROM pbx_horarios a, pbx_horarios_itens b @@ -2108,7 +2108,7 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { fwrite($escreve, '[ext-anuncios]' . "\n"); fwrite($escreve, 'include => ext-anuncios-custom' . "\n"); - fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN}))' . "\n"); + fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN}))' . "\n"); $query = "select * from pbx_anuncios "; $result = pg_query($dbcon, $query); @@ -2494,7 +2494,7 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { $portabilidade = $dados['portabilidade']; fwrite($escreve, '[rota-' . $dados['id'] . ']' . "\n"); //fwrite($escreve, 'exten => h,1,ExecIf($["${DIALSTATUS}" = "ANSWER"]?Set(CDR_PROP(disable)=1))' . "\n"); - fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN}))' . "\n"); + fwrite($escreve, 'exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN}))' . "\n"); $query2 = "select * FROM pbx_rotas_saida_modelos where id_rota=" . $dados['id'] . " order by length(modelo), modelo asc"; $result2 = pg_query($dbcon, $query2); @@ -2578,7 +2578,7 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { fwrite($escreve, '[ext-rotasinternas]' . "\n"); fwrite($escreve, 'include => ext-rotasinternas-custom' . "\n"); - //fwrite($escreve,'exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN}))'. "\n"); + //fwrite($escreve,'exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN}))'. "\n"); $query = "select * FROM pbx_rotas_saida where tipo='I' and portabilidade = 0 order by id asc"; $result = pg_query($dbcon, $query); @@ -2623,9 +2623,9 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { fwrite($escreve, 'exten => _' . $dados2['modelo'] . ',n,Gosub(macro-dial-saida-pstn,s,1,(' . $dados3['nome_canal'] . '/' . $acrescenta . '${EXTEN' . $recorte . '}' . $complKhomp . ',r' . $complTronco . '))' . "\n"); } fwrite($escreve, 'exten => _' . $dados2['modelo'] . ',n,GotoIf($["${LIMITE}" = "OK"]?limite)' . "\n"); - fwrite($escreve, 'exten => _' . $dados2['modelo'] . ',n,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN}))' . "\n"); + fwrite($escreve, 'exten => _' . $dados2['modelo'] . ',n,Hangup()' . "\n"); fwrite($escreve, 'exten => _' . $dados2['modelo'] . ',n(limite),Playback(appsounds/linhas_ocupadas)' . "\n"); - fwrite($escreve, 'exten => _' . $dados2['modelo'] . ',n,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN}))' . "\n" . "\n"); + fwrite($escreve, 'exten => _' . $dados2['modelo'] . ',n,Hangup()' . "\n" . "\n"); } } fclose($escreve); @@ -2672,7 +2672,7 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { $linha = "include => $nomeContexto" . "_custom\n"; fwrite($escreve, $linha); fwrite($escreve, "include => aplicacoes" . "\n"); - fwrite($escreve, "exten => h,1,GoSub(macro-hangup,s,1,(\${CONTEXT},\${EXTEN}))" . "\n"); + fwrite($escreve, "exten => h,1,GoSub(macro-hangup,s,1,(,\${CONTEXT},\${EXTEN}))" . "\n"); if ($dados['inclui_padrao'] == 'S') { $linha = "include => padrao\n"; @@ -2756,11 +2756,11 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { if ($existeTronco) { $linha = sprintf('exten => _%s,n,GotoIf($["${LIMITE}" = "OK"]?limite)%s', $modelo, "\n"); fwrite($escreve, $linha); - $linha = "exten => _$modelo,n,GoSub(macro-hangup,s,1,(\${CONTEXT},\${EXTEN}))\n"; + $linha = "exten => _$modelo,n,Hangup()\n"; fwrite($escreve, $linha); $linha = "exten => _$modelo,n(limite),Playback(appsounds/linhas_ocupadas)\n"; fwrite($escreve, $linha); - $linha = "exten => _$modelo,n,GoSub(macro-hangup,s,1,(\${CONTEXT},\${EXTEN}))\n"; + $linha = "exten => _$modelo,n,Hangup()\n"; fwrite($escreve, $linha); if ($portabilidade) { $linha = "exten => _$modelo,n(portabilidade),Gosub(macro-dial-saida-pstn,s,1,(\${TRONCO}/\${DESTINO},r,\${ID_TRONCO},\${MAX_LIG}))\n"; @@ -2768,7 +2768,7 @@ function gera_arquivos($dbcon, $tipo, $reload = 1, $reloadUra = 1) { } $linha = sprintf('exten => _%s,n,GotoIf($["${LIMITE}" = "OK"]?limite)%s', $modelo, "\n"); fwrite($escreve, $linha); - $linha = "exten => _$modelo,n,GoSub(macro-hangup,s,1,(\${CONTEXT},\${EXTEN}))\n"; + $linha = "exten => _$modelo,n,Hangup()\n"; fwrite($escreve, $linha); } /* @@ -3001,7 +3001,7 @@ function GeraExtRamais($dbcon) { fwrite($escreve, 'exten => _' . $dados['org_id'] . $dados['nome'] . ',n,GoSub(macro-dial-interno,s,1,(${EXTEN},,,${CONTEXT},${EXTEN}))' . "\n"); fwrite($escreve, 'exten => _' . $dados['org_id'] . $dados['nome'] . ',n,Hangup()' . "\n"); fwrite($escreve, 'exten => _' . $dados['org_id'] . $dados['nome'] . ',n(externa),AGI(pbx_complemento.php,ext-ramais)' . "\n"); - fwrite($escreve, 'exten => _' . $dados['org_id'] . $dados['nome'] . ',n,GoSub(macro-dial-externo,s,1,(${EXTEN}))' . "\n"); + fwrite($escreve, 'exten => _' . $dados['org_id'] . $dados['nome'] . ',n,GoSub(macro-dial-externo,s,1,(${EXTEN},,,${CONTEXT},${EXTEN}))' . "\n"); fwrite($escreve, 'exten => _' . $dados['org_id'] . $dados['nome'] . ',n,Hangup()' . "\n"); fwrite($escreveHint, 'exten => ' . $dados['org_id'] . $dados['nome'] . ',hint,' . $dados['dispositivo'] . "\n"); diff --git a/asterisk/etc_asterisk/extensions_facilidades.conf b/asterisk/etc_asterisk/extensions_facilidades.conf index 6186d563..fcc5b236 100644 --- a/asterisk/etc_asterisk/extensions_facilidades.conf +++ b/asterisk/etc_asterisk/extensions_facilidades.conf @@ -365,5 +365,5 @@ exten => *41,n,AGI(facilidades.php) exten => *41,n,Playback(beep&beep&de-activated) exten => *41,n,Hangup() [app-conferencia-dinamica] -exten => *99,1,Gosub(inicia-conferencia,s,1,()) +exten => *99,1,Gosub(macro-inicia-conferencia,s,1,()) exten => *99,n,Hangup() \ No newline at end of file diff --git a/asterisk/etc_asterisk/extensions_padrao.conf b/asterisk/etc_asterisk/extensions_padrao.conf index 9acaae83..22f12675 100644 --- a/asterisk/etc_asterisk/extensions_padrao.conf +++ b/asterisk/etc_asterisk/extensions_padrao.conf @@ -340,7 +340,7 @@ exten => s,n,ExecIf($["${CDR(direcao)}" != "E" && "${ISNULL(${CDR(ramal_origem)} exten => s,n,GoSub(macro-verifica-rota,s,1,(${CALLERID(NUM)},${EXTENDESTINO})) 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,ExecIf($["${DIALPLAN_EXISTS(rota-${ID_ROTA},${EXTENDESTINO},1)}" = "1"]?Gosub(rota-${ID_ROTA},s,1,(${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() exten => s,n,Hangup() @@ -357,7 +357,7 @@ exten => s,n,Return() exten => s,n(invalido),Playback(invalid) exten => s,n,Return() -exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN})) +exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN})) [app-consulta] exten => _X.,1,ExecIf($["${ISNULL(${MATRICULA-ORIGEM})}" = "0"]?Set(MATRICULA-ORIGEM=)) @@ -454,14 +454,14 @@ exten => _X.,n,ChannelRedirect(${CHANNEL},app-estaciona,${EXTEN:0:4},1) ;exten => _X.,n(sair),System(${ATUALIZAR} LIVRE ${MATRICULA}) exten => _X.,n(sair),Hangup() -exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN})) +exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN})) [app-estaciona] exten => _X.,1,ResetCDR(w) exten => _X.,n,ParkedCall(,${DB(ESTACIONA/${EXTEN})}) exten => _X.,n,Hangup() -exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN})) +exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN})) [app-conferencia] exten => _X.,1,NoCDR() @@ -673,7 +673,7 @@ exten => _X.,7(silencio),AGI(pbx_complemento.php,ext-voicemail) exten => _X.,8,Voicemail(${DB(VM/${EXTEN})}@default,s) exten => _X.,9,Hangup() -exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN})) +exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN})) [disa] include => disa_custom @@ -745,7 +745,7 @@ exten => _X.,n,Hangup() ;exten => h,n(limpa),DBdeltree(AGUARDANDO/${DEST}) ;exten => h,n,DBdeltree(POSICAO/${DEST}) ;;exten => h,n,Goto(macro-dial-interno,h,1) -exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN})) +exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN})) ;Controle das ligacoes recebidas pelos agentes quando logados [app-dial-agente] @@ -758,7 +758,7 @@ exten => _X.,n,Noop(matricula = ${MATRICULA-DESTINO}, fila = ${FILA-DESTINO}, di ;exten => _X.,n,AGI(info_agente.php,DIAL_AGENTE,${MATRICULA-DESTINO},${UNIQUEID}) ;exten => _X.,n,Set(INICIO_DIAL=$[${EPOCH}]) ;exten => _X.,n,Set(__DIRECAO=${DIRECAO}) -;exten => _X.,n,Dial(Agent/${EXTEN},,gtM(macro-eventos-conecta-agente,${FILA},${UNIQUEID},${MATRICULA},${INICIO_DIAL},${CHANNEL})) +;exten => _X.,n,Dial(Agent/${EXTEN},,gtU(macro-eventos-conecta-agente,s,1,(${FILA},${UNIQUEID},${MATRICULA},${INICIO_DIAL},${CHANNEL}))) exten => _X.,n,QueueLog(${FILA-DESTINO},${UNIQUEID},Agent/${MATRICULA-DESTINO},CHAMANDO,ENTRADA,${TIPO},${CALLERID(NUM)}) exten => _X.,n,Set(TRANSFERENCIA=${IF($[ "${TIPO}" = "INTERNA" ]? TK:)}) @@ -1106,14 +1106,16 @@ exten => s,n,Set(EVENTO=$[COMPLETACALLER]) exten => s,n(sair),Return() ;exten => s,n(sair),Hangup() -;exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN})) +;exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN})) [macro-dial-externo] ;ARG1 -> Recebe o numero do ramal (geralmente a variavel ${CALLERID(NUM)} ;TEMPODERING -> Variavel definida no contexto globals ;OPCOESDIAL -> Variavel definida no contexto globals +;CONTEXT - MACRO_CONTEXT +;EXTEN - MACRO_EXTEN ;exten => s,1,SIPAddHeader(Alert-Info:Bellcore-r1) -exten => s,1,Set(_PICKUPMARK=${MACRO_EXTEN}) +exten => s,1,Set(_PICKUPMARK=${ARG5}) 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) @@ -1217,7 +1219,7 @@ exten => s,n,GotoIf($["F${DB(VM/${ARG1})}" != "F"]?ext-voicemail,${ARG1},ausente exten => s,n,Playback(appsounds/ocupado) exten => s,n,Return() -exten => h,1,GoSub(macro-hangup,s,1,(${CONTEXT},${EXTEN})) +exten => h,1,GoSub(macro-hangup,s,1,(,${CONTEXT},${EXTEN})) [macro-hangup] exten => s,1,Set(FIM_DIAL=${IF($[ "X${FIM_DIAL}" = "X" ]?${EPOCH}:${FIM_DIAL})}) @@ -1384,7 +1386,7 @@ exten => s,n,Hangup() exten => s,n(aplicacao),GoSub(macro-gravacao,s,1,(OUT,${CALLERID(NUM)})) exten => s,n,Set(DB(ATUALIZA/${MATRICULA})=V) exten => s,n,Set(DB(DISCAGEM/${MATRICULA})=MANUAL) -exten => s,n,Dial(${ARG1},20,${ARG2}M(macro-info-agente,s,1,(APLICACAO,${MATRICULA}))) +exten => s,n,Dial(${ARG1},20,${ARG2}U(macro-info-agente,s,1,(APLICACAO,${MATRICULA}))) exten => s,n,Goto(aplicacao-${DIALSTATUS}) exten => s,n,Return() exten => s,n(aplicacao-BUSY),System(${ATUALIZAR} LIVRE ${MATRICULA}) diff --git a/asterisk/etc_asterisk/extensions_padrao_customizado.conf b/asterisk/etc_asterisk/extensions_padrao_customizado.conf index 77ab0a72..28298f6a 100644 --- a/asterisk/etc_asterisk/extensions_padrao_customizado.conf +++ b/asterisk/etc_asterisk/extensions_padrao_customizado.conf @@ -3,7 +3,7 @@ exten => **,1,Hangup() exten => _X.,1(pbx),ResetCDR() exten => _X.,n,Noop(CONSULTANDO = ${CONSULTANDO} - MATRICULA = ${MATRICULA} - MATRICULA-ORIGEM = ${MATRICULA-ORIGEM} - MATRICULA-DESTINO = ${MATRICULA-DESTINO}) -exten => _X.,n,ExecIf($["${CONSULTANDO}" = "SIM" && "X${MATRICULA-ORIGEM}" = "X"]?Gosub(macro-hangup,s,1,())) +exten => _X.,n,ExecIf($["${CONSULTANDO}" = "SIM" && "X${MATRICULA-ORIGEM}" = "X"]?Gosub(macro-hangup,s,1,(,${CONTEXT},${EXTEN}))) exten => _X.,n,Set(CHANNEL(accountcode)=${IDORIGEM}) exten => _X.,n,Set(TIPO="") exten => _X.,n,Set(CALLCENTER="") @@ -23,7 +23,7 @@ exten => _X.,n,Set(__TRANSFER=${IDORIGEM}) ;exten => _X.,n,Set(__MATRICULA-DESTINO=${MATRICULA-DESTINO}) ;exten => _X.,n,Set(__FILA-DESTINO=${FILA-DESTINO}) exten => _X.,n,Gosub(macro-importa-variaveis,s,1,(${TCHANNEL})) -exten => _X.,n,Dial(Local/${EXTEN}@padrao/n,,gHM(macro-tarifa-transferencia,${IDORIGEM},${UNIQUEID},${EXTEN},${CALLERID(NUM)})) +exten => _X.,n,Dial(Local/${EXTEN}@padrao/n,,gHU(macro-tarifa-transferencia,s,1(${IDORIGEM},${UNIQUEID},${EXTEN},${CALLERID(NUM)}))) exten => _X.,n,Noop(Acabou a transferencia - idorigem = ${IDORIGEM}) exten => _X.,n,Hangup()