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: 1.191 ]

Por: Robson Leite em 27/04/2022 | Blog: https://gitlab.com/Robson5612


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.

    Próxima página

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

Asterisk - Configurando Ramais, Plano de Discagem e URA Simples

VOIP - Interceptando tráfego de pacotes

Explorando o Network Manager

Leitura recomendada

Configurando Wireless-USB Bright-0091

Linux com cara de Windows para atrair novos usuários

[Finalmente] Movendo o lançador Unity para o fundo da tela

WPA + bcm43xx-fwcutter no Ubuntu Dapper 6.06

NFS sem segredos

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts