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.

[ Hits: 4.435 ]

Por: Robson Leite em 27/04/2022 | Blog: https://www.linkedin.com/in/robson-leite-308bb9143/


Fluxo de dados



Agora iremos definir um fluxo a ser seguido pelo sistema a partir do valor definido em COR

Editando novamente o arquivo /etc/asterisk/extensions.conf com seu editor de texto favorito, e defina o plano de discagem abaixo:

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

exten => 1,1,Set(COR=AZUL)
exten => 1,n,Goto(resultado,s,1)

exten => 2,1,Set(COR=BRANCO)
exten => 2,n,Goto(resultado,s,1)

[resultado]
exten => s,1,Gotoif($[${COR} = AZUL]?10:20)

exten => s,10,Noop(definida a variável cor com valor "AZUL")
exten => s,n,Hangup()

exten => s,20,Noop(definida a variável cor com valor "BRANCO")
exten => s,n,Hangup()

Após editar o arquivo digite:

# asterisk -rx "dialplan reload"

para carregar as novas regras de discagem.

Detalhando um pouco o código mais acima, temos uma entrada parecida com a do código da página anterior, porém agora temos apenas 2 variáveis e a aplicação Gotoif que será responsável por tomar uma decisão de acordo com o valor atribuído a variável COR, no caso se COR = AZUL o fluxo será direcionado para a prioridade 10 se a afirmação logica anterior não for verdadeira o fluxo irá para a prioridade 20.

Entrando na CLI do asterisk com o comando:

# asterisk -rvvvvvv

ao realizarmos novos testes temos a seguinte saída:

Ao digitar 1 definindo a variável COR com o valor AZUL.
Ao digitar 2 definindo a variável COR com o valor BRANCO.
Página anterior    

Páginas do artigo
   1. Definindo variáveis pelo plano de discagem
   2. Fluxo de dados
Outros artigos deste autor

Explorando o Network Manager

Inicializando servidor Ubuntu na AWS e rodando apache em Container

Asterisk - Configurando Ramais, Plano de Discagem e URA Simples

VOIP - Interceptando tráfego de pacotes

Leitura recomendada

Instalando e configurando o Java JDK no Slackware Linux

PuTTY - Release 0.66 - Parte II

Tint2 - Split TaskBar com Dual Monitor

OCSInventory com inventário de pacote Microsoft Office - Instalação no Ubuntu Server

Instalando e configurando o PostgreSQL

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts