Operador script

De opensipsbrasil - wiki
Revisão de 23h40min de 6 de outubro de 2013 por Mike (discussão | contribs) (Criou página com '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 realiz...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

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");

@]