Documentation |
## Documentation -> Manuals -> Manual 1.9 -> Script OperatorsPages for other versions: devel 1.11 1.10 1.9 old versions: 1.8 1.7 1.6 1.5 1.4
Assignments, string and arithmetic operations can be done directly in the configuration file. ## 1. AssignmentAssignments can be done like in C, via '=' (equal) operator. Not that not all variables (from script) can be written, some are read-only. Check with listing of variables to see which ones can be written too. $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 $avp(val) := 123; ## 2. String operationsFor strings, '+' is available to concatenate. $var(a) = "test"; $var(b) = "sip:" + $var(a) + "@" + $fd; ## 3. Arithmetic and bitwise operationsFor 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"); |