# Instalando o Q-Manager
ATENÇÃO
Para utilizar estes recursos locais você precisará ter acesso de root na máquina onde está rodando seu Asterisk além de:
- Linux com kernel 64bits versão 3.10+
- SNEP 3
- Token Opens Cloud (verifique seu cadastro com a Opens para ter acesso à seu token)
# Instalação
Efetuar a instalação da seguinte maneira:
IMPORTANTE: Esse script é utilizado para ambientes com o Debian Jessie. Para outras distribuições instale o docker e o docker compose seguindo este link (opens new window)
- Execute o comando abaixo no seu terminal com o usuário root. Este script instalar o docker, docker-compose e toda as imagens necessárias para o Q-Manager.
bash <(curl -sSL https://dl.opens.com.br/scripts/qm/get-qm.sh) qmanager
# Configurações em seu Asterisk
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
2
3
4
5
6
7
8
Exexute um reload no módulo manager do Asterisk:
asterisk -rx "module reload manager"
IMPORTANTE: Você também deve liberar acesso a Asterisk Rest Interface (ARI) do seu Asterisk. Basta editar o arquivo /etc/asterisk/ari.conf.
Observação: Caso você esteja usando SNEP, essa configuração não é necessária. Você pode pular e ir para o próximo passo.
[general]
enabled = yes ; When set to no, ARI support is disabled.
;pretty = no ; When set to yes, responses from ARI are
; ; formatted to be human readable.
;allowed_origins = ; Comma separated list of allowed origins, for
; ; Cross-Origin Resource Sharing. May be set to * to
; ; allow all origins.
;auth_realm = ; Realm to use for authentication. Defaults to Asterisk
; ; REST Interface.
;
; Default write timeout to set on websockets. This value may need to be adjusted
; for connections where Asterisk must write a substantial amount of data and the
; receiving clients are slow to process the received information. Value is in
; milliseconds; default is 100 ms.
;websocket_write_timeout = 100
[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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Dê um reload no módulo res_ari.so:
asterisk -rx "module reload res_ari.so"
# 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

# Instalação do pacote snep-q-manager
Para instalar o snep-q-manager execute em seu terminal linux como usuário root:
echo -en 'deb http://pacotes.snep.com.br jessie opens\n' >> /etc/apt/sources.list ; apt-get update && apt-get install snep-q-manager
Esse comando irá adicionar o repositório do SNEP em seu APT e logo após irá instalar o pacote snep-q-manager
Após o pacote ser instalado, deverá aparecer um diretório chamado snep-q-manager em /var/www/html/snep/modules/ e consequentemente também na interface gráfica.
# Atualização
Para atualizar o Q-Manager em ambientes que possuem o docker-compose deverá efetuar os seguintes comandos:
cd /opt/opens/qmanager
# atualizando as imagens dos containers itc e qmanager
docker-compose pull
# parando a execução do q-manager
docker-compose down
# iniciando o qmanager
docker-compose up -d
2
3
4
5
6
7
8
9
10
# 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
2
3
4
5
6
7
Para subir os containers, você também pode executar essas linhas diretamente no shell da maquina.
- Webclient não efetua Login
Esse problema ocorre quando o navegador não está permitindo que o Webclient execute suas funções. Nesse caso basta colocar a permissão no navegador como "permitir sempre" para a pagina do Client.
Segue print de exemplo com as configurações de permissão:

- Utilizando SNEP, a primeira ligação em um operador toca normalmente porem as próximas não tocam mais
Isso acontece com o porque o Realtime do Asterisk está ativado e os ramais estão com o "call-limit" vazio. Segue abaixo a solução:
- Via shell em seu SNEP, execute o script : disable_realtime.sh
Esse script desabilitará o Realtime em seu Asterisk - Execute o comando:
asterisk -rx "module reload extconfig"
- Depois, você deverá ir na interface do SNEP, no cadastro de ramais e colocar o limite de chamadas simultâneas em todos os ramais. O minimo deverá ser "1"
- Erro ao efetuar login de agente por telefone: nenhuma regra válida
Ao tentar efetuar o login por telefone, o Asterisk requisição para regra de negócio como se fosse uma chamada, e ocorre o erro de nenhuma regra válida.
- SOLUÇÃO:
Verificar os includes nos arquivos:
vim /etc/asterisk/custom/preagi.conf #include snep/snep-q-manager.conf1
2
3
O INCLUDE DEVE FICAR ACIMA DE QUALQUER CONTEXTO*****
- Após:
vim /etc/asterisk/extensions.conf
#include snep/snep-features.conf
#include custom/preagi.conf
2
3
4
OS DOIS INCLUDES DEVEM FICAR DENTRO DO CONTEXTO DEFAULT******
Caso tenha realizado alguma alteração nos arquivos, faça um dialplan reload no console do Asterisk.
- Problema para conectar na ARI/AMI
Poderá ser vários erros:
- Faltando o arquivo etc/asterisk/http.conf
- Não está configurado corretamente
- Restart serviço docker
- Restart do asterisk
