aboutsummaryrefslogtreecommitdiffstats
path: root/doc/math.txt
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-01 17:49:02 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-01 17:49:02 +0000
commit0c43a5ab3637e311a9232ae77ecd8e7f05c2f8cc (patch)
tree7232cd823d72b5a6ef890d323283b7974188da47 /doc/math.txt
parentfa9fd8ae706c13f63d7db560596ea10b44c8c69d (diff)
- Removing the "README." from the name of the README files.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9047 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'doc/math.txt')
-rw-r--r--doc/math.txt69
1 files changed, 69 insertions, 0 deletions
diff --git a/doc/math.txt b/doc/math.txt
new file mode 100644
index 000000000..7718f9e44
--- /dev/null
+++ b/doc/math.txt
@@ -0,0 +1,69 @@
+
+Mathematical dialplan function
+
+Yeah, I thought it was a little insane too..
+
+adds:
+
+Sum, Multiply, Divide, Subtract, Modulus, GT, LT, GTE, LTE, EQ functions to Asterisk
+
+All functions follow the same basic pattern for parameters:
+
+parameter 1 = the math expression
+parameter 2 = the type of result
+
+Perform calculation on number 1 to number 2. Valid ops are:
+ +,-,/,*,%,<,>,>=,<=,==
+and behave as their C equivalents.
+
+<type_of_result> - wanted type of result:
+ f, float - float(default)
+ i, int - integer,
+ h, hex - hex,
+ c, char - char
+
+Each math expression is performed as
+
+ Action param1 on param2
+
+eg:
+
+ Action = Divide
+ Param1 = 10
+ Param2 = 2
+
+Results in
+
+ Divide 10 by 2
+
+
+Example dialplan:
+
+exten => 11099,1,Set(RV=${MATH(1+20)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(10*2)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(10*2)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(10-2)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(2%10)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(10/0)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(10-200)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(1-20)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(1<20)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(1>=20)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(101>20)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(1==20)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(20<=20)})
+exten => 11099,n,NOOP(${RV})
+exten => 11099,n,Set(RV=${MATH(123%16,int)})
+exten => 11099,n,NOOP(${RV})