Operador script
Atribuições , operações aritimeticas ou de string podem ser diretamente realizadas através do arquivo de configuração
Atribuição
Atribuiçòes podem ser realizada como em programação em C, através do operador '=', observe que nem todas as variáveis podem ser escritos , existem algumas que são apenas leitura, você pode verificar as Variaveis de Core para saber quais podem ser escritas
[@ $var(a) = 123; $ru = "sip:user@domain"; @]
There is a special assign operator ':=' (colon equal) that can be used with AVPs. If the right value is null, all AVPs with that name are deleted. If different, the new value will overwrite any existing values for the AVPs with than name (on other words, delete existing AVPs with same name, add a new one with the right side value).
[@ $avp(val) := 123; @]
!!!!String operations
For strings, '+' is available to concatenate.
[@ $var(a) = "test"; $var(b) = "sip:" + $var(a) + "@" + $fd; @]
!!!!Arithmetic and bitwise operations
For numbers, one can use:
- + : plus
- - : minus
- / : divide
- * : multiply
- % : modulo
- | : bitwise OR
- & : bitwise AND
- ^ : bitwise XOR
- ~ : bitwise NOT
- << : bitwise left shift
- >> : bitwise right shift
Example:
[@ $var(a) = 4 + ( 7 & ( ~2 ) ); @]
NOTE: to ensure the priority of operands in expression evaluations do use __parenthesis__.
Arithmetic expressions can be used in condition expressions via test operator ' [ ... ] '.
[@ if( [ $var(a) & 4 ] )
log("var a has third bit set\n");
@]