Aprenda a criar Backups no seu FreePBX

Olá sejam muito bem-vindos a mais uma documentação para ajudar a comunidade, antes de qualquer coisa não deixe de contribuir, nos acione e envie material para que possamos fazer deste site um grande repositório de informações para todos.

Este material te auxilia a fazer o passo a passo para criação do backup no seu FreePBX, vamos lá!

Faça o login na interface web do FreePBX visitando o endereço IP do seu PBX.

Navegue em Admin -> Backup e Restauração


Clique em Backups e depois em New Backup


Escolha um "nome" e uma "descrição" para o backup e insira um "endereço de e-mail" que será notificado quando o backup for executado. Para fazer backup de tudo em seu servidor, incluindo correios de voz, gravações, arquivos de configuração, etc., você deverá clicar e arrastar os seguintes Modelos para a seção Itens de backup:

  1. Backup Completo
  2. CDRs
  3. Sistema de áudio
  4. Correio de voz

Observe que isso NÃO incluirá gravações de chamadas, o que pode tornar seu backup muito grande. No entanto, se você precisar deles incluídos no seu backup, você pode clicar no "+" (mais) na parte inferior da lista "Itens" e adicionar um diretório com o caminho "__ASTSPOOLDIR __/monitor" (sem as aspas).

Em Storage Locations, arraste “Local Storage (local)” para a coluna Storage Servers (Opcional) Se você deseja executar o backup automaticamente em uma base regular, escolha a frequência que deseja que o servidor faça backup. Se você estiver configurando backups automáticos, é altamente recomendável definir um tempo ou quantidade "Excluir após", caso contrário, os backups antigos nunca serão removidos e você poderá ficar sem espaço em disco.


Acima em -Hooks são scripts que podem ser definidos para interagir antes e depois do backup.

Clique em Salvar.


Para executar o backup agora, vá até o fundo novamente e clique em "e executar"

Após isso você já pode contar com uma rotina de backup automatica, configurando da forma que melhor lhe atender! É possível conferir a listas de backups, os mesmos ficam salvos no caminho: /var/spool/asterisk/backup no linux.

Espero que essa documentação possa lhe auxiliar, encerramos por aqui, até a proxima!


     

Tronco entre duas Centrais (FreePBX 14 x Issabel)



Olá sejam muito bem-vindos a mais uma documentação para auxiliar a comunidade não só freepbx, mas também Issabel, este que usa o freepbx(2.11) não muda muita coisa, somente a interface web, mas o coração é do nosso guerreiro, bom vamos lá. Este trata a interligação de um Freepbx com um Issabel usando tronco IAX2, o mesmo server para uma comunicação entre sites, se necessário. Vamos por a mão na massa!

Antes de seguir não deixe de compartilhar os conteúdos do nosso site e contribuir com o mesmo, assim conseguimos ainda mais ajudar a comunidade.


Laboratório (Freepbx)

  • Virtualbox 6.0;
  • CentOS 7;
  • HD 10GB;
  • Memoria: 1024 MB;
  • Freepbx 14.

Laboratório (Issabel)

  • PROXMOX 5.3;
  • CentOS 7;
  • HD 40GB;
  • Memoria: 1024 MB;
  • Issabel.

Observações: O HD do Issabel está um pouco maior por ser um servidor de laboratorio que já existia, mas não se preocupe com esse detalhe, se for o caso pode criar ambos do mesmo tamanho.

Configurações [FreePBX]

Crie um tronco do tipo IAX2 com as seguintes informações:

Trunk Name: Issabel
Trunk Name (Outgoing): Issabel
PEER Details:
username=freepbx
type=friend
trunk=yes
transfer=no
secret=AsteriskHelp
qualify=yes
host=IP_DO_SERVIDOR_ISSABEL
disallow=all
context=from-internal
allow=ulaw&alaw&gsm

Se caso tiver alguma duvida, suas configurações devem estar como a imagem abaixo:



Uma parte do trabalho foi feita que é criar o tronco, agora precisamos adicionar uma rota de saida para conseguir ligar para outra ponta, Issabel!

Nas rotas de saída crie uma rota com as seguintes informações abaixo:



Acima em Route Name coloque o nome da rota de saida, esta foi definida como "dial-issabel", em Trunk Sequence for Matched Routes, este você deve atribuir o tronco que foi criado, neste caso issabel.



Agora na guia "Dial Patterns" adicione a regra de discagem para conseguir ligar nos ramais da central ISSABEL, este que estão na range 3000 ao 3999, sendo assim será usado a mascara 3XXX.

Configurações [Issabel]

Crie um tronco do tipo IAX2 com as seguintes informações:

Trunk Name: freepbx
Trunk Name: freepbx
PEER Details:
username=issabel
type=friend
trunk=yes
transfer=no
secret=AsteriskHelp
qualify=yes
host=IP_DO_SERVIDOR_FREEPBX
disallow=all
context=from-internal
allow=ulaw&alaw&gsm

Se caso tiver alguma duvida, suas configurações devem estar como a imagem abaixo:


Agora vamos configurar uma rota de saída para para que seu server Issabel possa discar para os ramais do servidor FreePBX.



Assim como no tronco anterior, este foi adicionado a regra de discagem para conseguir ligar nos ramais da central FreePBX, este que estão na range 1000 ao 1999, sendo assim será usado a mascara 1XXX.

Agora que os troncos e rotas foram criadas, vamos checar o status da interligação em ambos os lados.

[root@asteriskhelp ~]# asterisk -vvvvvvvvcgi
asteriskhelp*CLI> iax2 show peers
Name/Username    Host                    Mask                                      Port           Status      Description                     
issabel/freepbx  192.168.1.95       (S)  255.255.255.255                           4569  (T)      OK (1 ms)             


[root@issabel~]# asterisk -vvvvvvvvcgi
issabel*CLI> iax2 show peers
Name/Username    Host                    Mask                                      Port           Status      Description                     
freepbx/issabel  192.168.1.38       (S)  255.255.255.255  4569 (T)                                OK (1 ms)             

Testes de ligações

  -- Called IAX2/freepbx/1000
    -- Call accepted by 192.168.1.38 (format ulaw)
    -- Format for call is (ulaw)
    -- IAX2/freepbx-16860 is ringing
    -- IAX2/freepbx-16860 is ringing
issabel*CLI> 

Called IAX2/issabel/3000
    -- Call accepted by 192.168.1.95:4569 (format ulaw)
    -- Format for call is (ulaw)
    -- IAX2/issabel-18020 is ringing
    -- IAX2/issabel-18020 is ringing
asteriskhelp*CLI> 

Os testes foram efetuados com sucesso, desta forma a comunicação entre os servidores esta estabelecida e testada, espero que esta documentação possa lhe auxiliar, não deixe de comentar e contribuir com o site da comunidade.


     

FreePBX - Transferencia de ligação customizada


Olá , sejam bem-vindos a mais uma documentação voltada para o ambiente asterisk e FreePBX, esta trata a transferência cega (Blind transfer) ou seja, você transfere a chamada para o ramal destino sem saber se ele quer ou não atender, essa demanda especifica surgiu e achei interessante compartilhar com a comunidade. Este processo será necessário algumas customizações nos arquivos conf do asterisk, nada de outro mundo, fiquem tranquilos. A inicio será alterado o contexto padrão da variável “${TRANSFER_CONTEXT}” esta que é acionada todas vezes que é executado uma transferência e logo a seguir dentro do contexto customizado será tratado a variável de canal “${BLINDTRANSFER}” usada na transferência cega, desta forma quando transferir a chamada ele aguardará o time especificado e logo a seguir devolve a chamada para a extensão que originou a transferência.

No terminal do linux vamos as alterações nos arquivos do asterisk, sempre sugiro que faça esse processo no seu ambiente de testes para não ter problemas com o sistema em produção.

A descrição do laboratório são de dois ambientes que um usando Debian 8(Raspberry Pi) e o outro CentOS6.

Laboratório 01:

  • Raspberry Pi;
  • Asterisk 11.21;
  • Debian 8.

Laboratório 02:

  • Servidor IBM;
  • Asterisk 11.21;
  • CentOS 6.
[root@asteriskhelp ~]# vim /etc/asterisk/globals_custom.conf

TRANSFER_CONTEXT = custom-test_transfer

Logo em seguida pressione a tecla [ESC], depois ":x!" para sair do arquivo salvando as alterações.
Obs. Sem as ASPAS!

A seguir será adicionado o contexto que vai tratar a transferência e devolve-la para o ramal que originou.

[root@asteriskhelp ~]# vim /etc/asterisk/extensions_custom.conf

[custom-test_transfer]
exten => _X.,1,NoOp(Entering custom-test_transfer)
exten => _X.,n,Set(timeoutd=25) ; Aqui adicione o tempo que deseja como timeout
exten => _X.,n,Set(extLeng=${LEN(${EXTEN})})
exten => _X.,n,NoOp(The extenlength is ${extLeng})
exten => _X.,n,Dial(Local/${EXTEN}@from-internal,${timeoutd})
exten => _X.,n,Set(CALLERID(name)=RB:${CALLERID(name)})
exten => _X.,n,Dial(Local/${BLINDTRANSFER:4:${extLeng}}@from-internal)
exten => _X.,n,Hangup()

Logo em seguida pressione a tecla [ESC], depois ":x!" para sair do arquivo salvando as alterações.

Agora será necessário executar um reload no asterisk para que ele reconheça o novo contexto criado, observe a seguir que serão rodados três comando, um para entrar no console do asterisk, outro para dar o reload nos contextos o ultimo para checar se o já existe e foi reconhecido pelo asterisk.

[root@asteriskhelp ~]# rasterisk -vvvvvvvcgi

asteriskhelp*CLI> dialplan reload
asteriskhelp*CLI> dialplan show custom-test_transfer

[ Context 'custom-test_transfer' created by 'pbx_config' ]
  '_X.' =>          1. NoOp(Entering custom-test_transfer)        [pbx_config]
                    2. Set(timeoutd=25)                           [pbx_config]
                    3. Set(extLeng=${LEN(${EXTEN})})              [pbx_config]
                    4. NoOp(The extenlength is ${extLeng})        [pbx_config]
                    5. Dial(Local/${EXTEN}@from-internal,${timeoutd}) [pbx_config]
                    6. Set(CALLERID(name)=RB:${CALLERID(name)})   [pbx_config]
                    7. Dial(Local/${BLINDTRANSFER:4:${extLeng}}@from-internal) [pbx_config]
                    8. Hangup()                                   [pbx_config]

-= 1 extension (8 priorities) in 1 context. =-

Agora que já alimentou os arquivos e o asterisk reconheceu o contexto, como mostra o resultado acima, já pode iniciar os testes. Lembrando que essa documentação foi homologada em ramais SIP que utilizam o modulo "chan_sip".

Espero que tenha auxiliado e até a próxima, abraços.