O que é?

O presente documento contém as principais ações necessárias para efetuar a atualização da interface web do PABXFLEX.

Valide demais procedimentos após finalizar este!

Passo 1:

  • Efetuar o backup geral do servidor
tar -czvf /opt/client/backup/atualizacao-pabx-itflex.tar.gz /etc/ /usr/lib/asterisk/ /var/lib/asterisk/ /usr/sbin/*asterisk* /etc/init.d/asterisk /usr/lib/itflex-asterisk/

Passo 2

Importante validar com o cliente a Janela de parada. Aproveitar a janela para atualizar o sistema operacional.

  • Rodar o comando de update
sudo yum update

Passo 3

  • Para ambiente sem cluster:
sudo systemctl enable webmin
sudo systemctl restart webmin
  • Para ambiente em cluster:
sudo systemctl restart webmin

Não de reload nos arquivos até finalizar o procedimento.

Passo 4

Neste passo vamos ajustar em alguns módulos os arquivos de configuração para o novo padrão.

A seguir serão apresentados os módulos que precisarão ser corrigidos:

Avançadas

Lembre se de migrar demais contextos personalizados do cliente.

O principal arquivo onde as configurações estão presentes é o DIALPLAN localizado em Configurações → Avançadas → DIALPLAN . Antes de iniciar a migração dos contextos, realize os seguintes passos:

  • Limpar as regras que estiverem comentadas.

  • Copiar os dados do discagem-ramais para o caminho: Configurações → Regras Personalizadas → Entrada Por Número

  • Copiar os dados do ramais-internos para o caminho: Configurações → Regras Personalizadas → Discagem de Ramais Internos

  • Copiar os dados do ramais-monitoramento para o caminho: Configurações → Regras Personalizadas → Discagem de Ramais Internos

  • Copiar os dados do ramais-porteiro para o caminho: Configurações → Regras Personalizadas → Entrada das Portarias

  • Copiar os dados do discagem-click2dial para o caminho: Configurações → Regras Personalizadas → Discagem via Click To Dial

  • Copiar os dados do discagem-feriado para o caminho: Configurações → Regras Personalizadas → Entrada de Feriados

  • Colocar os contextos de entrada(Entrada-voip, entrada-vivo, discagem-ddr-e1, etc….) de operadoras no caminho: Configurações → Troncos → ENTRADA

  • Após colar os contextos de de Regras Personalizadas, é preciso executar o comando ctrl+f e pesquisar se existem includes repetidos, caso haja é nesserário remover os repetidos.


Contextos e includes que devem ser apagados:

  • Contextos

    • [queue-member-norecord],
    • [conferencia],
    • [discagem-pstn],
    • [ramais-externos],
    • [discagem-filas],
    • [entrada-itflex].

  • Includes
#include "extensions.default"; Contextos default e guest
#include "extensions.routing"; Roteamento de chamadas de saída
#include /etc/asterisk/internal.hints; Hints para Ramais Internos
#include "extensions.hints"; Hints Ramais SIP quando usado Telefone com BLF
#include "extensions.custom"; Menu de atendimento gerenciado pelo cliente
ctvoicerAMI=2020-01-01 12:00:00; Variável de integração com o CTVoicer Clarity

Sempre após salvar o arquivo Configurações → Avançadas → DIALPLAN é importante clicar em Configurações → Avançadas → Validar Sintaxe em DIALPLAN, essa ação tem o objetivo efetuar o reload das configurações

A partir dos erros do logs será possível verificar quais contextos estão repetidos e corrigí-los.


Copie o include de libs personalizadas antes de apagar.

  • Acessar via ssh o arquivo /etc/asterisk/extensions.ael e recortar os dados após o include #include "/usr/lib/itflex-asterisk/ael/default.ael" e salvar o arquivo.
// Uso exclusivo da iTFLEX Tecnologia - Software Livre, Redes, Segurança e Telefonia IP
// http://www.itflex.com.br - +55 (47) 3029-3388 - Joinville/SC - Brasil

// Bibliotecas do Plano de Discagem do PABXFLEX, essencial para o funcionamento!
#include "/usr/lib/itflex-asterisk/ael/default.ael"
  • Adicionar os includes de ura dentro do Configurações → Avançadas → URAs

Exemplo:

#include "/etc/asterisk/ael/ura.ael"

Realizar o reload da configurações em Configurações → Avançadas → Validar Sintaxe em AEL, e verificar se ocorreram logs de erro.


Regras Personalizadas

Entrada Por Número

  • Acessar o arquivo Configurações → Avançadas → DIALPLAN , recortar as extensões e entradas (discagem-ramais e discagem-ddr-e1) que estão diferentes do arquivo padrão /usr/share/itflex-asterisk/etc/asterisk/extensions.conf.

Realizar o reload da configurações em Configurações → Avançadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

  • Acessar o arquivo Configurações → Regras Personalizadas → Entrada Personalizada Por Número, colar as extensões e entradas dentro do contexto discagem-ramais e salvar o arquivo.
; Definição de regras especificas personalizadas ao cliente!
; Edite somente se souber o que está fazendo, risco de parar a ENTRADA DE LIGAÇÕES

[discagem-ramais]
include => dial-ramais ; Biblioteca de discagem para os Ramais

Realizar o reload da configurações em Configurações → Regras Personalizadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

Entrada das Portarias

  • Acessar o arquivo Configurações → Avançadas → DIALPLAN , recortar as extensões e entradas (ramais-gateway e ramais-porteiro) que estão diferentes do arquivo padrão /usr/share/itflex-asterisk/etc/asterisk/extensions.conf e salvar o arquivo.
[ramais-gateway]
include => ramais-porteiro
[ramais-porteiro]
; Entrada de Ligações das Portarias
exten => _ZX,1,NoOp("Bilhete<->Tipo:Interna,Origem:${CALLERID(num)},Destino:${EXTEN},Canal:${CHANNEL},ID:${UNIQUEID}")
same => n,Set(CDR(userfield)=PORTARIAS)
same => n,Gosub(check-originate-id,~~s~~,1)
same => n,Gosub(check-monitor,~~s~~,1(${CALLERID(num)},${EXTEN}))
same => n,Gosub(api-portaria-send-event,s,1) ; Se ativar está Macro, adicione botões: "Configuração do PABXFLEX --> API Portaria - Definição do Sistema de Portaria ..."
same => n,Set(__API_QUEUE_NAME=DESATIVADO)
same => n,Set(QUEUE_OPTS=mt)
same => n,Set(QUEUE_TIMEOUT=300)
same => n,Ringing()
same => n,Wait(1)
same => n,Gosub(dial-exten,${EXTEN},1)	; Necessário existir include do queues.ael dentro do arquivo extension.ael
same => n,Busy(5)
same => n,Hangup()

Realizar o reload da configurações em Configurações → Avançadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

  • Acessar o arquivo Configurações → Regras Personalizadas → Entrada das Portarias, colar as extensões e entradas dentro do contexto ramais-gateway e ramais-porteiros respectivamente e salvar o arquivo.
; Entrada de Ligações das Portarias

[ramais-porteiro]
include => ramais-porteiro-dfl

[ramais-gateway]
include => ramais-porteiro-dfl

Realizar o reload da configurações em Configurações → Regras Personalizadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

Discagem de Ramais Internos

  • Acessar o arquivo Configurações → Avançadas → DIALPLAN , recortar as extensões e entradas (ramais-internos) que estão diferentes do arquivo padrão /usr/share/itflex-asterisk/etc/asterisk/extensions.conf e salvar o arquivo.
[ramais-internos]
include => comandos
include => conferencia
include => VOIP-ITFLEX
exten => _${DDR},1,Set(CDR(userfield)=INTERNO)
same => n,Set(__TRANSFER_CONTEXT=${CONTEXT})
same => n,Gosub(check-originate-id,~~s~~,1)
same => n,Goto(discagem-ramais,${EXTEN},1)
exten => _${DDR}[1-3],1,Gosub(get-pbxuserinfo,~~s~~,1(${EXTEN:0:-1},telefone${EXTEN:-1}))
same => n,Gosub(check-originate-id,~~s~~,1)
same => n,Gotoif($[ "${USERINFOVALUE}" != "" ]?${USERINFOVALUE},1)

Realizar o reload da configurações em Configurações → Avançadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

  • Acessar o arquivo Configurações → Regras Personalizadas → Discagem de Ramais Internos, colar as extensões e entradas dentro do contexto ramais-internos e salvar o arquivo.
[ramais-internos]
include => from-internal

Realizar o reload da configurações em Configurações → Regras Personalizadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

Entrada de Feriados

  • Acessar o arquivo Configurações → Avançadas → DIALPLAN e verificar se existem regras de feriados, recortá-las e salvar o arquivo.

Realizar o reload da configurações em Configurações → Avançadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

  • Acessar o arquivo Configurações → Regras Personalizadas → Entrada de Feriados, colar o contexto e salvar o arquivo.
; Regra de Entrada para Feriados
; ==============================

[discagem-feriado]
exten => s,1,Set(CDR(userfield=ENTRADA-FERIADO))
same => n,Playback(ola-informamos-que-hoje-nao-temos-atendimento-ligar-proximo-dia-util)
same => n,Busy(5)
same => n,Hangup()

Realizar o reload da configurações em Configurações → Regras Personalizadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

Discagem via Click To Dial

  • Acessar o arquivo Configurações → Avançadas → DIALPLAN e verificar se existem regras de Discagem Click To Dial, recortá-las e salvar o arquivo.

Realizar o reload da configurações em Configurações → Avançadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.

  • Acessar o arquivo Configurações → Regras Personalizadas → Discagem via Click To Dial, colar o contexto e salvar o arquivo.
; Regras de Entrada e Discagem via Click To Dial

[discagem-click2dial]
exten => ura-exemplo,1,Noop([click2dial] src iniciado)
same => n,Goto(${EXTEN},s,1)
exten => _0X.,1,Goto(discagem-click2dial,${EXTEN:1},1)
exten => _ZX.,1,Noop([click2dial] dst iniciado)
same => n,Goto(discagem-pstn,${EXTEN},1)

Realizar o reload da configurações em Configurações → Regras Personalizadas → Validar Sintaxe em DIALPLAN, e verificar se ocorreram logs de erro.