Documentation |
## Documentation.Script-Operators-1-7 HistoryHide minor edits - Show changes to markup August 05, 2013, at 04:06 PM
by
- Changed line 4 from:
to:
(:allVersions Script-Operators 1.7:) May 29, 2013, at 12:52 AM
by
- Changed line 21 from:
Assignments 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. to:
Assignments 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. May 29, 2013, at 12:51 AM
by
- Added lines 1-73:
## Documentation -> Manuals -> Manual 1.7 -> Script Operators(:title Script Operators - ver 1.7 :) Page for other versions: devel 1.9 1.8 old versions: 1.7 1.6 1.5 1.4
(:toc-float Table of Content:) Assignments, string and arithmetic operations can be done directly in the configuration file. ## 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; ## String operationsFor strings, '+' is available to concatenate. $var(a) = "test"; $var(b) = "sip:" + $var(a) + "@" + $fd; ## 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"); |