Merge anthm's monitor fixes (better default path, set variable for monitor) (bug...
[asterisk/asterisk.git] / doc / README.math
1
2 Mathematical functions application
3
4 Yeah, I thought it was a little insane too.. 
5
6 adds:
7
8 Sum, Multiply, Divide, Subtract, Modulus, GT, LT, GTE, LTE, EQ functions to asterisk
9
10 All functions follow the same basic pattern for parameters:
11
12 parameter 1 = the name of the return variable
13 parameter 2 = the operation
14 parameter 3 = the second number
15
16 Each action is perfromed as
17
18  Action param1 on param2
19
20 eg: 
21
22  Action = Divide
23  Param1 = 10
24  Param2 = 2
25
26 Results in 
27
28  Divide 10 by 2
29
30
31 Example dialplan:
32
33 exten => 11099,1,Math(RV,1+20)
34 exten => 11099,2,NOOP(${RV})
35 exten => 11099,3,Math(RV,10*2)
36 exten => 11099,4,NOOP(${RV})
37 exten => 11099,5,Math(RV,10*2)
38 exten => 11099,6,NOOP(${RV})
39 exten => 11099,7,Math(RV,10-2)
40 exten => 11099,8,NOOP(${RV})
41 exten => 11099,9,Math(RV,2%10)
42 exten => 11099,10,NOOP(${RV})
43 exten => 11099,11,Math(RV,10/0)
44 exten => 11099,12,NOOP(${RV})
45 exten => 11099,13,math(RV,10-200)
46 exten => 11099,14,NOOP(${RV})
47 exten => 11099,15,Math(RV,1-20)
48 exten => 11099,16,NOOP(${RV})
49 exten => 11099,17,Math(RV,1<20)
50 exten => 11099,18,NOOP(${RV})
51 exten => 11099,19,Math(RV,1>=20)
52 exten => 11099,20,NOOP(${RV})
53 exten => 11099,21,Math(RV,101>20)
54 exten => 11099,22,NOOP(${RV})
55 exten => 11099,23,Math(RV,1==20)
56 exten => 11099,24,NOOP(${RV})
57 exten => 11099,25,Math(RV,20<=20)
58 exten => 11099,26,NOOP(${RV})
59
60