Espressões Matemáticas e Lógicas

Operadores matemáticos que podem ser utilizados:

+ soma
– subtração
* multiplicação
/ divisão
% módulo

Operadores lógicos que podem ser utilizados:

& E
| Ou
= Igual
> Maior
>= Maior ou igual que
< Menor
<= Menor ou igual que
!= Diferente

Para realizar uma operação lógica basta colocala entre $[ ] exemplo:

$[1 + 2]
$[${ARG1} + ${ARG2}]

Atribuindo o valor à uma variável:
Set(VARIÁVE=$[${ARG1} + ${ARG2}])
Expressões / Aplicações Lógicas

GotoIf() É uma estrutura de seleção seguida de um goto, ou seja, vai para determinada parte do extensions.conf caso seja verdadeiro, exemplo
exten => s,n,GotoIf($[4>3]?ura,s,1:ura,i,1) – Caso 4 seja maior que 3, vai para o contexto ura, extension s e prioridade 1, caso seja falso vai para contexto ura, extensão i (invalid) e prioridade 1.

GotoIfTime() – Desvia o contexto caso o horário esteja de acordo com o especificado, exemplo:
exten => s,n,GoIfTime(8:00-12:59,*,*,*?manha,s,1)

ExecIf – Executa algo se a expressão for verdadeira
exten => s,n,ExecIf($[4>3]?SayDigits(4))

ExecIfTime() Executa algo caso a hora seja a hora especificada. Você pode usa-la no horário de almoço por exemplo, tocando um arquivo de audio que diz que a empresa está em seu horário de almoço.
exten => s,n,ExecIfTime(12:00-13:00,*,*,*?PlayBack(almoco))

FONTE: Asterisk na prática – Alexandre Keller – novatec

One thought on “Espressões Matemáticas e Lógicas”

Leave a Reply to Elliptical Review Cancel reply

Your email address will not be published.