Child pages
  • FREEPBX - Connector API Cloud Services
Skip to end of metadata
Go to start of metadata

As APIs da Opens fornecem um conjunto de recursos que podem ser incrementados utilizando um módulo local que conecta seu PBX baseado em Asterisk (SNEP, FreePBX, Elastix e outros) com os serviços da Cloud Opens.

Cases

Com nossas APIs em seu Asterisk você pode fazer várias integrações:

 

Pre-requisitos

Para utilizar estes recursos locais você precisará ter acesso de root na máquina rodando seu Asterisk além de:

  • Linux com kernel 64bits versão 3.10+
  • Asterisk 12+ 
  • Token Opens Cloud (verifique no seu cadastro com a Opens para ter acesso à seu token)

Configurações em seu Asterisk - FREEPBX

Você precisa incluir a rede privada da Aplicação na configuração do usuário snep (usuário padrão da aplicação) ou outro que você esteja usando no Asterisk Manager Interface (AMI). Para isso altere seu arquivo /etc/asterisk/manager.conf na sessão do usuário utilizado incluindo:

[snep]
secret = sneppass
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
permit=172.17.0.0/255.255.0.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
writetimeout = 5000

Dê um reload no módulo manager:

asterisk -rx "module reload manager"

 

Você também deve liberar acesso a Asterisk Rest Interface (ARI) do seu Asterisk. Basta editar dois arquivos (Manualmente ou pela interface do FreePBX).

O primeiro é o /etc/asterisk/ari_general_custom.conf

enabled=yes
pretty=no
websocket_write_timeout=100
allowed_origins=*


O segundo é /etc/asterisk/ari_additional_custom.conf e você deverá adicionar as linhas abaixo :

[snepari]
type = user        ; Specifies user configuration
read_only = no     ; When set to yes, user is only authorized for
;                   ; read-only requests.
;
password = sneppass        ; Crypted or plaintext password (see password_format).
;
; password_format may be set to plain (the default) or crypt. When set to crypt,
; crypt(3) is used to validate the password. A crypted password can be generated
; using mkpasswd -m sha-512.
;
; When set to plain, the password is in plaintext.
;
password_format = plain


Dê um reload no módulo res_ari.so:

asterisk -rx "module reload res_ari.so"


Desativando/Alterando portas de aplicações que causam conflitos com o Q-Manager

O FREEPBX possuí um serviço chamado "letschat" que roda na porta 5000, a mesma utilizada pelo Q-Manager.

Para que o Q-Manager possa ser executado, o serviço "letschat" deverá ser desativado ou sua porta de execução deve ser alterada.  

Para desativar o serviço, basta executar o comando abaixo:

fwconsole pm2 --delete=xmpp


 Para alterar sua porta de execução, basta alterar o parâmetro "port" dentro do arquivo /var/www/html/admin/modules/xmpp/node/node_modules/lets-chat/settings.yml :

#
# Let's Chat Settings
#
# See defaults.yml for all available options
#
env: development # development / production
http:
  enable: true
  host: 0.0.0.0
  port: 5010
https:
  enable: false
  port: 5011
  key: key.pem
  cert: certificate.pem

 


Aplique a configuração executando o comando abaixo:
 

 

fwconsole pm2 --restart=xmpp


Instalação

 

Agora, com o ambiente preparado, para instalar o módulo execute em seu terminal linux como usuário root: 

 

tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
gpgkey=https://yum.dockerproject.org/gpg
EOF

yum install -y docker-engine ; service docker start
wget -qO inst.sh http://ocl.opens.com.br/docker/install.sh && chmod +x inst.sh && ./inst.sh


Configurando seu TOKEN

Após a instalação e primeira coisa à fazer é inserir seu TOKEN para iniciar o usa da Aplicação.

Para isso basta acessar o IP de seu Asterisk via Browser na Porta 8080:

http://YOUR_IP:8080

Erros Comuns

  • Erro depois que a máquina foi reiniciada

É comum quando a maquina reiniciar os containers não subirem automaticamente, ocasionando falha nos serviços vinculados ao itc-conector. Recomendamos adicionar os containers na inicialização da máquina. 

Basta adicionar as linhas abaixo (na mesma ordem citada) dentro do arquivo /etc/rc.local : 

docker start mongo
docker start redis
docker start itc-conector
docker start q-manager
docker start watchtower

exit 0


Para subir os containers, você também pode executar essas linhas diretamente no shell da maquina.