# Suporte

# Particularidades de Clientes

Relatando algumas coisas que funcionam somente em um cliente específico

# Sesa (10.243.39.50)

**Entroncamento novo do servidor físico:**

Tronco troncosipsesa4

- Foi feito um novo entroncamento da sesa, substituindo o anterior para ser entroncado diretamente na telefonia, sem passar por nenhum outro mediador.
- Este tronco se chama "troncosipsesa4"
- Por conta de um impedimento de typagem no campo de tech prefix, a tech foi configurada diretamente no código então poderá se perder caso haja algum reload de tronco em tela.

TECH PREFIX móvel: **50005\*031**

TECH PREFIX local: **50005\***

- use o comando "nano /etc/asterisk/extensions\_out.conf" para entrar no arquivo
- modifique os dois primeiros exten do contexto "\[sip-sesa4\]" com a tech móvel e os dois últimos com a tech local

O contexto deve ficar assim:

```
[snt-sesa4]
exten => _XXXXXXXX,1,Noop(S - Contexto: 9 - Organização: 1 - Desc: Sainte sesa 4)
same => n,Set(__EXTENPRC=${EXTEN})
same => n,Set(__ID_LINK=${CHANNEL(LINKEDID)})
same => n,Set(__ID_ORGANIZACAO=1)
same => n,Set(__TIPOCALL=S)
same => n,Set(CHANNEL(accountcode)=S::${EXTEN}::${CHANNEL(LINKEDID)}::1)
same => n,AGI(script.php,insCallSainte,${EXTEN},${CHANNEL(LINKEDID)},${CDR(uniqueid)},${CDR(src)},${CDR(dst)},1,${v_id_pc},${v_id_pe},${v_id_pessoa},${v_numero})
same => n(protocolo),Agi(script.php,insProtocolo,${EXTENPRC},${ID_LINK},${CDR(uniqueid)},S,${id_call},${ID_ORGANIZACAO},${ID_PC},${ID_TRONCO},${ID_WORKFLOW})
same => n,Set(__PROTOCOLO=${ret_protocolo})
same => n(blacklist),Agi(script.php,actBlacklistSainte,${EXTEN},${ID_LINK},${EXTEN},,,,,vblacklist,)
same => n,Gotoif($["${vblacklist}" = "1"]?encerrar)
same => n(discar),Noop(Sem conf de Bina: 62)
same => n,Set(__ID_PC=2)
same => n,Set(__ID_TRONCO=62)
same => n,Set(__TELEFONE=50005*${EXTEN})
same => n,Dial(SIP/50005*${EXTEN}@troncosipsesa4,45,tTkKU(gravacao))
same => n(encerrar),HangUp()

exten => _9XXXXXXXX,1,Noop(S - 9 - 1 - Sainte sesa 4)
same => n,Set(__EXTENPRC=${EXTEN})
same => n,Set(__ID_LINK=${CHANNEL(LINKEDID)})
same => n,Set(__ID_ORGANIZACAO=1)
same => n,Set(__TIPOCALL=S)
same => n,Set(CHANNEL(accountcode)=S::${EXTEN}::${CHANNEL(LINKEDID)}::1)
same => n,AGI(script.php,insCallSainte,${EXTEN},${CHANNEL(LINKEDID)},${CDR(uniqueid)},${CDR(src)},${CDR(dst)},1,${v_id_pc},${v_id_pe},${v_id_pessoa},${v_numero})
same => n(protocolo),Agi(script.php,insProtocolo,${EXTENPRC},${ID_LINK},${CDR(uniqueid)},S,${id_call},${ID_ORGANIZACAO},${ID_PC},${ID_TRONCO},${ID_WORKFLOW})
same => n,Set(__PROTOCOLO=${ret_protocolo})
same => n(blacklist),Agi(script.php,actBlacklistSainte,${EXTEN},${ID_LINK},${EXTEN},,,,,vblacklist,)
same => n,Gotoif($["${vblacklist}" = "1"]?encerrar)
same => n(discar),Noop(Sem conf de Bina: 62)
same => n,Set(__ID_PC=2)
same => n,Set(__ID_TRONCO=62)
same => n,Set(__TELEFONE=50005*${EXTEN})
same => n,Dial(SIP/50005*${EXTEN}@troncosipsesa4,45,tTkKU(gravacao))
same => n(encerrar),HangUp()

exten => _0ZZXXXXXXXX,1,Noop(S - 9 - 1 - Sainte sesa 4)
same => n,Set(__EXTENPRC=${EXTEN})
same => n,Set(__ID_LINK=${CHANNEL(LINKEDID)})
same => n,Set(__ID_ORGANIZACAO=1)
same => n,Set(__TIPOCALL=S)
same => n,Set(CHANNEL(accountcode)=S::${EXTEN:1}::${CHANNEL(LINKEDID)}::1)
same => n,AGI(script.php,insCallSainte,${EXTEN},${CHANNEL(LINKEDID)},${CDR(uniqueid)},${CDR(src)},${CDR(dst)},1,${v_id_pc},${v_id_pe},${v_id_pessoa},${v_numero})
same => n(protocolo),Agi(script.php,insProtocolo,${EXTENPRC},${ID_LINK},${CDR(uniqueid)},S,${id_call},${ID_ORGANIZACAO},${ID_PC},${ID_TRONCO},${ID_WORKFLOW})
same => n,Set(__PROTOCOLO=${ret_protocolo})
same => n(blacklist),Agi(script.php,actBlacklistSainte,${EXTEN},${ID_LINK},${EXTEN:1},,,,,vblacklist,)
same => n,Gotoif($["${vblacklist}" = "1"]?encerrar)
same => n(discar),Noop(Sem conf de Bina: 62)
same => n,Set(__ID_PC=2)
same => n,Set(__ID_TRONCO=62)
same => n,Set(__TELEFONE=50005*031${EXTEN:1})
same => n,Dial(SIP/50005*031${EXTEN:1}@troncosipsesa4,45,tTkKU(gravacao))
same => n(encerrar),HangUp()

exten => _0ZZ9XXXXXXXX,1,Noop(S - 9 - 1 - Sainte sesa 4)
same => n,Set(__EXTENPRC=${EXTEN})
same => n,Set(__ID_LINK=${CHANNEL(LINKEDID)})
same => n,Set(__ID_ORGANIZACAO=1)
same => n,Set(__TIPOCALL=S)
same => n,Set(CHANNEL(accountcode)=S::${EXTEN:1}::${CHANNEL(LINKEDID)}::1)
same => n,AGI(script.php,insCallSainte,${EXTEN},${CHANNEL(LINKEDID)},${CDR(uniqueid)},${CDR(src)},${CDR(dst)},1,${v_id_pc},${v_id_pe},${v_id_pessoa},${v_numero})
same =>n(protocolo),Agi(script.php,insProtocolo,${EXTENPRC},${ID_LINK},${CDR(uniqueid)},S,${id_call},${ID_ORGANIZACAO},${ID_PC},${ID_TRONCO},${ID_WORKFLOW})
same => n,Set(__PROTOCOLO=${ret_protocolo})
same => n(blacklist),Agi(script.php,actBlacklistSainte,${EXTEN},${ID_LINK},${EXTEN:1},,,,,vblacklist,)
same => n,Gotoif($["${vblacklist}" = "1"]?encerrar)
same => n(discar),Noop(Sem conf de Bina: 62)
same => n,Set(__ID_PC=2)
same => n,Set(__ID_TRONCO=62)
same => n,Set(__TELEFONE=50005*031${EXTEN:1})
same => n,Dial(SIP/50005*031${EXTEN:1}@troncosipsesa4,45,tTkKU(gravacao))
same => n(encerrar),HangUp()
```

# Comunica - URA CETURB que envia whats

O cliente Comunica possui uma ura chamada "Ceturb envia whats" na empresa Ceturb que está configurada para enviar uma mensagem de whatsapp para a pessoa que ligar para a entrante, quando a pessoa digitar a opção 1.

Da última vez houve uma intercorrência com essa ura, onde não estava sendo disparada a mensagem.

O script "/var/lib/asterisk/agi-bin/send\_whats.php" recebe as informações que o asterisk guardou sobre a ligação e consome a api "https://comunica.callon.com.br/api/mvtobe/26?numero={$number\_to\_send}&amp;texto={$texto\_enc}&amp;mensagem\_ativa=1" que envia de fato as mensagens.  
  
Podemos ver os logs e a resposta que a api manda indo no seguinte arquivo de log:

use o comando:  
`cat /var/www/html/siscrm/tmp/ura_ceturb.log `

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/3Xdimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/3Xdimage.png)

# Renovar Token Camilo do Santos

Renovar Token Camilo do Santos

Para renovar o token você acessa ssh da Camilo dos Santos e roda os seguintes comandos:

1° cd /var/www/html/siscrm/scripts/microsoft/

2° php index.php cotacao

3° copie o código que informa na linha que irá aparecer e clique no link que está na mesma linha

4° cole o código

5° Selecione a opção de cotação

6° rode o comando

7° Aperte Ctrl e C para começar novamente a inserir os códigos

8° Rode novamente

9° php index.php sac ( e faça como fez no mesmo antes)

10° Aperte novamente o CRTL C, coloca cd /var/www/html/siscrm/scripts/microsoft/

 e depois “./readmail.sh”

Dados para acessar os e-mails da Camilo:

sac@camilodossantos.com.br Senha: rod22Cam1402@

cotacao@camilodossantos.com.br Senha: rod22Cam1402@

**(Se for diferente, verificar com quem sabe e atualizar aqui)**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/h29image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/h29image.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/ZRVimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/ZRVimage.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/byPimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/byPimage.png)

**Configuração do certificado SSL servidor físico recurso técnico não homologado   
  
utilizar o comando: ./pluri\_vhssllocal.sh + IP servidor depois seguir o print abaixo**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/pxaimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/pxaimage.png)

# khomp e goip contil

##### Quando não estiver funcionando o número móvel na Contil, você deve validar a configuração do goip no servidor

##### Para isso, você deve seguir os seguintes passos

**1° passo: entrar no Tabby e criar um novo perfil de ssh**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/KDFimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/KDFimage.png)

**2° passo: selecionar "SSH connection"**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/nflimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/nflimage.png)

**3° passo: fazer a conexão ssh para o servidor 10.25.5.45 na porta 1077**

Você deve adicionar a key do suporte **suporte.ppk** para fazer a autenticação. Não esqueça de usar a vpn para fazer o túnel com o servidor.

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/DCKimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/DCKimage.png)

**4° passo: Fazer o redirecionamento de portas do goip e da khomp. Dessa forma, irá redirecionar para rodar localmente na sua máquina.**

Obs: No linux, não fazer o redirecionamento para as portas 1000, de preferência escolha as de porta 3000

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/qauimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/qauimage.png)

**5° passo: entre no goip usando o seguinte caminho: 127.0.0.1:3002**

O serviço está rodando no servidor externo redirecionado no servidor local da máquina, usando no caso, a porta 3002.

Você terá que usar um login e senha para desbloquear a página do goip. É padrão:

login: admin

senha: admin

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/M9Vimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/M9Vimage.png)

**6° passo: na página do goip, entre em "Configurations"**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/xbUimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/xbUimage.png)

**7° passo: Depois em "Basic VoIP"**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/Jjuimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/Jjuimage.png)

**8° passo: validar os parâmetros da conta**

# Permissão de enviar mensagem thema veículos

**As informações abaixo tem a ver com configuração do sistema, porém levando em conta as particularidades da thema, achei melhor documentar essa situação.**

A thema veiculos têm diversos papéis de cliente ligados à um supervisor de equipe, e também canais de chat ligados a esses supervisores.

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/0F9image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/0F9image.png)

Quando acontece essa situação, quer dizer que o usuário está em uma equipe vinculado a um papel de cliente que não está vinculado a nenhum bot em um canal de chat.

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/Upuimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/Upuimage.png)

Por exemplo, neste caso os operadores das equipes do Ramon Franco não conseguiam fazer ativos de chat pois o Bot do Ramon Franco não estava vinculado ao canal de chat dele.

# VPN da odonto company

**\*\*\*Foi feita uma configuração no servidor da odonto company em que foi fixado o ip na rede, porém se por algum motivo houver alguma inconsistência e o ip trocar, deve ser seguido o passos ao ir na empresa:**

**1° passo:** iniciar o servidor se ele não estiver rodando

**2° passo:** fazer o login

login: root

senha: 102030

**3° passo:** verificar o ip que está

`ip a`

**4° passo:** verificar o acesso local da máquina

**5° passo:** tentar subir a vpn com o comando a seguir

`/usr/sbin/openvpn --config /etc/openvpn/config/odontocompany_lw.ovpn --daemon`

**6° passo:** se não subir, verificar os serviços de vpn que estão com o nome "openvpn" com o comando a seguir

`ps aux | grep -e "openvpn"`

**7° passo:** matar os serviços duplicados e tentar subir novamente

`kill -9 (código da vpn)`

`/usr/sbin/openvpn --config /etc/openvpn/config/odontocompany_lw.ovpn --daemon`

Verifique se subiu:

`ip a`

**8° passo:** Se não subiu ainda, verifique a data

`date`

Se estiver muito diferente da data atual, modificar com esse comando

`timedatectl set-time "2026-03-02 10:36:00"`

(modifique de acordo com a data e hora atual)

**9° passo:** dê um restart na vpn com o seguinte comando na pasta root

`./scr_start.sh`

`ip a`

Verifique se subiu

obs: provavelmente só verificando essas questões, já irá voltar

# Paluma não está recebendo ligações (continuar)

Verifique se o tronco está OK usando os seguintes comandos  
  
`rasterisk`

Depois na CLI:

`sip show peers`

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/scaled-1680-/fRJimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/fRJimage.png)

Se não estiver Ok e estiver **unreachable,** realize os seguintes procedimentos:

`core reload`

e

`core restart now`

E verifique novamente.

Se não voltar, verifique se o servidor foi reiniciado recentemente com o comando:

`uptime`

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/scaled-1680-/bJGimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/bJGimage.png)

**Se foi reiniciado recentemente:**

- utilize os comandos:

 Para subir a rota:

 `route add -net 172.28.12.0/24 gw 10.82.77.118 dev eno2`

 Para reiniciar o serviço de rede:

 `systemctl restart networking.service`

 Para verificar se a rota subiu:

 `ip route list`

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/scaled-1680-/30Jimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/30Jimage.png)

# Configurações e detalhes do sistema

# Configuração de horário padrão das campanhas

Ao entrar em uma campanha e depois em "Horários", verificamos que as campanhas são definidas num horário padrão: de segunda a sexta, das 08:00 às 18:00.

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/image.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/z5Zimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/z5Zimage.png)

Pode ser feita a alteração dos horários daquela campanha, clicando na lupa de cada dia. Porém, só será alterado o horário daquela campanha, não de outras já criadas ou que ainda serão criadas.

Para fazer isso, podemos fazer da seguinte forma:

- Configurações -&gt; Módulos -&gt; Campanhas -&gt; Script Pós Insert (PHP) -&gt; Editar os horários e os dias padrões no final do código

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/wHXimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/wHXimage.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/ngNimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/ngNimage.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/nFQimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/nFQimage.png)

**ATENÇÃO!!! ISSO DEVE SER ALTERADO COM O MAIOR CUIDADO POSSÍVEL POIS É UMA ALTERAÇÃO SENSÍVEL DE CÓDIGO. SÓ ALTERAR OS VALORES E NADA ALÉM!!!**

**Obs: favor anotar esse tipo de alteração pois no momento em que ele está funcionando ao fazer esse tipo de alteração, quando o sistema for atualizado a alteração irá se perder!**

# Informação no description

O sistema adiciona informações dos usuários no description do ramal específico deles quando é configurado ramal no sistema. Informações como nome, papel de equipe, supervisor, nível, fila e etc. E ele valida essas informações no monitoramento da telefonia para o aparecimento de informações personalizadas como as pessoas na equipe e quem está adicionado na fila.

Entrando no arquivo que aparece essas configurações, que é: /etc/asterisk/sip.conf , podemos tirar um exemplo:

```
[503]
type=friend
host=dynamic
secret=pL@7rml34#sYs
dtmfmode=rfc2833
insecure=invite,port
nat=force_rport,comedia
context=santhmg
disallow=all
allow=alaw,ulaw,g729,opus,gsm
qualify=yes
deny=0.0.0.0/0.0.0.0
permit=0.0.0.0/0.0.0.0
canreinvite=no
trustrpid=no
sendrpid=no
username=503
call-limit=1
callgroup=1
pickupgroup=1
callerid="Matheus Lima" <503>
defaultusername=503
description=O:1:6:Matheus Lima:29:1:1:22:1:13:teste
```

Onde ele valida:

```
description=O:1:6:Matheus Lima:29:1:1:22:1:13:teste
```

description=\[tipo(**R ou 0**)\]:\[id da **organização**\]:\[id **papel de cliente do ramal**\]:\[**nome** **do usuário**\]:\[**id usuário**\]:\[**nível usuário**\]:\[id **papel de cliente da equipe**\]:\[id **equipe**\]:\[id **supervisor equipe**\]:\[id **fila**\]:\[**nome fila**\]

\*\*\* \[tipo\] -&gt; Quando o sistema define no ramal R ou 0, ele define se a flag "Operadores" está marcada no papel de equipe

- Se não estiver marcada, o ramal será definido como **R** e não adicionará os ramais na fila.
- Se estiver marcada, o ramal será definido com 0 e adicionará os ramais na fila.

obs: No tronco define de forma diferente no description

description=T:\[id da **organização**\]:\[id **papel de cliente do tronco**\]:::::::\[id do **tronco**\]:\[**quantidade de canais**\]

\*\*\*\[tipo\] -&gt; **T** de tronco

Se ao alterar, por exemplo, equipe do usuário, o usuário deverá ter o id da equipe no seu description. Se por alguma razão não tiver alterado, deverá ser dado o reload no ramal e verificar no sip.conf. Se mesmo assim não for, deve ser verificado se os reloads estão travados.

# Configuração KND na Pluri

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/rusimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/rusimage.png)

1º - Conferir se a rota no site do classificador de chamadas do Henrique está com a variável “CDC-INFO1” inserida no campo SIPHeaderAdd. Caso não esteja, inserir da mesma forma que está no print, ou na linha acima em aspas.  
  
2º - Conferir no menu de Configurações - Config se os 3 campos relacionados ao AMD estão preenchidos. O campo de horário de validação deve estar preenchido da forma de HH:MM, ou seja, horas e minutos. EX: 00:30.  
  
A identificação do AMD é uma variável que é possível informar dependendo de qual AMD o cliente utiliza. Atualmente, temos apenas o do Henrique, que para funcionar informamos a tag “KND”

 **A key(chave) de utilização da API é uma variável que depende de cada conta que é utilizada no Henrique. Nos clientes que utilizam o AMD contratado através da Pluri a chave é sempre a mesma da imagem, mas deixarei aqui também para colocarem em algum cliente de forma mais fácil. Chave “05a580eb-30f5-4f9b-b56a-e1559023ae53”**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/lxgimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/lxgimage.png)

(Verificar se ainda é válido a informação abaixo)

**Por fim, por enquanto, estamos precisando dar permissões gerais para que o arquivo possa funcionar da forma correta. Para dar essa permissão, é possível realizar ela através do seguinte comando no terminal do servidor:  
  
chmod 0777 /var/www/html/siscrm/scripts/amd.php  
  
E para rodar o script manualmente para validar o funcionamento do mesmo, você pode executar ele através do php -f /var/www/html/siscrm/scripts/amd.php**

# Verificações

# Verificar quem fez o hangup



# (servidores antigos) Verificar se os nodes estão rodando tanto no forever quanto no pm2

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/6hNimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/6hNimage.png)

Caso estejam, encerre todos os processos do forever, e reinicie os processos que rodam através do PM2.

# Verificação de logs

**Logs de importação:** `<span id="bkmrk-cd-%2Fvar%2Fwww%2Fhtml%2Fsis">cd /var/www/html/siscrm/tmp</span>`

Remover arquivos log

`cd /var/log/asterisk/`

`ls -ilh`

`rm -vf messages `

`rm -vf full `

`cd /var/log/postgresql/`

`ls -ilh`

`rm -vf postgresql-14-main.log.*`

`df -h`

`service postgresql restart`

`service apache2 restart`

**-&gt; elimina todos os processos referentes ao php**

`killall php`

`systemctl restart postgresql.service`

`ps aux | egrep -i "php"`

`service apache2 stop`

`service apache2 start`

`killall php`

`systemctl status php7.4-fpm.service`

##### **Excluir todos os arquivos mp3 de uma pasta**

`cd /var/lib/asterisk/sounds`

`ls`

`rm -vf *.mp3`

# Consultar coisas

**Consultar arquivos e diretórios**

`<strong>ls</strong>`

`<strong>ls -allh</strong>`

**Consultar load e serviços rodando no servidor:**

`htop`

**Consultar no CLI do asterisk**

- Para ir pro CLI do asterisk, dê o comando **`rasterisk`**

-&gt; Consultar ramais e troncos no SIP:

`<span id="bkmrk-sip-show-peers-1">sip show peers</span>`

-&gt; Consultar troncos registrados:

`<span id="bkmrk-sip-show-registry-1">sip show registry</span>`

-&gt; Consultar todas as filas:

`queue show`

-&gt; Consultar fila específica

`queue show [fila]`

-&gt; adicionar ramal na fila

`queue add member SIP/numerodoramal to nomedafila`

-&gt; remover ramal na fila

`queue remove member SIP/numerodoramal from nomedafila`

**Consultar chamadas SIP:**

-&gt; `sngrep`

- Teclando f7 você consegue filtrar os métodos de requisição SIP [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/4KXimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/4KXimage.png)

- teclando f3 você consegue filtrar pelo número que aparece na requisição:  
    [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/kOhimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/kOhimage.png)
- Ex de ligação no sngrep:  
    [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/cFjimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/cFjimage.png)
- **INVITE:** Indica que o usuário está sendo convidado a participar de uma sessão multimídia.
- ****Trying:**** Indica que a requisição está sendo processada.
- ******200 OK(Answer):****** Indica a confirmação de atendimento.
- ********ACK:******** Confirmação de mensagem recebida como resposta final a um INVITE.
- **OPTIONS:** Faz uma pergunta sobre quais métodos e extensões são suportados pelo servidor e pelo usuário descrito no campo de cabeçalho.
- **BYE:** **Usado para liberar os recursos associados a uma ligação e forçar a desconexão/desligamento da mesma.**
- **CANCEL:** **Cancela uma requisição que ainda esteja pendente, ou seja, em andamento.**

**<span id="bkmrk-consultar-o-node%3A-1">Consultar o node:</span>**

Nas novas versões já temos o pm2:

- `pm2 list` -&gt; irá exibir os serviços de node que estão em andamento
- `pm2 monit` -&gt; uma mistura do list com o htop, irá te mostrar em tempo real quanto está consumindo de memória o node

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/aR1image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/aR1image.png)

- app-chat: Node responsável pelo serviço de chat (exibição de atendimentos, por exemplo)
- app-crm: Node responsável pelas ações do CRM (reload, deslogar, e outras funções)
- **app-telecom: Ainda não está sendo utilizado, necessário atualizar aqui quando o Alan informar**

<span id="bkmrk-nas-vers%C3%B5es-anterior-1">Nas versões anteriores, o node roda através do comando forever:</span>

- `forever list`

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/dMWimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/dMWimage.png)

Mostrar canais ativos de chamadas

- `core show channels verbose`

Derrubar chamada presa

- `channel request hangup + Ramal`

**Transferir ligação &gt; \*2 (aguardar a mensagem de transferência) + ramal**

  
abrir arquivo de ramais e troncos:

- `vim /etc/asterisk/sip.conf `

recarrega todas as configurações realizadas no arquivo sip.conf

- `sip reload `

Arquivo Zipado:

- `ls`
- `gzip -d messages.1.gz`
- `tail -1000 messages.1 (exemplo)`

# Fail2ban

**ver status do fail2ban**

- `service fail2ban status  `

- Possui fail2ban cadastrado

![](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/embedded-image-omgabxmx.png)

##### **Cadastro**

1 - `apt update`

2 - `apt install fail2ban`

3 - `cd /etc/fail2ban`

4 - `ls - - color`

5 - `cp jail.conf jail.local`

6 - `vim jail.local`

```
[ssh-iptables]
enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=22, protocol=tcp]
logpath  = /var/log/auth.log
maxretry = 3

[asterisk-iptables]
enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
logpath  = /var/log/asterisk/messages
maxretry = 3
findtime  = 1d
bantime = 86400
ignoreip = 127.0.0.1/32 200.155.77.119/32 191.252.210.219/32
load
```

# Restarts funcionais

# Chats não aparecem para as pessoas

Vá no servidor referido que está acontecendo isso e dê os seguintes comandos:

```
systemctl stop search_chats.service
systemctl disable search_chats.service
```

depois

```
systemctl enable search_chats.service
systemctl start search_chats.service
```

# Bloqueio e start de servidores

`systemctl stop  postgresql@16-main.service  asterisk.service apache2.service`

`systemctl start postgresql@16-main.service  asterisk.service apache2.service`

# *****Reiniciar Node (wiki antiga)

`node`

- `index.js` -&gt; sistema novo

/var/www/app\_chat/ ou /var/www/app\_server/ (Node do Chat ou da Telefonia, respectivamente)

`forever stop index.js`

`forever start index.js`

- `app.js` -&gt; sistema antigo

`cd /var/www/app_server;`

`forever stop app.js; cat key.js > app.js ; cat code.js >> app.js; forever start -o out.log -e err.log app.js`

# Reiniciar Servidor

Verifique se há espaço em disco com o comando:

`df -h`

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/SqLimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/SqLimage.png)

Se tiver 100% você não deve reiniciá-lo antes limpar espaço em disco.

Quando for limpo, você pode reiniciar com o seguinte comando:  
  
`reboot now`

Verifique se subiu os serviços adequadamente.

# Reiniciar os serviços

Para reiniciar o serviços, você deve usar os seguintes comandos:

\- irá iniciar postgres, asterisk, janus e apache nessa ordem

`systemctl restart postgresql@16-main.service asterisk.service janus.service apache2.service`

Depois você deve reiniciar o pm2

`pm2 restart all`

# Reiniciar asterisk

Parar o banco de dados primeiro

` service postgresql stop`

Reiniciar o asterisk

`core restart now`

Depois iniciar o banco novamente

`service postgresql start`

# Reiniciar Postgres

Reiniciar o serviço do PostgreSQL (Banco de dados)

systemctl restart postgresql.service

OU

service stop postgresql

service start postgresql

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/lpGimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/lpGimage.png)

# Wiki antiga

# wiki antiga

##### **Verificar quem fez o hangup**

cd /var/log/asterisk

tail -100000 messages | egrep “número”

tail -100000 messages | egrep “número do canal (C-alguma coisa)”

  
Verificar qual foi o primeiro evento a dar o left\_bridge, será o ramal ou o nome do tronco. Se for o ramal, indica que o operador foi o primeiro a sair da ligação, caso seja o tronco, foi o cliente.

##### **Configurar ip fixo** 

cd /etc/network

vim interfaces

i = editar

esc = sair da inserção

:wq = sair da edição (w = salva | q = sai da edição)


##### **Testar velocidade internet**

sudo rm /etc/apt/sources.list.d/speedtest.list

sudo apt-get update

sudo apt-get remove speedtest

sudo apt-get install curl

curl -s https://install.speedtest.net/app/cli/install.deb.sh | sudo bash

sudo apt-get install speedtest

speedtest-cli

##### **VPN** 

ps aux | egrep “openvpn”

kill -9 (código da vpn)

/usr/sbin/openvpn --config /etc/openvpn/config/+nome vpn

–

cd /etc/openvpn/config/

Não é possível acessar esse site

Ir no atalho Google Chrome no campo destino No campo Destino, adicione a seguinte indicação após as aspas -ignore-certificate-errors

chrome://flags/ -&gt; “Allow invalid certificates for resources loaded from localhost” -&gt; selecione Enabled (Habilitado).

##### **Realizar teste internet CMD**

Endereço IPva = ip dispositivo

Gateway padrão = ip roteador da internet conectada no dispositivo

ping /? = ver a lista completa de complementos disponíveis

![](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/embedded-image-chlnv1zw.png)

ms = quantidade de milissegundos que o dispositivo demora para responder, quanto menor o tempo menos é a latência

OBS: Quando o dispositivo pingado estiver offline, os pacotes enviados serão todos perdidos. Neste caso, a mensagem "esgotado o tempo limite do pedido" será exibida na tela e haverá 100% de perda. Por padrão, o comando enviará quatro pacotes de 32 bytes e calculará o tempo de resposta. Ao final, será exibido a estatística com o número de pacotes enviados, recebidos, perdidos, tempo máximo, mínimo e média.

sudo du /var/\* -hs = verifica qual das pastas dentro do var está ocupando mais espaço

##### **Atualizar hora terminal**

date +%T -s "HH:MM:SS"

date +%T%p -s "HH:MM:SSPM"

Manualmente

Para atualizar deve ser executado os comandos "date"(atualiza a data), e "hwclock" (sincronizá-la com a data do hardware)

Exemplo:

mm (mês 00-12)

dd (dia 00-31)

HH (hora 00-23)

MM (min 00-59)

YYYY (0000-9999)

date mmddHHMMYYYY

Exemplo 1:

date 091418302008 | hwclock -w

Alterando apenas o relógio:

date +%T -s "15:53:13"

date +%T%p -s "03:53:13PM"

##### **RM**

rm \[opções\] arquivo/diretório

**Descrição**

Este comando remove [arquivos.](https://guialinux.uniriotec.br/arquivo/)

**Algumas opções do comando**

- -f : apaga sem pedir confirmação.
- -i : apaga após pedir confirmação.
- -r : apaga arquivos e subdiretórios.
- -v : lista arquivos deletados.

**Exemplos**

- Para apagar o arquivo teste.txt, basta digitar

**rm teste.txt**

- Para apagar o diretório teste e todo o seu conteúdo, digite

**rm -fr teste**

- Pode-se usar os caracteres ?, \*, \[ \] e { } como [curingas.](https://guialinux.uniriotec.br/curingas/) O primeiro substitui apenas um único caractere, o segundo substitui um número qualquer de caracteres, o terceiro substitui um único caractere dentro de um certo limite de valor e o último substitui vários caracteres. Por exemplo, suponha que o diretório atual tenha os seguintes arquivos: teste1.txt, teste2.txt, teste3.txt e teste10.txt. O comando

**rm teste\*.txt ou rm teste\***

apaga os quatro arquivos, enquanto o comando

**rm teste?.txt**

apaga apenas os arquivos teste1.txt, teste2.txt e teste3.txt. Para apagar apenas os dois primeiros arquivos, basta digitar

**rm teste\[1-2\].txt**

e para apagar os dois primeiros e o último use o comando

rm teste{\[1-2\],10}.txt

**Observações**

- É preciso ter [permissão](https://guialinux.uniriotec.br/permissao-de-acesso/) de gravação para remover um arquivo.

**O comando [rmdir](https://guialinux.uniriotec.br/rmdir/) remove diretórios vazios.**

##### **Matar Webphone**

kill + número do processoweb

cat scr\_start.sh

/opt/janus/bin/janus -d 5 -6 &gt; /opt/janus/lib/janus/loggers/log 2&gt;&amp;1 &amp;

##### **OU**

service janus stop  
service janus status  
service janus start

##### **OU**  


  
service janus restart

#### **Node Ivox**

screen

cd /var/www/app\_server

nodemon index.js

ctrl + ad

\---

screen

cd /var/www/app\_server

nodemon app.js

ctrl + ad

#### **Config URA TTS**

same =&gt; n,Agi(script.php,actGetDadosMailingCampanha,${EXTEN},${ARG2},${ARG3})

same =&gt; n,Noop(${ttsnome})

same =&gt; n,Set(msg=${ttsnome}?)

same =&gt; n,Agi(googletts.agi,Olá ${msg},pt-BR,,1)

#### **Pesquisar no servidor arquivo específico**

grep -Rnw '/var/www/html' -e 'nomearquivo

grep -Rnw '/opt/pluri' -e 'nomearquivo

#### **Apagar arquivos duplicados no crm da startintermediacao**

dentro da pasta root

cd root

bash apaga\_arquivonovo.sh

obs: Deixa rodar pq vai demorar kkkkk

#### **Erro Credicenm**

  
  
\[2024-04-22 17:41:44\] WARNING\[3728423\]\[C-00000003\]: channel.c:6246 request\_channel: No channel type registered for ''

\[2024-04-22 17:41:44\] WARNING\[3728423\]\[C-00000003\]: app\_dial.c:2576 dial\_exec\_full: Unable to create channel of type '' (cause 66 - Channel not implemented)

Solução:

vim /etc/asterisk/extensions\_ramal.conf

Adicionar SIP apos o dial

same =&gt; n(discar),Dial(\*\*\*/${EXTEN},30,tTkKU(gravacao))

![](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/embedded-image-1wzp1ngi.png)

# Problemas recorrentes

# Erro de web rtc

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/gBoimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/gBoimage.png)

Ver o tempo de uso do servidor com o comando:

`htop`

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/S7oimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/S7oimage.png)

Você pode antes de tudo reiniciar os serviços do servidor através do seguinte módulo:

[Reiniciar os serviços](https://pluriajuda.acessocloud.com/books/suporte/page/reiniciar-os-servicos "Reiniciar os serviços")

Se o alerta persistir e o Uptime tiver superior a 32 dias, considere reiniciar.

Para isso, siga as instruções no módulo abaixo:

[Reiniciar Servidor](https://pluriajuda.acessocloud.com/books/suporte/page/reiniciar-servidor "Reiniciar Servidor")

# Alerta de undefined / Problemas de microfone

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/tCUimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/tCUimage.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/p5Wimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/p5Wimage.png)

O alerta de undefined se deve ao **bloqueio da permissão do microfone** ao navegador. Para checar se está bloqueado ou liberado, basta clicar no cadeado ao lado da URL de acesso ao servidor do cliente:

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/XdSimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/XdSimage.png)

**Ao clicar, deverá aparecer dessa forma:**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/nlQimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/nlQimage.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/vx5image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/vx5image.png)

A imagem acima indica um problema de áudio, que não conseguiu acessar ele. Provavelmente algum problema do Windows não estar reconhecendo o microfone que está conectado ao computador;

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/pFNimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/pFNimage.png)

Este cenário acontece por conta de algum bloqueio de microfone pelo sistema operacional, normalmente nas configurações de privacidade do computador. Segue abaixo como podem verificar:

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/ej0image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/ej0image.png)

# Campanha não discando

#### **Parte de CRM:** 

\---------------------------------------------------------------------------------------------------------------------

##### 1 - Checar o mailing se não está com amostragem em branco ou se for um mailing de teste, checar se o número está na blacklist

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/B9aimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/B9aimage.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/L4rimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/L4rimage.png)

##### 2 - Checar se o intervalo de data início e data fim está dentro do período

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/axKimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/axKimage.png)

##### 3 - Verificar se há pessoas online

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/QPVimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/QPVimage.png)

##### 4 - Conferir a fila se possuem operadores disponíveis (principalmente nos casos de terem criado uma nova fila com os operadores ainda online). Caso não tenha alguém na fila ou no menu de telefonia em Membros de Fila ou no queue show no asterisk, execute um reload e peça para as pessoas daquela fila para deslogarem e logarem novamente.

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/HH2image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/HH2image.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/Zorimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/Zorimage.png)

##### 5 - Conferir fator e projeção para ver se os dois não estão zerados

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/mukimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/mukimage.png)

##### 6- Verificar se o horário atual está dentro dos horários configurados na campanha

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/2Xtimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/2Xtimage.png)

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/DDTimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/DDTimage.png)

\---------------------------------------------------------------------------------------------------------------------

#### **Parte de telefonia:**

##### 1 - Verificar se o tronco está ok (sip show peers)

- Vá no servidor e entre no CLI do asterisk com o seguinte comando:

`rasterisk`

- Depois verifique os troncos com um dos comandos:

Para sip: `sip show peers`

Para pjsip: `pjsip show endpoints`

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/RvXimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/RvXimage.png)

##### 2 - Verificar no sngrep o que está vindo de sinalização SIP (às vezes podemos ter os retornos de Payment Required ou Not enough credit, que são sinalizações da rota está sem saldo). Em alguns cenários, as chamadas podem estar sendo geradas, mas não completando por conta de algum problema com a telefonia.

—--------------------------------------------------------------------------------------------------------------------



##### **Caso seja muito antigo o servidor(verificar se ainda é válido)**:  
  
  


##### **Parte do node:**

Como o node é o responsável por gerar as chamadas de campanha da plataforma, caso ele esteja com algum problemas você terá dificuldades em realizar as ligações via discador automático.Para isso confira os passos abaixo:

1 - Tente executar ações que também dependem do node, como deslogar da página, executar um reload e conferir no arquivo do asterisk se as informações estão sendo enviadas.

2 - Caso esteja tudo ok, reveja os passos acima para ver se não ficou nenhuma informação pendente de configuração. Caso não esteja conseguindo realizar as ações do node, você deve reiniciar o mesmo através dos seguintes passos:

Forever:

Acesse a pasta /var/www/app\_server/ ou /var/www/app\_chat/

forever list —----&gt; vai listar os processos rodando no forever

![](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/embedded-image-h2bddiq9.png)

forever stop index.js —-&gt; vai parar o processo do index.js que é o node principal

 “forever start index.js” —-&gt; vai iniciar o processo novamente

ATENÇÃO: CASO O NODE SUBA COMO STOPPED, SIGA OS PASSOS ABAIXO:

Prezados,

Bom dia!

Espero que estejam bem.

Gostaria de informar que, atualmente, é possível adiantar o tempo do áudio diretamente na plataforma. No entanto, ao baixar o áudio, o navegador pode converter o arquivo para outro formato. Para contornar essa situação, o áudio baixado pode ser convertido para o formato WAV ou outro formato de sua escolha, permitindo assim a manipulação desejada.

Estamos avaliando a possibilidade de implementar um script de conversão para que o arquivo mantenha o mesmo formato original da plataforma no momento do download.

1 - Execute o comando ps aux | egrep “node”

2 - Mate os processos um a um com o comando kill -9 numerodopid

Seguindo o exemplo da imagem abaixo, seria um kill -9 9725.

Lembre-se de que não adianta matar o PID do grep, pois ele só aparece por conta do comando executado.

![](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/embedded-image-f5wimlzn.png)

PM2:

pm2 list —-------&gt; Para listar os processos que estão rodando através do PM2

![](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/embedded-image-5u9ahoke.png)

pm2 monit —-----&gt; Para listar em tempo real o consumo de recursos dos processos rodando através do PM2

![](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/embedded-image-u6h0bhon.png)

Para reiniciar os serviços, o processo é semelhante ao forever.

Nos exemplos conforme acima:

pm2 stop app-crm —---&gt; Irá parar o node do app-crm

pm2 start app-crm —---&gt; Irá iniciar novamente o node do app-crm

# Licenças excedidas

##### **Verificar o número de licenças disponíveis**  


**Vá em Configurações -&gt; configs**

Pesquise pelas configurações de licenças:

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/gu5image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/gu5image.png)

Verifique a quantidade de licenças de cada tipo e compare nos relatórios de Online/Licenças

Veja este exemplo:

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/fTEimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/fTEimage.png)

Neste caso, todos estão consumindo licenças pois na coluna licença, estão com 1. Porém somente 8 estão consumindo licenças de operadores pois estão com 1 na coluna "Call Center" (Operador). Os que estão com 0 geralmente estão consumindo licenças de "CRM" (Adm). Nenhum deles estão consumindo licenças de chat, pois estão com nada na coluna "Chat".

**Caso esteja 1 usuário a mais logado que consome determinado tipo de licenças, o login será bloqueado para qualquer usuário que tentar entrar depois. Por isso, deve ser respeitado o limite de cada quantidade.**

**CASO COMUM:**

Se houver um papel de equipe com a flag de chat marcada, todos que estão na equipe consumirão licenças de chats. Se não houver licenças de chat no servidor, o primeiro que logar irá bloquear o login dos demais.

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/sXQimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/sXQimage.png)

Se o cliente não usar chats, deixe desabilitado a opção acima.

# Chats não aparecem

##### Caso os chats estejam vazios em um servidor, basta usar estes comandos no servidor:

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/jAsimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/jAsimage.png)

[Use os comandos deste módulo](https://pluriajuda.acessocloud.com/books/suporte/page/chats-nao-aparecem-para-as-pessoas "Chats não aparecem para as pessoas")

# Alerta de Chat desconectado

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/ttnimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/ttnimage.png)

Caso apareceça essa mensagem, verifique o canal de chat em **Flow e Processos -&gt; Canais de Chat**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/z9Bimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/z9Bimage.png)

Se tiver um qr code aparecendo, ele está desconectado, se não, está conectado.  
  
  
**Verifique também a quantidade de mensagens na fila antes de conectar, se tiver muitas, clique em "Resetar fila". Este procedimento é necessário para não disparar várias mensagens de uma vez.**

# Não aparece nada na página inicial

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/image.png)

**Verifique se este usuário está configurado em mais de 1 ramal como na imagem abaixo. Se tiver, tire de um ramal e deixe só em outro, pois poderá acontecer a situação acima.**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/XTZimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/XTZimage.png)

# R2: 403 Forbidden

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/scaled-1680-/2mCimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-02/2mCimage.png)

Este **Alerta** aparece quando o janus não consegue comunicar com o asterisk, e consequentemente o ramal aparece em branco na tela. Siga os seguintes passos quando acontecer isso:

**(Como é algo sensível, verifique antes com alguém mais experiente)**

Primeiro, teste com este comando:

`asterisk`

Depois teste reiniciar os serviços:

`systemctl restart postgresql@16-main.service asterisk.service janus.service`

depois dê o seguinte comando:

`pm2 restart all`

Se não der certo, verifique se tem espaço em disco e reinicie o servidor

`df -h`

`reboot now`

Se isso persistir, é possível que tenha travado os reloads no banco que esteja impedindo a comunicação do janus com o asterisk

A solução é **executar o truncate na tabela sysdata.actions** no banco de dados.

**---(Consulte o responsável do momento que tenha acesso ao banco de dados)---**

# VPN da odonto company

**\*\*\*Foi feita uma configuração no servidor da odonto company em que foi fixado o ip na rede, porém se por algum motivo houver alguma inconsistência e o ip trocar, deve ser seguido o passos ao ir na empresa:**

**1° passo:** iniciar o servidor se ele não estiver rodando

**2° passo:** fazer o login

login: root

senha: 102030

**3° passo:** verificar o ip que está

`ip a`

**4° passo:** verificar o acesso local da máquina

**5° passo:** tentar subir a vpn com o comando a seguir

`/usr/sbin/openvpn --config /etc/openvpn/config/odontocompany_lw.ovpn --daemon`

**6° passo:** se não subir, verificar os serviços de vpn que estão com o nome "openvpn" com o comando a seguir

`ps aux | grep -e "openvpn"`

**7° passo:** matar os serviços duplicados e tentar subir novamente

`kill -9 (código da vpn)`

`/usr/sbin/openvpn --config /etc/openvpn/config/odontocompany_lw.ovpn --daemon`

Verifique se subiu:

`ip a`

**8° passo:** Se não subiu ainda, verifique a data

`date`

Se estiver muito diferente da data atual, modificar com esse comando

`timedatectl set-time "2026-03-02 10:36:00"`

(modifique de acordo com a data e hora atual)

**9° passo:** dê um restart na vpn com o seguinte comando na pasta root

`./scr_start.sh`

`ip a`

Verifique se subiu

obs: provavelmente só verificando essas questões, já irá voltar

# Supervisor não consegue ver ligações de outros usuários

No sistema é feito um filtro automático para os relatórios de **sainte**, **entrante** e **campanha**. Ou seja, dependendo do nível, papel de equipe e empresa (papel de cliente) que eles estejam.

**COMO FUNCIONA?**

- Ligações sainte:

1. Os usuários nível 1 poderão ver suas próprias ligações de sainte se eles tiverem em uma equipe da mesma empresa do tronco que está saindo a ligação.
2. Os usuários nível 2 poderão ver suas próprias ligações de sainte se eles tiverem em uma equipe da mesma empresa do tronco que está saindo a ligação.
3. Os usuários nível 3 poderão ver as ligações feitas a partir de todos os troncos da mesma empresa da equipe que estes usuários estão.
4. Os usuários nível 4 poderão ver as ligações feitas a partir de todos os troncos da mesma empresa da equipe que estes usuários estão.

- Ligações entrante

1. Os usuários nível 1 poderão ver suas próprias ligações atendidas
2. Os usuários nível 2 poderão ver as próprias ligações e das equipes que ele está como supervisor
3. Os usuários nível 3 poderão ver as ligações gerais das empresas em que as equipes que ele está, está vinculada.
4. Os usuários nível 4 poderão ver as ligações gerais das empresas em que as equipes que ele está, está vinculada.

- Ligações de campanha

1. Os usuários nível 1 poderão ver suas próprias ligações de campanha se estiverem na equipe da mesma empresa da campanha que foi feita a chamada
2. Os usuários nível 2 poderão ver suas próprias ligações e as ligações dos demais da equipe que eles estiverem como supervisor ou supervisor auxiliar.
3. Os usuários nível 3 poderão ver as ligações gerais das campanhas de mesma empresa das equipes que eles estiverem. Poderá ver inclusive ligações que não foram atendidas por ninguém.
4. Os usuários nível 4 poderão ver as ligações gerais das campanhas de mesma empresa das equipes que eles estiverem. Poderá ver inclusive ligações que não foram atendidas por ninguém.

Deve ser verificado o nível e a empresa dos papeis de equipes que ele estiver. Se não estiver de acordo, reconfigurar para que esteja de acordo com o esperado pelo cliente.

# Erro NodeJS

**Error: Check service - NodeJS - Failed to connect to 192.168.0.8 port 3000: Connection refused**

- Se ocorrer esse erro, rode o seguinte comando:

`pm2 restart all`

- Se for um servidor antigo, faça o restart dessa forma:

[\*\*\*\*\*Reiniciar Node (wiki antiga)](https://pluriajuda.acessocloud.com/books/suporte/page/reiniciar-node-wiki-antiga "*****Reiniciar Node (wiki antiga)")

# Problemas para realizar escuta/sussurro

Verificar o arquivo extensions\_fnc.conf na pasta /etc/asterisk/

**Conferir se o contexto \[monitoramento\] está da forma abaixo:**

##### (SIP)

```bash
[monitoramento]
;Escuta bqwW
exten => _S20X.,1,Set(TIMEOUT(absolute)=3600)
same => n,ChanSpy(SIP/${EXTEN:3},bq)
same => n,HangUp()
exten => _S21X.,1,ChanSpy(SIP/${EXTEN:3},bqw)
same => n,HangUp()
exten => _S22X.,1,ChanSpy(SIP/${EXTEN:3},bqB)
same => n,HangUp()
exten => _S23X.,1,ChanSpy(SIP/${EXTEN:3},bqW)
same => n,HangUp()

[fncauto]
include => features
include => monitoramento
```

##### (PJSIP)

```bash
[monitoramento]
;Escuta bqwW
exten => _S20X.,1,Set(TIMEOUT(absolute)=3600)
same => n,ChanSpy(PJSIP/${EXTEN:3},bq)
same => n,HangUp()

exten => _S21X.,1,ChanSpy(PJSIP/${EXTEN:3},bqw)
same => n,HangUp()

exten => _S22X.,1,ChanSpy(PJSIP/${EXTEN:3},bqB)
same => n,HangUp()

exten => _S23X.,1,ChanSpy(PJSIP/${EXTEN:3},bqW)
same => n,HangUp()


[fncauto]
include => features
include => monitoramento
```

Caso não esteja, substituir o contexto no servidor pelas informações acima.

# Telefonia

Nesta sessão, irei detalhar particularidades da telefonia e como analisar.

# SNGREP

<div class="document" id="bkmrk-using-sngrep%EF%83%81" itemscope="itemscope" itemtype="http://schema.org/Article" role="main"><div itemprop="articleBody"><section class="tex2jax_ignore mathjax_ignore" id="bkmrk-using-sngrep%EF%83%81-main-s-1"># Using SNGREP[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#using-sngrep "Link to this heading")

</section></div></div>### Consultar chamadas SIP:

-&gt; `sngrep`

- Teclando f7 você consegue filtrar os métodos de requisição SIP [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/4KXimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/4KXimage.png)

- teclando f3 você consegue filtrar pelo número que aparece na requisição:  
    [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/kOhimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/kOhimage.png)
- Ex de ligação no sngrep:  
    [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/cFjimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/cFjimage.png)
- **INVITE:** Indica que o usuário está sendo convidado a participar de uma sessão multimídia.
- ****Trying:**** Indica que a requisição está sendo processada.
- ****200 OK(Answer):**** Indica a confirmação de atendimento.
- ****ACK:**** Confirmação de mensagem recebida como resposta final a um INVITE.
- **OPTIONS:** Faz uma pergunta sobre quais métodos e extensões são suportados pelo servidor e pelo usuário descrito no campo de cabeçalho.
- **BYE:** **Usado para liberar os recursos associados a uma ligação e forçar a desconexão/desligamento da mesma.**
- **CANCEL:** **Cancela uma requisição que ainda esteja pendente, ou seja, em andamento.**

<div class="document" id="bkmrk-using-sngrep%EF%83%81-main-s" itemscope="itemscope" itemtype="http://schema.org/Article" role="main"><div itemprop="articleBody"><section class="tex2jax_ignore mathjax_ignore" id="bkmrk-main-screen%EF%83%81-idx%3A-co"><section id="bkmrk-main-screen%EF%83%81-idx%3A-co-1">## Main Screen[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#main-screen "Link to this heading")

- - **Idx**: Coluna do **número da linha**.
    - **Method**: Coluna do **tipo de mensagem SIP**.
    - **SIP From**: Coluna do **campo "De" (From) da mensagem SIP**.
    - **SIP To**: Coluna do **campo "Para" (To) da mensagem SIP**.
    - **Msgs**: Coluna da **quantidade numérica de mensagens**.
    - **Source**: Coluna do **IP e porta de origem**.
    - **Destination**: Coluna do **IP e porta de destino**.
    - **Call State**: Coluna do **identificador da chamada**.
    
    ![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_main.jpg)
- <div class="relative basis-auto flex-col -mb-(--composer-overlap-px) [--composer-overlap-px:28px] grow flex"><div class="flex flex-col text-sm pb-25"><article class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="true" data-testid="conversation-turn-4" data-turn="assistant" data-turn-id="request-WEB:5d3c417b-fcec-4286-ae72-f6a233948522-1" dir="auto" tabindex="-1"><div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] @w-sm/main:[--thread-content-margin:--spacing(6)] @w-lg/main:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:40rem] @w-lg/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-1" data-message-author-role="assistant" data-message-id="74b6fb75-09f5-4111-a8e8-46de1d99bf19" data-message-model-slug="gpt-5-2" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[1px]"><div class="markdown prose dark:prose-invert w-full wrap-break-word light markdown-new-styling">
    - **ESC Quit**: Pressione **ESC** para sair do **sngrep**.
    - **Enter**: Mostra **mais informações** sobre a linha destacada.
    - **Space**: Ao pressionar **barra de espaço**, a linha é **selecionada**. Isso permite selecionar **múltiplas linhas** e pode ser usado junto com a opção **F2 (salvar)**.
    - **F1 Help**: Abre o **menu de ajuda**.
    - **F2 Save**: Permite **salvar a sessão atual de captura** (diálogos) em um arquivo **.pcap ou .txt**, definindo **caminho e nome do arquivo**.
    - **F3 Search**: Permite **pesquisar** de forma **mais específica e detalhada**.
    - **F4 Extended**: Mostra uma **visualização estendida**.
    - **F5 Clear**: **Limpa a tela**.
    - **F7 Filter**: Similar à busca, mas com **mais opções de filtro** para refinar os resultados.
    - **F8 Settings**: Abre as **configurações do SNGREP**, incluindo **interface, opções de captura, opções de fluxo de chamada e configurações EEP/HEP Homer**.
    - **F10**: Permite **escolher quais colunas serão exibidas** na janela do **sngrep**.
    
    </div></div></div></div><div class="mt-3 w-full empty:hidden"><div class="text-center">  
    </div></div></div></div></article></div></div><span style="color: rgb(187, 187, 187); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 2.8275em; font-weight: 400;">SPAM</span>[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#spam "Link to this heading")

</section><section id="bkmrk-user-agent%3A-a-maiori">![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_spam.jpg)

- **User-Agent**: A maioria das tentativas de **spam** mostra um **User-Agent indesejado**, como o exibido neste exemplo.

</section><section id="bkmrk-registration%EF%83%81">## Registration[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#registration "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep1.jpg)

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_register.jpg)

</section><section id="bkmrk-registration-expande">## Registration Expanded[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#registration-expanded "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_register_flow.jpg)

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_register_flow1.jpg)

</section><section id="bkmrk-call-setup%EF%83%81-invite-2">## Call Setup[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#call-setup "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep1.jpg)

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_call_setup.jpg)

**Invite**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_call_setup1.jpg)

**200 OK**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_call_setup2.jpg)

**Call completou**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep1.jpg)

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_call_setup3.jpg)

</section><section id="bkmrk-f3-search%EF%83%81">## F3 Search[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#f3-search "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f3_search.jpg)

</section><section id="bkmrk-f7-filtro%EF%83%81">## F7 Filtro[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#f7-filter "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f7_filter.jpg)

</section><section id="bkmrk-f8-configura%C3%A7%C3%B5es%EF%83%81-in">## F8 Configurações[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#f8-settings "Link to this heading")

**Interface**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f8_settings.jpg)

**EEP/HEP HOMER**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f8_settings1.jpg)

**Call Flow**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f8_settings2.jpg)

**Capture**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f8_settings3.jpg)

</section></section></div></div><footer id="bkmrk-"><div aria-label="Footer" class="rst-footer-buttons" role="navigation">  
</div></footer>

# log no grep do asterisk

**Podemos verificar o tronco e o contexto em que ele está passando em tempo real utilizando o comando a seguir**

`asterisk -rvvvvvvvvvvvvv | grep -e "9900"`

 (Pode ser colocado no lugar do 9900 o número que foi ligado ou o ramal)

Exemplo:

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/scaled-1680-/image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/image.png)

## 1. Informações iniciais da chamada

<div class="relative w-full mt-4 mb-1" id="bkmrk-pjsip%2F9923-0000011c-"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-pjsip%2F9923-0000011c--1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">PJSIP/9923-0000011c is ringing  
PJSIP/9923-0000011c answered</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Indica o estado da chamada do ramal **9923** usando o driver **PJSIP**.

<div class="TyagGW_tableContainer" id="bkmrk-evento-descri%C3%A7%C3%A3o-rin"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="560" data-start="449"><thead data-end="471" data-start="449"><tr data-end="471" data-start="449"><th class="" data-col-size="sm" data-end="458" data-start="449">Evento</th><th class="" data-col-size="sm" data-end="471" data-start="458">Descrição</th></tr></thead><tbody data-end="560" data-start="488"><tr data-end="522" data-start="488"><td data-col-size="sm" data-end="498" data-start="488">ringing</td><td data-col-size="sm" data-end="522" data-start="498">O ramal está tocando</td></tr><tr data-end="560" data-start="523"><td data-col-size="sm" data-end="534" data-start="523">answered</td><td data-col-size="sm" data-end="560" data-start="534">A chamada foi atendida</td></tr></tbody></table>

</div></div>---

# 2. Início do Dialplan

<div class="relative w-full mt-4 mb-1" id="bkmrk-noop%28%22pjsip%2F9923-000"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-noop%28%22pjsip%2F9923-000-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">NoOp("PJSIP/9923-0000011c", "S - 20 - 1 - Bina Dinâmica (Solutions)")</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Parâmetro

**NoOp()**

Função usada apenas para **log/debug** dentro do dialplan.

<div class="TyagGW_tableContainer" id="bkmrk-par%C3%A2metro-valor-sign"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="937" data-start="757"><thead data-end="792" data-start="757"><tr data-end="792" data-start="757"><th class="" data-col-size="sm" data-end="769" data-start="757">Parâmetro</th><th class="" data-col-size="sm" data-end="777" data-start="769">Valor</th><th class="" data-col-size="sm" data-end="792" data-start="777">Significado</th></tr></thead><tbody data-end="937" data-start="807"><tr data-end="859" data-start="807"><td data-col-size="sm" data-end="815" data-start="807">Canal</td><td data-col-size="sm" data-end="828" data-start="815">PJSIP/9923</td><td data-col-size="sm" data-end="859" data-start="828">Canal que iniciou a chamada</td></tr><tr data-end="937" data-start="860"><td data-col-size="sm" data-end="871" data-start="860">Mensagem</td><td data-col-size="sm" data-end="900" data-start="871">S - 20 - 1 - Bina Dinâmica</td><td data-col-size="sm" data-end="937" data-start="900">Identificação do fluxo de chamada</td></tr></tbody></table>

</div></div>---

# 3. Definição de Variáveis

## 3.1 EXTERNPRC

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__externprc%3D0329"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__externprc%3D0329-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__EXTERNPRC=032988611550)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Número externo que originou ou será usado no processamento da chamada.

<div class="TyagGW_tableContainer" id="bkmrk-campo-valor-vari%C3%A1vel"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1251" data-start="1115"><thead data-end="1132" data-start="1115"><tr data-end="1132" data-start="1115"><th class="" data-col-size="sm" data-end="1123" data-start="1115">Campo</th><th class="" data-col-size="sm" data-end="1132" data-start="1123">Valor</th></tr></thead><tbody data-end="1251" data-start="1143"><tr data-end="1167" data-start="1143"><td data-col-size="sm" data-end="1154" data-start="1143">Variável</td><td data-col-size="sm" data-end="1167" data-start="1154">EXTERNPRC</td></tr><tr data-end="1192" data-start="1168"><td data-col-size="sm" data-end="1176" data-start="1168">Valor</td><td data-col-size="sm" data-end="1192" data-start="1176">032988611550</td></tr><tr data-end="1251" data-start="1193"><td data-col-size="sm" data-end="1202" data-start="1193">Escopo</td><td data-col-size="sm" data-end="1251" data-start="1202">`__` indica variável **herdada entre canais**</td></tr></tbody></table>

</div></div>---

## 3.2 ID\_LINH

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__id_linh%3D177254"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__id_linh%3D177254-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__ID_LINH=1772545025.284)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Identificador da linha ou da sessão da chamada.

<div class="TyagGW_tableContainer" id="bkmrk-campo-descri%C3%A7%C3%A3o-id_l"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1440" data-start="1375"><thead data-end="1396" data-start="1375"><tr data-end="1396" data-start="1375"><th class="" data-col-size="sm" data-end="1383" data-start="1375">Campo</th><th class="" data-col-size="sm" data-end="1396" data-start="1383">Descrição</th></tr></thead><tbody data-end="1440" data-start="1407"><tr data-end="1440" data-start="1407"><td data-col-size="sm" data-end="1417" data-start="1407">ID\_LINH</td><td data-col-size="sm" data-end="1440" data-start="1417">ID único da chamada</td></tr></tbody></table>

</div></div>---

## 3.3 ID\_ORGANIZACAO

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__id_organizacao"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__id_organizacao-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__ID_ORGANIZACAO=1)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Identifica a **organização/empresa** associada à chamada.

---

## 3.4 TIPOCALL

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__tipocall%3Ds%29"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__tipocall%3Ds%29-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__TIPOCALL=S)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Tipo da chamada.

<div class="TyagGW_tableContainer" id="bkmrk-valor-significado-s-"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1703" data-start="1656"><thead data-end="1679" data-start="1656"><tr data-end="1679" data-start="1656"><th class="" data-col-size="sm" data-end="1664" data-start="1656">Valor</th><th class="" data-col-size="sm" data-end="1679" data-start="1664">Significado</th></tr></thead><tbody data-end="1703" data-start="1690"><tr data-end="1703" data-start="1690"><td data-col-size="sm" data-end="1694" data-start="1690">S</td><td data-col-size="sm" data-end="1703" data-start="1694">Saída</td></tr></tbody></table>

</div></div>---

## 3.5 CHANNEL(accountcode)

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28channel%28accountc"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28channel%28accountc-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(CHANNEL(accountcode)=S--32988611550--1772545025.284)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Define o **accountcode** do canal para fins de **CDR (bilhetagem)**.

Formato:

<div class="relative w-full mt-4 mb-1" id="bkmrk-tipo--numero--idcham"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-tipo--numero--idcham-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">TIPO--NUMERO--IDCHAMADA</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# 4. Execução de Scripts AGI

Os scripts são executados via **<span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Asterisk Gateway Interface</span></span>**.

---

## 4.1 Script: insCallSainte

<div class="relative w-full mt-4 mb-1" id="bkmrk-agi%28script.php%2C-insc"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-agi%28script.php%2C-insc-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">AGI(script.php, insCallSainte,032988611550,1772545025.284,177254...)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Função

Registrar a chamada no banco de dados.

### Parâmetros

<div class="TyagGW_tableContainer" id="bkmrk-ordem-par%C3%A2metro-desc"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2405" data-start="2220"><thead data-end="2253" data-start="2220"><tr data-end="2253" data-start="2220"><th class="" data-col-size="sm" data-end="2228" data-start="2220">Ordem</th><th class="" data-col-size="sm" data-end="2240" data-start="2228">Parâmetro</th><th class="" data-col-size="sm" data-end="2253" data-start="2240">Descrição</th></tr></thead><tbody data-end="2405" data-start="2268"><tr data-end="2306" data-start="2268"><td data-col-size="sm" data-end="2272" data-start="2268">1</td><td data-col-size="sm" data-end="2288" data-start="2272">insCallSainte</td><td data-col-size="sm" data-end="2306" data-start="2288">Nome da função</td></tr><tr data-end="2336" data-start="2307"><td data-col-size="sm" data-end="2311" data-start="2307">2</td><td data-col-size="sm" data-end="2326" data-start="2311">032988611550</td><td data-col-size="sm" data-end="2336" data-start="2326">Número</td></tr><tr data-end="2375" data-start="2337"><td data-col-size="sm" data-end="2341" data-start="2337">3</td><td data-col-size="sm" data-end="2358" data-start="2341">1772545025.284</td><td data-col-size="sm" data-end="2375" data-start="2358">ID da chamada</td></tr><tr data-end="2405" data-start="2376"><td data-col-size="sm" data-end="2380" data-start="2376">4</td><td data-col-size="sm" data-end="2392" data-start="2380">timestamp</td><td data-col-size="sm" data-end="2405" data-start="2392">Data/hora</td></tr></tbody></table>

</div></div>---

## 4.2 Script: insProtocolo

<div class="relative w-full mt-4 mb-1" id="bkmrk-agi%28script.php%2C-insp"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-agi%28script.php%2C-insp-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">AGI(script.php, insProtocolo,032988611550,1772545025.284,...)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Função

Gerar protocolo de atendimento.

### Parâmetros

<div class="TyagGW_tableContainer" id="bkmrk-par%C3%A2metro-descri%C3%A7%C3%A3o-"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2701" data-start="2571"><thead data-end="2596" data-start="2571"><tr data-end="2596" data-start="2571"><th class="" data-col-size="sm" data-end="2583" data-start="2571">Parâmetro</th><th class="" data-col-size="sm" data-end="2596" data-start="2583">Descrição</th></tr></thead><tbody data-end="2701" data-start="2607"><tr data-end="2627" data-start="2607"><td data-col-size="sm" data-end="2616" data-start="2607">Número</td><td data-col-size="sm" data-end="2627" data-start="2616">Cliente</td></tr><tr data-end="2669" data-start="2628"><td data-col-size="sm" data-end="2641" data-start="2628">ID chamada</td><td data-col-size="sm" data-end="2669" data-start="2641">Identificação da ligação</td></tr><tr data-end="2701" data-start="2670"><td data-col-size="sm" data-end="2682" data-start="2670">timestamp</td><td data-col-size="sm" data-end="2701" data-start="2682">Data da ligação</td></tr></tbody></table>

</div></div>---

## 4.3 Definição do protocolo

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__protocolo%3D2603"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__protocolo%3D2603-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__PROTOCOLO=2603038511)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Número único de **protocolo de atendimento**.

---

## 4.4 Script: actBlacklistSainte

<div class="relative w-full mt-4 mb-1" id="bkmrk-agi%28script.php%2Cactbl"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-agi%28script.php%2Cactbl-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">AGI(script.php,actBlacklistSainte,032988611550,...)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Função

Verifica se o número está na **blacklist**.

<div class="TyagGW_tableContainer" id="bkmrk-poss%C3%ADvel-retorno-sig"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3092" data-start="2994"><thead data-end="3028" data-start="2994"><tr data-end="3028" data-start="2994"><th class="" data-col-size="sm" data-end="3013" data-start="2994">Possível retorno</th><th class="" data-col-size="sm" data-end="3028" data-start="3013">Significado</th></tr></thead><tbody data-end="3092" data-start="3039"><tr data-end="3063" data-start="3039"><td data-col-size="sm" data-end="3044" data-start="3039">OK</td><td data-col-size="sm" data-end="3063" data-start="3044">Número liberado</td></tr><tr data-end="3092" data-start="3064"><td data-col-size="sm" data-end="3072" data-start="3064">BLOCK</td><td data-col-size="sm" data-end="3092" data-start="3072">Número bloqueado</td></tr></tbody></table>

</div></div>---

# 5. Verificação de Horário

<div class="relative w-full mt-4 mb-1" id="bkmrk-gotoif%28%22pjsip%2F9923-0"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-gotoif%28%22pjsip%2F9923-0-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">GotoIf("PJSIP/9923-0000011c", "0?encerrar")</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Verifica condição de atendimento (exemplo: horário de atendimento).

<div class="TyagGW_tableContainer" id="bkmrk-resultado-a%C3%A7%C3%A3o-1-con"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3340" data-start="3265"><thead data-end="3285" data-start="3265"><tr data-end="3285" data-start="3265"><th class="" data-col-size="sm" data-end="3277" data-start="3265">Resultado</th><th class="" data-col-size="sm" data-end="3285" data-start="3277">Ação</th></tr></thead><tbody data-end="3340" data-start="3296"><tr data-end="3312" data-start="3296"><td data-col-size="sm" data-end="3300" data-start="3296">1</td><td data-col-size="sm" data-end="3312" data-start="3300">continua</td></tr><tr data-end="3340" data-start="3313"><td data-col-size="sm" data-end="3317" data-start="3313">0</td><td data-col-size="sm" data-end="3340" data-start="3317">vai para `encerrar`</td></tr></tbody></table>

</div></div>---

# 6. Log informativo

<div class="relative w-full mt-4 mb-1" id="bkmrk-noop%28%22sem-conf-de-bi"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-noop%28%22sem-conf-de-bi-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">NoOp("Sem conf de Bina: 78")</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Mensagem de debug indicando **configuração de Bina ausente**.

---

# 7. Definição de dados finais da chamada

## 7.1 ID\_PAC

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__id_pac%3D78%29"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__id_pac%3D78%29-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__ID_PAC=78)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Identificação do paciente/cliente.

---

## 7.2 ID\_TRONCO

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__id_tronco%3D78%29"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__id_tronco%3D78%29-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__ID_TRONCO=78)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Identificação do tronco SIP utilizado.

---

## 7.3 TELEFONE

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__telefone%3D15410"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__telefone%3D15410-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__TELEFONE=1541032988611550)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Número final utilizado na discagem.

---

# 8. Discagem da chamada

<div class="relative w-full mt-4 mb-1" id="bkmrk-dial%28pjsip%2F154103298"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-dial%28pjsip%2F154103298-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Dial(PJSIP/1541032988611550@sipsolutionspuri,45,TtKkU(gravacao))</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Aplicação

**Dial()**

Responsável por realizar a chamada.

### Parâmetros

<div class="TyagGW_tableContainer" id="bkmrk-campo-valor-descri%C3%A7%C3%A3"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4273" data-start="3984"><thead data-end="4013" data-start="3984"><tr data-end="4013" data-start="3984"><th class="" data-col-size="sm" data-end="3992" data-start="3984">Campo</th><th class="" data-col-size="sm" data-end="4000" data-start="3992">Valor</th><th class="" data-col-size="sm" data-end="4013" data-start="4000">Descrição</th></tr></thead><tbody data-end="4273" data-start="4028"><tr data-end="4063" data-start="4028"><td data-col-size="sm" data-end="4041" data-start="4028">Tecnologia</td><td data-col-size="sm" data-end="4049" data-start="4041">PJSIP</td><td data-col-size="sm" data-end="4063" data-start="4049">Driver SIP</td></tr><tr data-end="4111" data-start="4064"><td data-col-size="sm" data-end="4074" data-start="4064">Destino</td><td data-col-size="sm" data-end="4093" data-start="4074">1541032988611550</td><td data-col-size="sm" data-end="4111" data-start="4093">Número discado</td></tr><tr data-end="4156" data-start="4112"><td data-col-size="sm" data-end="4121" data-start="4112">Tronco</td><td data-col-size="sm" data-end="4140" data-start="4121">sipsolutionspuri</td><td data-col-size="sm" data-end="4156" data-start="4140">Servidor SIP</td></tr><tr data-end="4188" data-start="4157"><td data-col-size="sm" data-end="4167" data-start="4157">Timeout</td><td data-col-size="sm" data-end="4172" data-start="4167">45</td><td data-col-size="sm" data-end="4188" data-start="4172">Tempo máximo</td></tr><tr data-end="4235" data-start="4189"><td data-col-size="sm" data-end="4197" data-start="4189">Flags</td><td data-col-size="sm" data-end="4204" data-start="4197">TtKk</td><td data-col-size="sm" data-end="4235" data-start="4204">Permissões de transferência</td></tr><tr data-end="4273" data-start="4236"><td data-col-size="sm" data-end="4242" data-start="4236">U()</td><td data-col-size="sm" data-end="4253" data-start="4242">gravacao</td><td data-col-size="sm" data-end="4273" data-start="4253">executa gravação</td></tr></tbody></table>

</div></div>---

# 9. Encerramento

<div class="relative w-full mt-4 mb-1" id="bkmrk-hangup%28%29"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-hangup%28%29-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Hangup()</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Finaliza a chamada.

---

# 10. Mensagem final

<div class="relative w-full mt-4 mb-1" id="bkmrk-spawn-extension-exit"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-spawn-extension-exit-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Spawn extension exited non-zero</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Significado

O fluxo terminou retornando **código diferente de zero**, geralmente indicando:

- finalização por lógica
- retorno de AGI
- chamada encerrada

---

# Fluxo resumido da chamada

<div class="relative w-full mt-4 mb-1" id="bkmrk-ramal-9923-atende%E2%86%93de"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-ramal-9923-atende%E2%86%93de-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Ramal 9923 atende  
↓  
Define variáveis da chamada  
↓  
Registra chamada (AGI)  
↓  
Gera protocolo  
↓  
Verifica blacklist  
↓  
Valida horário  
↓  
Define tronco  
↓  
Discagem via SIP  
↓  
Gravação  
↓  
Encerramento</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# Conceitos básicos de telefonia

### Documentação Básica do Asterisk

## 1. O que é o Asterisk

O **<span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Asterisk</span></span>** é um sistema de **PBX (Private Branch Exchange)** de código aberto que permite criar uma central telefônica baseada em software.

Ele possibilita:

- Telefonia **VoIP**
- Integração com linhas SIP ou operadoras
- Filas de atendimento
- URA (menus automáticos)
- Gravação de chamadas
- Integração com sistemas externos

Arquivos principais de configuração geralmente incluem:

- `sip.conf` ou `pjsip.conf`
- `extensions.conf`
- `queues.conf`
- `voicemail.conf`

---

# 2. Ramais (Extensions)

## Conceito

**Ramais** representam **usuários ou dispositivos telefônicos** conectados ao sistema.

Cada ramal pode ser:

- Telefone IP
- Softphone
- Gateway
- Aplicação

Exemplo de configuração em **PJSIP** (`pjsip.conf`):

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5B1001%5Dtype%3Dendpointc"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5B1001%5Dtype%3Dendpointc-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[1001]  
type=endpoint  
context=interno  
disallow=all  
allow=alaw,ulaw  
auth=1001-auth  
aors=1001  
  
[1001-auth]  
type=auth  
auth_type=userpass  
username=1001  
password=senha123  
  
[1001]  
type=aor  
max_contacts=1</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Funções principais dos ramais

- Fazer chamadas internas
- Receber chamadas
- Participar de filas
- Transferir chamadas

---

# 3. Contextos

## Conceito

**Contextos** organizam regras de discagem dentro do sistema.

Eles definem:

- Quem pode ligar para quem
- Para onde uma chamada será direcionada

Configurados no arquivo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-extensions.conf"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-extensions.conf-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">extensions.conf</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Exemplo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5Binterno%5Dexten-%3D%3E-10"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5Binterno%5Dexten-%3D%3E-10-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[interno]  
  
exten =&gt; 1001,1,Dial(PJSIP/1001)  
exten =&gt; 1002,1,Dial(PJSIP/1002)  
  
exten =&gt; 2000,1,Queue(suporte)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Vantagens

- Controle de permissões
- Segurança
- Organização do dialplan

---

# 4. Troncos (Trunks)

## Conceito

**Troncos** conectam o Asterisk a **outras redes telefônicas**.

Podem ser:

- Operadora VoIP
- Outro PBX
- Gateway GSM
- Linha PSTN

Tipos comuns:

- SIP trunk
- IAX trunk

Exemplo de tronco SIP:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5Boperadora%5Dtype%3Dendp"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5Boperadora%5Dtype%3Dendp-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[operadora]  
type=endpoint  
transport=transport-udp  
context=entrada  
disallow=all  
allow=alaw,ulaw  
outbound_auth=operadora-auth  
aors=operadora</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Uso no dialplan:

<div class="relative w-full mt-4 mb-1" id="bkmrk-exten-%3D%3E-_0x.%2C1%2Cdial"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-exten-%3D%3E-_0x.%2C1%2Cdial-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">exten =&gt; _0X.,1,Dial(PJSIP/${EXTEN}@operadora)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Isso permite fazer chamadas externas.

---

# 5. Filas (Queues)

## Conceito

Filas são usadas para **distribuir chamadas entre agentes**.

Muito utilizadas em:

- Call centers
- Suporte técnico
- Atendimento comercial

Configuradas em:

<div class="relative w-full mt-4 mb-1" id="bkmrk-queues.conf"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-queues.conf-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">queues.conf</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Exemplo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5Bsuporte%5Dstrategy%3Dri"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5Bsuporte%5Dstrategy%3Dri-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[suporte]  
strategy=ringall  
timeout=15  
retry=5  
maxlen=10  
  
member =&gt; PJSIP/1001  
member =&gt; PJSIP/1002</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Estratégias de atendimento

Algumas estratégias:

- `ringall` – toca para todos
- `rrmemory` – round robin
- `leastrecent` – quem atende há mais tempo
- `fewestcalls` – menos chamadas atendidas

Uso no dialplan:

<div class="relative w-full mt-4 mb-1" id="bkmrk-exten-%3D%3E-2000%2C1%2Cqueu"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-exten-%3D%3E-2000%2C1%2Cqueu-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">exten =&gt; 2000,1,Queue(suporte)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# 6. URA (IVR)

URA significa **Unidade de Resposta Audível**, ou **menu automático**.

Exemplo clássico:

> "Digite 1 para vendas, 2 para suporte."

Configurado em `extensions.conf`.

Exemplo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5Bura-principal%5Dexten"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5Bura-principal%5Dexten-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[ura-principal]  
  
exten =&gt; s,1,Answer()  
same =&gt; n,Playback(bem-vindo)  
same =&gt; n,WaitExten(10)  
  
exten =&gt; 1,1,Goto(vendas,s,1)  
exten =&gt; 2,1,Goto(suporte,s,1)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Funções comuns:

- `Playback()` → toca áudio
- `Background()` → toca áudio e espera tecla
- `WaitExten()` → aguarda digitação

---

# 7. Autenticação

A autenticação garante que **apenas dispositivos autorizados possam registrar ramais**.

Ela ocorre via:

- **Usuário**
- **Senha**
- **IP autorizado**

Exemplo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5B1001-auth%5Dtype%3Dauth"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5B1001-auth%5Dtype%3Dauth-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[1001-auth]  
type=auth  
auth_type=userpass  
username=1001  
password=senha123</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Boas práticas:

- Senhas fortes
- Bloqueio de IP
- Uso de firewall
- Limitar tentativas

Ferramentas comuns:

- Fail2Ban
- Firewall

---

# 8. Problemas Comuns no Asterisk

## 1. Ramal não registra

Possíveis causas:

- Usuário ou senha errados
- Porta SIP bloqueada
- NAT incorreto
- IP incorreto

Comando para verificar:

<div class="relative w-full mt-4 mb-1" id="bkmrk-pjsip-show-endpoints"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-pjsip-show-endpoints-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">pjsip show endpoints</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

## 2. Sem áudio (one way audio)

Problema comum em VoIP.

Causas:

- NAT
- Firewall
- RTP bloqueado

Solução:

- Configurar `rtp.conf`
- Liberar portas RTP

---

## 3. Chamadas caindo

Possíveis motivos:

- Timeout SIP
- Problemas de rede
- Codec incompatível

---

## 4. Filas não chamam agentes

Possíveis causas:

- Agentes offline
- Ramal não registrado
- Estratégia mal configurada

Verificação:

<div class="relative w-full mt-4 mb-1" id="bkmrk-queue-show"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-queue-show-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">queue show</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

## 5. URA não reconhece digitação

Pode ocorrer por:

- Codec incompatível
- Problema com DTMF

Configuração comum:

<div class="relative w-full mt-4 mb-1" id="bkmrk-dtmf_mode%3Drfc4733"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-dtmf_mode%3Drfc4733-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">dtmf_mode=rfc4733</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# 9. Comandos úteis no CLI

Acessar console:

<div class="relative w-full mt-4 mb-1" id="bkmrk-asterisk--rvvv"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-asterisk--rvvv-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">asterisk -rvvv</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Comandos importantes:

Ver ramais:

<div class="relative w-full mt-4 mb-1" id="bkmrk-pjsip-show-endpoints-2"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-pjsip-show-endpoints-3"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">pjsip show endpoints</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Ver registros:

<div class="relative w-full mt-4 mb-1" id="bkmrk-pjsip-show-contacts"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-pjsip-show-contacts-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">pjsip show contacts</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Ver filas:

<div class="relative w-full mt-4 mb-1" id="bkmrk-queue-show-2"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-queue-show-3"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">queue show</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Ver canais ativos:

<div class="relative w-full mt-4 mb-1" id="bkmrk-core-show-channels"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-core-show-channels-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">core show channels</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# 10. Fluxo típico de chamada

Fluxo comum em sistemas de atendimento:

<div class="relative w-full mt-4 mb-1" id="bkmrk-operadora%E2%86%93tronco-sip"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-operadora%E2%86%93tronco-sip-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Operadora  
↓  
Tronco SIP  
↓  
Contexto de entrada  
↓  
URA  
↓  
Fila  
↓  
Ramal (Agente)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

**Resumo:**

No Asterisk:

<div class="TyagGW_tableContainer" id="bkmrk-componente-fun%C3%A7%C3%A3o-ra"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="5359" data-start="5117"><thead data-end="5140" data-start="5117"><tr data-end="5140" data-start="5117"><th class="" data-col-size="sm" data-end="5130" data-start="5117">Componente</th><th class="" data-col-size="sm" data-end="5140" data-start="5130">Função</th></tr></thead><tbody data-end="5359" data-start="5151"><tr data-end="5185" data-start="5151"><td data-col-size="sm" data-end="5160" data-start="5151">Ramais</td><td data-col-size="sm" data-end="5185" data-start="5160">Usuários/dispositivos</td></tr><tr data-end="5220" data-start="5186"><td data-col-size="sm" data-end="5198" data-start="5186">Contextos</td><td data-col-size="sm" data-end="5220" data-start="5198">Regras de discagem</td></tr><tr data-end="5257" data-start="5221"><td data-col-size="sm" data-end="5231" data-start="5221">Troncos</td><td data-col-size="sm" data-end="5257" data-start="5231">Conexão com operadoras</td></tr><tr data-end="5294" data-start="5258"><td data-col-size="sm" data-end="5266" data-start="5258">Filas</td><td data-col-size="sm" data-end="5294" data-start="5266">Distribuição de chamadas</td></tr><tr data-end="5320" data-start="5295"><td data-col-size="sm" data-end="5301" data-start="5295">URA</td><td data-col-size="sm" data-end="5320" data-start="5301">Menu automático</td></tr><tr data-end="5359" data-start="5321"><td data-col-size="sm" data-end="5336" data-start="5321">Autenticação</td><td data-col-size="sm" data-end="5359" data-start="5336">Segurança de acesso</td></tr></tbody></table>

</div></div>

# Asterisk

# Subir vm no virtual box

# Configs do sistema

A proposta desse capítulo é apresentar algumas configs do sistema.

# Criação de usuário e ramal

### **Método tradicional**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/xkqimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/xkqimage.png)

No menu de **Configurações** escolha a opção **Pessoas**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/5bXimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/5bXimage.png)

No módulo de **Pessoas,** clique em **Novo**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/Yfkimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/Yfkimage.png)

Pra criar o usuário, adicionar no mínimo **Nome, Logina, Senha, Organização, Papel de equipe e Nível**

Depois clique em **Salvar**

Criar ramal e vincular a Pessoa

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/Xsximage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/Xsximage.png)

No menu de **Telefonia** escolha a opção de **Ramais**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/lOWimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/lOWimage.png)

Para criar o ramal Webphone, adicionar **Empresa, Tipo(cadastro), Tipo(tech), Ramal, Descrição, username, contexto e Pessoa**

### **Método mais ágil** 

Criar ramal, criar Pessoa e vincular a Pessoa

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/JxWimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/JxWimage.png)

No menu de **Telefonia** escolha a opção de **Ramais**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/BMBimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/BMBimage.png)

Para criar o ramal Webphone, adicionar **Empresa, Tipo(cadastro), Tipo(tech), Ramal, Descrição, username, contexto e** criar **Pessoa** através do **+ em Pessoa**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/emsimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/emsimage.png)

Abre o módulo **auxiliar** de **Pessoas** e clique em **Novo**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/ld3image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/ld3image.png)

Pra criar o usuário, adicionar no mínimo **Nome, Logina, Senha, Organização, Papel de equipe e Nível**

Depois clique em **Salvar**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/syTimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/syTimage.png)

Volta no ramal e clica no botão de **recarregar** e **seleciona** a **Pessoa**

**E salvar o ramal.**

# Criação de papel de equipe e filas

#### **Papel de equipe**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/46himage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/46himage.png)

No menu **Flow e Processos,** escolha a opção **Papel de Equipe**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/Srjimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/Srjimage.png)

Clique em **Novo** para criar um novo papel de equipe

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/5Tpimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/5Tpimage.png)

Para criar uma nova equipe, deve ser adicionado no mínimo **Descrição, Papel de Cliente, Supervisor, Perfil de acesso, Nível, Pessoas.**

**flags:**

- Telefonia: consegue ver a aba de monitoria **Telefonia**
- Interfaces: consegue ver a aba de monitoria **Interfaces**
- Operadores: consome licença de **Call-center** e caso vinculado ao ramal, consegue fazer ligações.
- Chat: consome licença de **Chat** e consegue visualizar os atendimentos de chat
- Cliente: limita a monitoria da telefonia
- **outros: à colocar**

Depois clique em **Salvar**

#### **Filas**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/mzWimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/mzWimage.png)

No menu **Telefonia** escolha a opção **Filas**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/5w6image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/5w6image.png)

Clique em **Novo** para criar uma nova Fila

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/gwBimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/gwBimage.png)

Para criar uma nova fila, deve ser adicionado no mínimo **Tipo, Descrição, qID, Estratégia, Papel de equipe**

**Timeout(peer), Retry(peer), Wrap up time, SLA(max), Meta(min), Meta(max)** são adicionados por padrão

Depois clique em **Salvar**

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/scaled-1680-/XnVimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-04/XnVimage.png)

Depois nas filas, clique em **Reload**