Pular para o conteúdo

Asterisk - Definindo variáveis e manipulando fluxo de dados

Neste artigo, iremos explorar a definição de variáveis, e o controle do fluxo de dados com a aplicação "gotoif" no ambiente Asterisk.
Robson Leite robsonleite
Hits: 5.790 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

Definindo variáveis pelo plano de discagem

Para facilitar os testes iremos utilizar o Issabel, que possui uma interface gráfica para programações de algumas funções do Asterisk.

Podemos programar em texto utilizando o arquivo /etc/asterisk/extensions_custom.conf.

Acessando o arquivo "extensions_custom.conf" podemos criar um plano de discagem personalizado no sistema, podendo assim utilizar as aplicações do Asterisk.

Abra o arquivo "extensions_custom.conf" com seu editor de texto predileto e cole o código abaixo:

[300]
exten => s,1,Answer()
exten => s,n,Waitexten(9)

exten => 1,1,Set(COR=AZUL)
exten => 1,n,Hangup()

exten => 2,1,Set(COR=BRANCO)
exten => 2,n,Hangup()

exten => 3,1,Set(COR=VERDE)
exten => 3,n,Hangup()

No código acima está definida as regras de discagem do custom destination "300,s,1".

Dê o comando:

# asterisk -rx "dialplan reload"

para que o sistema carregue as novas regras que definimos.

Detalhando um pouco o código temos o seguinte:
  • [300] Nome de entrada (Destino) do código
  • Answer, é a aplicação que "atenderá" a ligação
  • Waitexten(9), aguarda o ramal que efetuou a chamada digitar um número no caso estamos utilizando os números 1, 2 e 3 para "setar" os valores "AZUL", "BRANCO" e VERDE na variável COR respectivamente.

Realizando alguns testes direcionando a ligação para o fluxo "300,s,1" obtivemos o seguinte resultado:

Ao discar 1 é possível notar pela CLI do Asterisk que a variável COR recebe o valor AZUL:
ao discar 2, COR é definida como branco.
ao discar 3, a variável é definida com valor "VERDE".
Se quiser realizar um debug como o das imagens mais acima basta digitar:

# asterisk -rvvvvvv

e será possível monitorar cada linha de código da chamada.

   1. Definindo variáveis pelo plano de discagem
   2. Fluxo de dados

Inicializando servidor Ubuntu na AWS e rodando apache em Container

VOIP - Interceptando tráfego de pacotes

Explorando o Network Manager

Asterisk - Configurando Ramais, Plano de Discagem e URA Simples

Aplicações Windows em ambiente Linux com SeamlessRDP

Entendendo o processo de boot

Configurando cliente na rede wireless com criptografia WPA - Debian

Configuração de rede mesh em Ap Router Pro

Vim com corretor ortográfico em pt_BR/es_ES/en_US

#1 Comentário enviado por maurixnovatrento em 05/07/2022 - 22:38h

Bom artigo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

Contribuir com comentário

Entre na sua conta para comentar.