O que é o Sngrep? "Começar é a parte mais importante de qualquer trabalho" - Platão
O Sngrep é um programa que roda no terminal Linux e serve para acompanhar e analisar o que acontece nas chamadas SIP.
Com ele, você pode:
• Visualizar as chamadas que estão acontecendo na sua central telefônica (PBX);
• Ver detalhes técnicos das ligações, como quem ligou para quem, duração, falhas e outros pontos importantes;
• Identificar e resolver problemas, como chamadas que não completam ou sem áudio.
Você também pode usar o Sngrep para gerar arquivos de registro (logs) e enviar para o suporte técnico quando precisar de ajuda.
Como usar?
Para começar, você precisa acessar sua central telefônica (PBX) via SSH.
Para iniciar o aplicativo, utilize o comando:
sngrep -d eth0
Onde eth0
é o adaptador de rede que você está usando para sua central telefônica (PBX) trafegar voz, mas se caso digitar apenas "SNGREP" ele irá capturar trafego de todas as interfaces.
Visualização do Sngrep
A tela principal do aplicativo mostra uma lista de todos os diálogos SIP detectados:
Use as setas ⇑ e ⇓ para navegar entre os diálogos.
Pressione Enter para visualizar detalhes de um diálogo específico.
Informações do Diálogo
Na visualização detalhada, é possível navegar entre os pacotes SIP usando ⇑ e ⇓.
Pressione [Enter] para ver o conteúdo de um pacote SIP específico.
Pressione [ESC] para voltar à tela anterior.
Use a tecla [Espaço] para selecionar múltiplos diálogos SIP e pressione [Enter] para vê-los em uma única tela.
Na tela de detalhes, use [Espaço] para selecionar dois pacotes SIP e compará-los.
Comparação de Pacotes SIP e Salvando o Dump
Pressione a tecla [Espaço] para selecionar o diálogo SIP desejado (Call).
Pressione "s" para abrir a janela de salvamento do dump em arquivo:
Use as setas ⇑ e ⇓ para navegar entre os campos.
Informe o caminho e nome do arquivo.
Selecione a opção Salvar e pressione [Enter].
Faça o download do arquivo utilizando uma conexão com a PBX via SCP e/ou WinSCP são algumas opções.
Observe: Na imagem como destacado na imagem esse PCAP não vai ter RTP(audio de chamada), porque ao iniciar o sngrep não adicionamos o parametro "-r" ou "--rtp" para capturar RTP junto, a seguir o exemplo.
Agora sim, ao salvar o RTP(audio da ligação) será salvo junto com a sinalização.
O comando utilizado foi o abaixo:
sngrep -r
Filtragem de Diálogos SIP
Pressione [F7] para abrir o menu de filtro.
Use as setas ⇑ e ⇓ para navegar pelos campos.
Pressione [Espaço] para selecionar os métodos SIP que deseja analisar.
Selecione a ação Filter e pressione [Enter].
Você também pode explorar os parametros disponíveis no sngrep, é importante para otimizar e melhorar suas capturas.
[root@ipbx]# sngrep --help
Usage: sngrep [-hVcivNqrD] [-IO pcap_dump] [-d dev] [-l limit] [-LH capture_url] [
Conclusão
O Sngrep é uma ferramenta poderosa para monitorar e analisar as chamadas VoIP em sua central PbxIP, assim como identificar e resolver problemas, além de gerar logs detalhados para facilitar a comunicação com o suporte técnico.
Fonte: Анализ трафика средствами Sngrep https://docs.mikopbx.com/mikopbx/faq/troubleshooting/traffic-analysis-using-sngrep
Links relacionados:
Capturando mensagens SIP/WSS (WebRTC) com SNGREP (HEP)
https://neimaravila.medium.com/asterisk-capturando-mensagens-sip-wss-webrtc-com-sngrep-hep-4032b688ef30
Git SNGREP
https://github.com/irontec/sngrep
Instalação do Sngrep para CentOS 7 (RPM)
https://github.com/janduy/install_sngrep_maroto
Link para acesso ao Telegram FreePBX Brasil
Integração OI - Digitronco SIP Trunk | ASTERISK/FREEPBX/ISSABEL
Digitro OI - Tutorial de configuração do Digitronco Oi no FreePBX. Este material foi desenvolvido e contribuído pelo membro da comunidade Derci Gaete (@gaetederci) através do grupo @issabelbr no Telegram.
Neste guia você encontrará o passo a passo para configurar corretamente o tronco SIP da operadora Oi em seu FreePBX. As configurações foram testadas e validadas para garantir o funcionamento adequado da integração. Abaixo você encontrará prints das telas de configuração.
Fonte: Material original disponível em https://t.me/issabelbr/145963
Link para acesso ao Telegram FreePBX Brasil"Começar é a parte mais importante de qualquer trabalho" - Platão
INTEGRAÇÃO VIVO VOZ NEGÓCIO (VVN) | ASTERISK/FREEPBX/ISSABEL
Aviso importante:
Este material foi elaborado exclusivamente para fins educacionais e acadêmicos, com o objetivo de compartilhar o conhecimento sobre a configuração do sistema de telefonia em ambientes controlados. Não incentivamos ou recomendamos o uso das informações aqui contidas em ambientes de produção ou comerciais sem autorização expressa das operadoras envolvidas, neste caso a Vivo e o produto Vivo Voz e Negócio (VVN).
A utilização indevida ou fora do escopo acadêmico descrito neste material, sem o consentimento da operadora, pode violar os termos de serviço da Vivo, além de outras regulamentações aplicáveis ao uso de tecnologias de telecomunicação. A responsabilidade pelo uso das informações é exclusivamente do usuário, não cabendo ao autor qualquer responsabilidade por eventuais danos, interrupções de serviço ou ações legais que possam surgir em decorrência de sua aplicação.
UPDATE 18/07/2024 - Ajuste no arquivo de hosts do seu servidor linux. Frequêntemente nos grupos do telegram, a comunidade tem reclamado que o trunk não registra e/ou status não estabiliza como "registered" etc, na maioria dos casos tenho observado que o servidor em questão não está resolvendo o host metapabx.vivo.net.br da vivo, por este motivo, estamos complementando com essa orientação, que não é mandatória.
UPDATE 25/04/2024 — Adicionado as configurações para PJSIP usando Asterisk Puro, material criado pelo Neimar Avila
este que foi de base para produção deste conteúdo do site.
UPDATE 11/04/2024
— Ajustado a linha de REGISTER do tronco SIP para quem está fazendo uso do CHAN_SIP.
UPDATE 02/03/2024 — Adicionado os campos de configuração do VVN para quem utiliza Issabel fazendo uso do CHAN_SIP.
UPDATE 19/06/2023 — Alterando o USER_AGENT (SIP/PJSIP) estabelecer o REGISTER, troca de OPTIONS e conseguir utilizar.
Este material foi baseado na contribuição do Neimar Avila que compartilhou no grupo do telegram as configurações para fazer o uso do Vivo Voz e Negócio no asterisk puro, e do Lucas Adriano que topou este desafio comigo, de dedicar o feriado a homologar em seu ambiente freepbx e gerar esta documentação para comunidade, agradeço o apoio.
Com a modernização da telefonia, as operadoras estão começando a disponibilizar PABX via Cloud, a Vivo fornece o Vivo Voz e Negócio, se trata de um plano de baixo custo, onde voce consegue configurar as linhas através de um login e senha utilizando o protocolo SIP no asterisk.
Laboratório:
- Vivo Voz e Negócio(VVN);
- FreePBX 15;
- Asterisk 18.
No site de gestão da vivo, em linhas, copie a senha do hardphone do número que deseja configurar no seu FreePBX.
Caso não tenha a senha do hardphone voce pode resetar a senha, esta que chegará em seu e-mail. Com isso, vamos no Freepbx para darmos os inícios nas configurações;
Antes de seguir com as configurações na web, faz necessário alterar o user_agent do seu FPBX.
#Arquivo PJSIP(chan_pjsip)/etc/asterisk/pjsip_custom_post.conf
#Parametros
[global](+type=global)
user_agent=MicroSIP/3.21.3
#reload no asterisk
asterisk -rx "core reload"
#No CLI consultar o user_agent
asterisk -rx "pjsip show settings" | grep -i "user_agent"
Deve ser apresentado o user_agent definido, MicroSIP/3.21.3
#Se estiver utilizando SIP
#Arquivo SIP(chan_sip)
/etc/asterisk/sip_general_custom.conf
#Parametros
useragent=MicroSIP/3.21.3
sdpsession=MicroSIP/3.21.3
Ourauthrealm=MicroSIP/3.21.3
realm=MicroSIP/3.21.3
sdpowner=MicroSIP/3.21.3
#Se tiver utilizando PJSIP(chan_pjsip)
#Arquivo
/etc/asterisk/pjsip_custom_post.conf
#Parametros
[global](+type=global)
user_agent=MicroSIP/3.21.3
#Arquivo
/etc/asterisk/pjsip.endpoint_custom_post.conf
#Parametros
[seu_trunk_vvn](+)
sdp_session=MicroSIP/3.21.3
#restart do asterisk
fwconsole chown
fwconsole restart
#Consultar no CLI o user_agent
asterisk -rx "sip show settings" | grep -i "user agent"
Na guia Connectivity e depois em Trunks, adicione um trunk do tipo PJSIP.
Na aba General, vamos adicionar somente o DDD+número, na plataforma da vivo encontra em "linha/ramal".
Na aba Dialed Number Manipulation Rules não faz necessário alterações, segue para aba pjsip Settings, nesta será feito as seguintes configurações;
General:
Abaixo os campos como devem estar definido:
Username = DDD + Número de Telefone
Auth username = DDD+Numero
Secret = Senha do Hardphone
Authentication = Outbound
Registration = Send
SIP Server = metapabx.vivo.net.br
SIP Server Port = 5060
Context = from-pstn
Transport = 0.0.0.0-udp
Na aba Advanced vamos checar e alimentar os seguintes parâmetros:
DTMF Mode = RFC 4733
Send Line in Registration = Yes
Send Connected Line = No
Permanent Auth Rejection = No
Forbidden Retry Interval = 30 Seconds
Fatal Retry Interval = 30 Seconds
General Retry Interval = 60 Seconds
Expiration = 3600 Seconds
Max Retries = 10000
Qualify Frequency = 0
Outbound Proxy = sip:187.50.251.58
User Phone = No
Contact User = DDD+Número
From Domain = metapabx.vivo.net.br
From User = DDD+Número
Client URI = sip:DDD+Número@metapabx.vivo.net.br
Server URI = sip:metapabx.vivo.net.br
Media Address = Deixar em Branco
AOR = DDD+Número
AOR Contact = sip:DDD+Número@metapabx.vivo.net.br:5060
Match (Permit) = 187.50.251.58
Support Path = No
Support T.38 UDPTL = No
T.38 UDPTL Error Correction = None
T.38 UDPTL NAT = No
T.38 UDPTL MAXDATAGRAM = Deixar em Branco
Fax Detect = No
Trust RPID/PAI = No
Send RPID/PAI = No
Send Private CallerID Information = No
Match Inbound Authentication = Auth Username
Inband Progress = No
Direct Media = No
Rewrite Contact = No
RTP Symmetric = Yes
Media Encryption = None
Force rport = Yes
Message Context = Deixar em Branco
Em Codecs deixe somente ALAW
Feito isso, o seu tronco Vivo Voz Negocio está pronto. Importante lembrar que tem que liberar as portas do seu roteador ou firewall a UDP 5060 (SIP) e as portas 16384-65535(RTP) somente para o IP 187.50.251.58, que é o ip do proxy da Vivo.
Realizado um teste de ligação apos as configurações com sucesso, sem dificuldades!
[Issabel] - Configurações do SIP Trunk VVN
Trunk Name:vivo Outbound CallerID:Login_VVN Outgoing Settings Trunk Name:vivo PEER Details: username=Login_VVN type=peer secret=Senha_VVN qualify=no port=5060 outboundproxy=187.50.251.58 nat=yes insecure=port,invite host=metapabx.vivo.net.br dtmfmode=rfc2833 disallow=all context=from-pstn allow=alaw fromdomain=metapabx.vivo.net.br Incoming Settings USER Context:Login_VVN USER Details: secret=Senha_VVN type=user context=from-trunk Register String: Login_VVN@metapabx.vivo.net.br:Senha_VVN@187.50.251.58/Login_VVN[Asterisk Puro] - Configurações do SIP Trunk VVN (PJSIP)
[global] type=global user_agent=MicroSIP [vivo] type=endpoint transport=transport-udp-nat context=from-vivo allow=!all,ulaw,alaw,g729 outbound_auth=vivo_auth outbound_proxy=sip:187.50.251.58\;lr from_domain=metapabx.vivo.net.br aors=vivo user_eq_phone=yes [vivo] type=aor contact=sip:Login_VVN@metapabx.vivo.net.br:5060 outbound_proxy=sip:187.50.251.58\;lr [vivo] type=identify match=187.50.251.58 endpoint=vivo [vivo] type=registration client_uri=sip:Login_VVN@metapabx.vivo.net.br server_uri=sip:metapabx.vivo.net.br outbound_auth=vivo_auth outbound_proxy=sip:187.50.251.58\;lr retry_interval=60 contact_user=Login_VVN [vivo_auth] type=auth auth_type=userpass username=Login_VVN password=Senha_VVN
Configuração do /etc/hosts
Conforme orientado pela LPI - Linux Professional Institute, o arquivo /etc/hosts é usado para resolver nomes para endereços IP e vice-versa. Tanto o IPv4 como o IPv6.$ cat /etc/hosts 127.0.0.1 localhost issabel.local 187.50.251.58 metapabx.vivo.net.br $
Link para acesso ao Telegram FreePBX Brasil"Começar é a parte mais importante de qualquer trabalho" - Platão
AlmaLinux vs Rocky Linux
Olá Pessoal, sejam muito bem vindos a mais um post no nosso site freepbx brasil, somente para efeito de informação, este é um site não oficial, é importante lembrar, para não ocorrer nenhum tipo desconforto com os canais oficiais, este é mantido pela comunidade open source que utiliza FreePBX, seja ele no formato ISO(suportado pela sangoma) ou no modelo custom que é realizada a instalação do OS e em seguida o FreePBX, porém não tem suporte a módulos comerciais junto a sangoma.
Agora vamos ao mais importante, o post, neste falaremos sobre duas distribuições baseadas no CentOS (Community Enterprise Operating System), almaLinux e o rocky linux, este informativo, será apenas para dar embasamento para os próximos posts que serão do FPBX rodando em ambas as distros mencionadas, espero que gostem, e qualquer dificuldade, fico a disposição para responde-los via telegram ou interação neste post.
O que aconteceu com o CentOS?
CentOS (Community Enterprise Operating System) se trata de uma distribuição Linux
gratuita que é uma opção mais avançada do que sua versão anterior, Red Hat
Enterprise Linux. Uma coisa que não muito bacana sobre o RHEL, são suas taxas de suporte,
então os clientes ficaram felizes em ver o CentOS no mercado. No entanto, quando a Red Hat
declarou que o CentOS seria retirado do mercado até o final de 2021 , todos entraram em pânico,
como empresas de hospedagem e desenvolvedores. Afinal, eles estavam prestes a perder um dos principais
softwares de nível empresarial que lhes fornecia um excelente suporte da comunidade.
O CentOS Linux viveria como CentOS Stream, o que não é tão ruim. No entanto, a parte complicada é que quem usa o CentOS Streams pode encontrar alguns bugs que não serão resolvidos até que os Red Hat Engineers lancem atualizações de segurança. Por causa desse problema, o fundador original do CentOS, Gregory Kurtzer, decidiu criar uma nova distribuição, Rocky Linux.
Antes de entrarmos em detalhes sobre AlmaLinux vs Rocky Linux, vamos voltar um pouco para ver como e quando Rocky Linux e AlmaLinux foram criados.
O AlmaLinux é outra reconstrução do Red Hat Enterprise Linux (RHEL)
que foi lançada em 30 de março de 2020. Após o fim da era do CentOS,
o debate AlmaLinux vs Rocky Linux foi o tópico movimentado entre os
usuários de sistemas operacionais baseados em Linux.
O AlmaLinux é um sistema operacional de código aberto e
pode ser a solução definitiva para o fim do CentOS. Primeiro veio o AlmaLinux 8.3,
que reflete a versão do RHEL em que se baseia, RHEL 8.3. Todos os usuários do CentOS podem
fazer a transição para o AlmaLinux sem nenhuma alteração de software.
Uma coisa importante que chama a atenção de todos os clientes que estão tentando obter uma
resposta para a questão AlmaLinux vs Rocky Linux é o valor em que o AlmaLinux deve gastar em sua
manutenção, US $1 milhão por ano. Isso significa que toda a equipe está determinada a garantir
o lançamento de atualizações exaustivamente testadas e patchs de segurança regularmente para que
os usuários possam ter a melhor experiência AlmaLinux.
Produtos | Vantagens | Desvantagens | Custo |
---|---|---|---|
AlmaLinux |
|
|
Livre |
Rocky Linux |
|
|
Livre |
AlmaLinux vs Rocky Linux (Desktop)
GNOME Desktop GUI é o ambiente de desktop padrão no AlmaLinux. Felizmente,
os usuários podem instalar o KDE Plasma no AlmaLinux mesmo que já tenham
instalado uma versão completa do GNOME para desktop. De fato, usuários de BSD,
Solaris, Windows e Mac OS X também podem usar o KDE Plasma.
GNOME é o ambiente de desktop padrão no Rocky Linux 8. Esta seção cobre informações
básicas sobre outro ambiente de desktop compatível com Rocky Linux, que é o KDE Plasma.
O Ambiente de Trabalho KDE (Kool Desktop Environment) é de código aberto e é bastante
fácil de usar. Talvez seja por isso que muitos usuários o preferem a outros ambientes
de desktop. A primeira versão do KDE foi lançada em 1998. Em 2009, o ambiente de desktop
do KDE foi nomeado KDE Plasma.
Se você é um novo usuário do Linux, o painel tradicional do KDE Plasma facilita a navegação
na web, o gerenciamento de arquivos ou qualquer outra atividade específica. No entanto,
chegar a uma decisão final sobre o ambiente de desktop Alma ou Rocky Linux depende de seus
requisitos específicos. A verificação desses pontos pode ajudá-lo a descobrir qual ambiente
de área de trabalho é mais adequado para você; KDE ou GNOME .
Vantagens dos programas KDE:
Vantagens dos programas GNOME:
AlmaLinux vs Rocky Linux (Segurança)
AlmaLinux OS vem com o CIS (Center for Internet Security) Benchmark.
Com o CIS Benchmark, todos os usuários podem configurar seus sistemas
com segurança. Existe até uma ferramenta chamada CIS-CAT que fornece
um relatório completo sobre todos os possíveis problemas de segurança.
CIS Benchmark está disponível para AlmaLinux 8.4 e 8.5 beta.
Além disso, para quem gosta de extremo cuidado, a ferramenta OpenSCAP
é um divisor de águas. Esta ferramenta verifica automaticamente a
vulnerabilidade do seu sistema.
O Rocky Linux 8.5 vem com o protocolo Network Time Security para uso
com suporte a NTP e Secure Boot. Além das medidas de segurança,
aqui estão alguns outros recursos brilhantes do Rocky Linux 8.5:
A principio, é importante estudar as possibilidades de um plano B para sua plaforma de estudos e/ou trabalho,
uma vez que a questão não é se irá ocorrer a mudança,até por que, ela vai acontecer!
Estar preparado para novas possibilidades é importante, e isso vai lhe fazer um profissional diferenciado. ✌😎🚀
Pessoal, por hoje é só, espero que este post possa auxiliá-los, peço-lhes a gentileza de qualquer dificuldade, correções e melhorias, me contacte.
FreePBX 16 disponibilizado!
O FreePBX 16 beta foi anunciado em junho e, desde então, foi observado pela equipe FreePBX, milhares de instalações desta versão. As equipes de engenharia e controle de qualidade concluíram seus testes, portanto, anunciaram no domingo(31/10) o FreePBX, que mudou de beta para GA (Público Geral).
- Suporte ao PHP 7.4
- Adições importantes ao módulo API com métodos GraphQL
- Padronizando o PJSIP como um único driver SIP. O Chan_SIP ainda é suportado, mas agora desabilitado por padrão durante a instalação;
- Modelos do painel de controle do usuário - os administradores agora podem personalizar a experiência do usuário do UCP antes que ele faça login no UCP pela primeira vez;
- Revisão do módulo do Firewall e integração dos recursos de detecção de intrusão com o Firewall;
- Limites ajustáveis para firewall responsivo - para administradores que buscam controle preciso sobre como o firewall responsivo detecta e bloqueia o tráfego SIP de IPs de origem não reconhecidos;
- Redirecionamento HTTPS - os administradores podem configurar serviços http individuais para redirecionar para https;
- Configuração do protocolo SSL - protocolos SSL individuais para https agora são configuráveis pelo administrador;
- AMI bindaddr - Uma nova instalação do FreePBX irá definir o AMI bind addr para localhost por padrão;
- Validação de senha UCP - O administrador pode habilitar e configurar várias regras de complexidade de senha para usuários que alteram senhas.
Bem como muitas melhorias e correções numerosas demais para serem mencionadas individualmente. A maioria dos novos recursos foram transferidos para o FreePBX 15 durante o período beta, portanto, os administradores e usuários do FreePBX podem já estar cientes e usar alguns desses recursos.
O método preferido de migração de uma versão anterior para o FreePBX 16 é restaurar um backup para uma nova instalação do FreePBX Distro ISO.
Tal como acontece com as principais atualizações anteriores, foi publicado um módulo de atualização de 15-> 16 versões que fará uma verificação do sistema e realizará a atualização.
Fonte: https://www.freepbx.org/freepbx-16-is-now-released-for-general-availability/
O FreePBX como sempre saindo na frente, este se não o melhor, é um dos melhores projetos opensource para criar seu PBX IP.
FreePBX, Asterisk 16 e Interface RESTful do Asterisk (ARI)
Sejam muito bem-vindos a mais uma postagem do site FreePBX Brasil, esta documentação vai lhe auxiliar a fazer as configurações para uso do ARI no FreePBX.
O intuito deste é contribuir com a comunidade auxiliando para execução discagens via API, um caso comum é quem faz o uso de discadores, que normalmente usam os famosos “aquivo.call” e/ou AMI para efetuar as discagens, ambos funcionam muito bem, mas fazendo uso de RESTful você vai dar um upgrade na sua aplicação.
A Interface RESTful do Asterisk (ARI) é uma API assíncrona que permite aos desenvolvedores construir aplicativos de comunicação no asterisk, fazendo uso de objetos por meio de eventos JSON e WebSocket, o ARI está no asterisk a partir da versão 12.
Antes de seguir, vale ressaltar que se caso identificar algum problema ou erro neste post, não deixe de nos reportar, o feedback é de suma importância para dar ainda mais qualidade aos conteúdos do site.
Laboratório:
- FreePBX 15;
- Asterisk 16;
- Insomnia - Versão free.
Vamos iniciar as configurações no FreePBX, primeiro criar o usuário RESTful.
A seguir será necessário ir nas configurações avançadas para habilitar o WebService do FreePBX para aceitar as requisições para o ARI.
Acima apresenta as configurações avançadas do FreePBX, aonde será configurado habilitando o WebService para as requisições de interação com o nosso core de telefonia, lembrando que estas configurações feitas via GUI do FreePBX são somente para interações com o asterisk. Lembre-se, qualquer alteração via GUI do FreePBX faz necessário logo em seguida salvar e aplicar, usando o "Submit" e o "Apply"!
Agora que já foi criado o usuario da API e habilitado o serviço de WebService, será necessário identificar se de fato temos o ARI ativo em nosso asterisk, vamos ao CLI.
[root@freepbx15 ~]# rasterisk -vvvvvvvcgi Asterisk 16.4.1, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark SpencerAsterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 16.4.1 currently running on freepbx15 (pid = 2212) freepbx15*CLI> ari show app apps status user users freepbx15*CLI>
No CLI digitando ari show e pressionando a tecla TAB será apresentado algumas opções que estão disponiveis para consulta, a seguir consultaremos os usuarios ativos ARI, status do serviço e se o WebService está ativo.
freepbx15*CLI> ari show users r/o? Username ---- -------- No freepbxuser No kowalski freepbx15*CLI>
freepbx15*CLI> ari show status ARI Status: Enabled: Yes Output format: compact Auth realm: Asterisk REST Interface Allowed Origins: * User count: 2 freepbx15*CLI>
freepbx15*CLI> http show status HTTP Server Status: Prefix: Server: Asterisk/16.4.1 Server Enabled and Bound to 0.0.0.0:8088 Enabled URI's: /httpstatus => Asterisk HTTP General Status /static/... => Asterisk HTTP Static Delivery /ari/... => Asterisk RESTful API /ws => Asterisk HTTP WebSocket Enabled Redirects: None. freepbx15*CLI>
Aqui observamos que nos serviços WEB do asterisk temos o ARI ativo, a linha "/ari/... => Asterisk RESTful API" os demais podemos abordar em um outro post. Idetificado que as configurações estão corretas com o ARI, será necessário agora, no asterisk criar um contexto para os testes.
vim /etc/asterisk/extensions_custom.conf [freepbxbrasil] exten => 1000,1,NoOp( ..:: ------------------------- ) same => n,NoOp( ..:: Comunidade FreePBX Brasil ) same => n,NoOp( ..:: Prof. Kowalski ) same => n,NoOp( ..:: ------------------------- ) same => n,Hangup()
Em seguida saia do vim salvando, vou pode usar o ":wq" ou ":x" que acho mais prático, após contexto criado e salvo, será necessario recarrega-lo , por que até então o asterisk não reconhece o mesmo, no CLI digite dialplan reload, para ter certeza que o contexto existe, certique usando o comando abaixo.
freepbx15*CLI> dialplan show freepbxbrasil [ Context 'freepbxbrasil' created by 'pbx_config' ] '1000' => 1. NoOp( ..:: ------------------------- ) [extensions_custom.conf:3] 2. NoOp( ..:: Comunidade FreePBX Brasil ) [extensions_custom.conf:4] 3. NoOp( ..:: Prof. Kowalski ) [extensions_custom.conf:5] 4. NoOp( ..:: ------------------------- ) [extensions_custom.conf:6] 5. Hangup() [extensions_custom.conf:12] -= 1 extension (5 priorities) in 1 context. =- freepbx15*CLI>
Pronto, agora está certificado que o contexto existe, agora será feito uma requisição API que vamos executa-lo e apresentar essas mensagens no console, para isso vamos usar o Insomnia na versão free, este muito usado para testes de rotas de API, assim como POSTMAN e muitos outros.
Este que será usado uma requisição POST, conforme orienta a documentação oficial do asterisk que ao término deste deixarei explicíto.
Acima em ❶ temos criado a nossa requisição de API do tipo "POST", seguindo a documentação do ari no site oficial do asterisk, que ao final informo o link. Em ❷ a requisição da api com os devidos parâmetros este que detalho a seguir, em ❸ aonde ao clicar será enviado sua requisição, em ❹ é um dos pontos mais importante deste processo, o codigo de retorno HTML, neste caso está como "200 OK" ou seja nossa requisição foi executar e o retorno foi sucesso, se o retorno for direfente disso, valide na documentação da API que na maioria das vezes alguns códigos de retornos são mapeados e documentados para lhe auxiliar em problemas.
Explicando item ❷ , para ficar de facíl entendimento, será colocado a url e vamos particiona-la para explicar cada parte da mesma.
Dados de autentição da API:
User ➜ kowalski
Password ➜ freepbxbrasil
IP do Server ➜ 192.168.200.24
Porta do WebService ➜ 8088
Dados do Asterisk baseado na documentação oficial:
channels ➜ Rota da API ARI
endpoint ➜ O canal usado para comunicação interna com o asterisk
extension ➜ Extensão criada no nosso contexto
freepbxbrasil ➜ Contexto criado para homologação conforme acima.
priority ➜ a nivel de dialplan estamos iniciando nesta posição do contexto
callerid ➜ o callerid que vamos utilizar para essa requisição
Agora com as informações acima validada, já pode ser feita a requisição via insomnia e o retorno deve ser um "200 OK", acompanhe no seu asterisk via terminal (CLI), abaixo um exemplo de quando o asterisk recebe a requisição via ARI.
Acima temos o retorno de quando a requisição foi executada com sucesso, assim como o contexto do asterisk como esperado.
Pronto, agora que você aprendeu o básico de usabilidade do recurso ARI que tem disponível em seu asterisk, aproveite que este assim como muitos outros recursos no asterisk fazem o diferencial na solução de telefonia.
A seguir vou documentar as referências utilizadas nesta documentação, obrigado e até a próxima.
1- Asterisk REST Interface (ARI)
2- Introduction to ARI and Channels
3- Asterisk 16 Channels REST API
4- Local Channel
"Começar é a parte mais importante de qualquer trabalho" - Platão
     
Instale o dongle no seu FreePBX 14 e Asterisk 13
Sejam muito bem-vindos a mais uma postagem do site freepbx brasil. Esta documentação vai lhe auxiliar a fazer a instalação do seu modem Dongle e utilizar para receber e efetuar ligações no freepbx. Antes de qualquer coisa não deixe de colaborar com conteúdos para alimentar essa base de conhecimentos. Vamos ao trabalho!
Laboratório:
- FreePBX 14;
- Asterisk 13;
- Dongle: Modelo E1553;
- Modulo Dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 43gh=47cg
[ Processo de Instalação ]
yum install asterisk13-devel automake git -y
git clone https://github.com/wdoekes/asterisk-chan-dongle.git
cd asterisk-chan-dongle
./bootstrap
./configure --with-astversion=13.32.0
Obs.: --with-astversion=13.32.0 onde "13.32.0" será a versão do seu asterisk
make
make install
fwconsole restart
chown asterisk:asterisk /etc/asterisk/dongle.conf
chmod 755 /etc/asterisk/dongle.conf
asterisk -rx "dongle show devices"
echo 'KERNEL=="ttyUSB*", MODE="0666", OWNER="asterisk", GROUP="dialout"'>/etc/udev/rules.d/92-dongle.rules
Obs.: A linha acima, fique atento que estamos exectando um echo no conteúdo
para dentro do arquivo.
Se dentro do diretório do seu asterisk (Caminho: /etc/asterisk/) não existir o arquivo "dongle.conf", faça o download aqui do arquivo pronto, só ajustar para o seu ambiente.
Se no momento de rodar o "MAKE" se deparar com o erro:
smsdb.c:26:21: fatal error: sqlite3.h: No such file or directory
#include
Agora partindo do principio que o processo de instalação foi finalizado com sucesso, antes seguir para as configurações no painel do seu freepbx, vamos fazer alguns ajustes no arquivo de configuração o "dongle.conf" para que seu Laboratório funcione perfeitamente.
[root@freepbxbrasil ~]# vim /etc/asterisk/dongle.conf
Altere as seguintes linhas abaixo: language=pt_br mindtmfgap=0 mindtmfduration=0 mindtmfinterval=0 callwaiting=no
Obs.: Os ajustes acima é para fazer uso do seus audios em português apontando a pasta dos mesmos, no caso aqui será "pt_br" segundo é para não ter problemas com DTMF e por fim desativamos a chamada em espera no modem(callwaiting).[dongle0] audio=/dev/ttyUSB1 data=/dev/ttyUSB2 exten=5511988775544
Obs.: as configurações acima estamos setando a identificação do modem "dongle0" nosso primeiro modem, pela ordem, e as portas de audio, dados e a exten que é o numero que está no chip adicionado no modem, desta forma você pode se necessário individualizar as chamadas entrantes se estiver mais de um dongle.[root@freepbxbrasil ~]# asterisk -rx "dongle show devices"
Agora vamos as configurações no freepbx.
No caminho: Connectivity ➔ Trunks Opção: + Add Custom Trunk Na guia "General" defina apenas o nome do tronco como "Dongle0". Ainda na mesma tela de configuração, vá até a guia "custom Settings", adicione a seguinte linha: "Dongle/dongle0/$OUTNUM$" em seguinda pressione o Submit (Salvar) e apply (Aplicar). Agora que já criou o tronco de saida das suas chamadas, precisamos configurar duas coisas para que funcione de fato, sua rota de saida e entrada, para receber e efetuar ligações. No caminho: Connectivity ➔ Outbound Routes Será configurada a rota de saída. Opção: + Add Outbound Route Na guia "Route Settings" defina o nome da sua rota de saída neste laboratório será "Saida Dongle" na mesma tela, penultima opção é a "Trunk Sequence for Matched Routes" aqui você define por qual tronco, essa rota que está criando vai sair com chamadas, neste caso vamos definir o tronco que foi criado dongle0, na mesma tela mas na guia "Dial Patterns" deve ser configurado as suas regras de discagens, vou descreva-las e também deixa a imagem abaixo pra ficar facil o entendimento. Vamos definir uma regra apenas para chamadas locais e DDD para movel(Celular) que seria "9XXXXXXXX" observe que estamos tratando apenas ligações que comecem com "Nove" mais oito digitos que somando tormam "nove digitos" exatamente uma discagem para celular local e para DDD adicionamos mais dois digitos, que deve ficar assim, "ZZ9XXXXXXXX", vale lembra que no caso de chamadas longa distância nacional, é necessario adicionar o codigo da operadora, no meu caso estou usando um chip da operadora vivo, logo a discagem pra longa distancia deve ser "015 + DDD + NumeroDestino."
No caso estamos usando o "ZERO" para efetuar uma chamada, com as regras de dialplan acima podem ser feitas chamadas tanto local quanto DDD, ligações para outro estado o usuario local não precisa colocar o código da operadora somente "0 + DDD + NumeroDestino". Após definir essas configurações salve e aplique, assim você deve conseguir efetuar chamadas de saida pelo seu modem. No caminho: Connectivity ➔ Inbound Routes Será configurada a rota de entrada, que pode direcionar para uma URA, Fila etc. Opção: + Add Inbound Route No campo "Description" defina uma descrição para sua rota de entrada, no campo "DID Number" adicione o numero do chip adicionado ao dongle que foi definido no campo exten=5511988775544 dentro do arquivo dongle.conf, coloque somente o numero "5511988775544", na mesma tela a ultima opção "Set Destination" você vai definir o destino que vai receber a chamada quando a ligação externa chegar pelo seu chip/dongle, em seguida salve e aplique as configurações, agora se seguiu atentamente os passos anteriores, já deve conseguir, receber e efetuar ligações usando o seu dongle. Qualquer dúvida sobre modelos de modens compatíveis veja o link sobre requisitos e limitações. Espero que essa documentação tenha lhe auxiliado, não deixe de nos enviar o seu feedback, até a proxima!
Popular Posts
-
Aviso importante: Este material foi elaborado exclusivamente para fins educacionais e acadêmicos, com o objetivo de...
-
Digitro OI - Tutorial de configuração do Digitronco Oi no FreePBX. Este material foi desenvolvido e contribuído pelo mem...
-
Imagem gerada por Inteligência Artificial. O que é o Sngrep? O Sngrep é um programa ...
Like Us

Blogger templates
Categories
- AEL
- api
- api rest
- ari
- ASTERISK
- Asterisk 13
- Asterisk 16
- asterisk ip pbx
- asterisk pbx
- asterisk setup
- asterisk sip
- asterisk voip
- asterisk13
- asterisk16
- AsteriskNow
- backup
- Bash
- CentOS 7
- custom
- custom_context
- Debian 9 stretch
- DINSTAR
- DISA
- dongle
- Elastix
- fpbx
- FreePBX
- FreePBX 14
- FreePBX 15
- Freepbx14
- freepbx15
- freepbx16
- FXO
- IAX
- iax2
- INIT
- integracao
- interligacao
- introduction
- issabel
- linux
- Magnus Billing
- microsip
- modem
- negocio
- phonebook
- pjsip
- POTS
- Relay
- rest api
- restful
- restore
- Sangoma
- scripts
- setup
- Shell
- sip
- SMTP
- sngrep
- stasis
- SYSTEMD
- SysV
- tftp
- trunk
- vivo
- voip
- voz
- vvn
- web api
- yealink
Contribuidores
Número total de visitas
Pesquisar neste blogue
Blog Archive
- março 2025 (2)
- maio 2023 (1)
- setembro 2022 (1)
- novembro 2021 (1)
- novembro 2020 (1)
- abril 2020 (1)
- janeiro 2020 (1)
- maio 2019 (3)
- abril 2019 (3)
- dezembro 2018 (1)
- outubro 2018 (2)
- setembro 2018 (1)
- julho 2018 (1)
- maio 2018 (3)
- abril 2018 (1)
- março 2018 (1)
- fevereiro 2018 (1)
- novembro 2017 (1)
- junho 2017 (1)
Labels
- AEL
- api
- api rest
- ari
- ASTERISK
- Asterisk 13
- Asterisk 16
- asterisk ip pbx
- asterisk pbx
- asterisk setup
- asterisk sip
- asterisk voip
- asterisk13
- asterisk16
- AsteriskNow
- backup
- Bash
- CentOS 7
- custom
- custom_context
- Debian 9 stretch
- DINSTAR
- DISA
- dongle
- Elastix
- fpbx
- FreePBX
- FreePBX 14
- FreePBX 15
- Freepbx14
- freepbx15
- freepbx16
- FXO
- IAX
- iax2
- INIT
- integracao
- interligacao
- introduction
- issabel
- linux
- Magnus Billing
- microsip
- modem
- negocio
- phonebook
- pjsip
- POTS
- Relay
- rest api
- restful
- restore
- Sangoma
- scripts
- setup
- Shell
- sip
- SMTP
- sngrep
- stasis
- SYSTEMD
- SysV
- tftp
- trunk
- vivo
- voip
- voz
- vvn
- web api
- yealink
Labels
- AEL
- api
- api rest
- ari
- ASTERISK
- Asterisk 13
- Asterisk 16
- asterisk ip pbx
- asterisk pbx
- asterisk setup
- asterisk sip
- asterisk voip
- asterisk13
- asterisk16
- AsteriskNow
- backup
- Bash
- CentOS 7
- custom
- custom_context
- Debian 9 stretch
- DINSTAR
- DISA
- dongle
- Elastix
- fpbx
- FreePBX
- FreePBX 14
- FreePBX 15
- Freepbx14
- freepbx15
- freepbx16
- FXO
- IAX
- iax2
- INIT
- integracao
- interligacao
- introduction
- issabel
- linux
- Magnus Billing
- microsip
- modem
- negocio
- phonebook
- pjsip
- POTS
- Relay
- rest api
- restful
- restore
- Sangoma
- scripts
- setup
- Shell
- sip
- SMTP
- sngrep
- stasis
- SYSTEMD
- SysV
- tftp
- trunk
- vivo
- voip
- voz
- vvn
- web api
- yealink
Boxed Version
Default Variables
Pages - Menu
Link List
Posts Recentes
-
Aviso importante: Este material foi elaborado exclusivamente para fins educacionais e acadêmicos, com o objetivo de...
-
Sejam muito bem-vindos a mais uma postagem do site FreePBX Brasil, esta documentação vai lhe auxiliar a fazer as configur...
-
Olá sejam muito bem-vindos a mais uma documentação para auxiliar a comunidade não só freepbx, mas também Issabel, este que usa o freepb...
-
Quando acabarmos com este artigo usamos as seguintes tecnologias: - Debian 9.0 ; - Asterisco 13 ; - FreePBX 13 ; - MariaDB 10.1 ; - PHP ...
-
Sejam muito bem-vindos a mais uma postagem do site freepbx brasil. Esta documentação vai lhe auxiliar a fazer a instalaç...
Posts populares
-
Aviso importante: Este material foi elaborado exclusivamente para fins educacionais e acadêmicos, com o objetivo de...
-
Sejam muito bem-vindos a mais uma postagem do site FreePBX Brasil, esta documentação vai lhe auxiliar a fazer as configur...
-
Olá sejam muito bem-vindos a mais uma documentação para auxiliar a comunidade não só freepbx, mas também Issabel, este que usa o freepb...
-
Quando acabarmos com este artigo usamos as seguintes tecnologias: - Debian 9.0 ; - Asterisco 13 ; - FreePBX 13 ; - MariaDB 10.1 ; - PHP ...
-
Sejam muito bem-vindos a mais uma postagem do site freepbx brasil. Esta documentação vai lhe auxiliar a fazer a instalaç...