aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/pbx/ael/ael-test/ael-vtest17/extensions.ael
blob: d13fe99d738716e9ea157840623a85f8b39f3d4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
context dialextens
{
	/* 
		101 thru 123, 149 thru 152
        */
	_10X => Dial(Zap/${EXTEN:2},30,tw);
	_1ZX => Dial(Zap/${EXTEN:1},30,tw);
}
/* 
    Due to extenal wiring:

  dialing 125 will ring 101
  dialing 126 will ring 102
   and so on until
  dialing 147 will ring 123

We can dial out on zap 69 thru 72; and 25-47

*/

context dialthrus
{
	/*  369-372; 325-347 */
	_3XX => Dial(Zap/${EXTEN:1},30,tw);
}

context t1incoming
{
	includes
	{
		dialextens;
		parkedcalls;
	}
	s => {
		Answer();
		Background(welcome-to-test-machine);
	}

}

context t1extension
{
	includes
	{
		dialextens;
		dialthrus;
	}

}

context incoming
{
	includes
	{
		dialextens;
		parkedcalls;
	}
	s => {
		Answer();
		Background(welcome-to-test-machine);
	}
}

context extension
{
	includes
	{
		dialextens;
		dialthrus;
	}
	5 => {
		Record(recording:gsm);
		Background(recording);
	}

	81 => {
		iterations=1000000;
		Set(time1=${EPOCH});
		for(i=1; ${i}<${iterations}; i=${i}+1)
		{
			NoOp(Hello);
		}
		Set(time2=${EPOCH});
		Verbose(The time diff is $[${time2} - ${time1} ] seconds);
		Verbose(Which means that the priorities/sec = $[4* ${iterations} / (${time2} - ${time1}) ]);
		SayNumber($[4 * ${iterations} / (${time2} - ${time1}) ]);
	}
	82 => {
			&ndeep(100000);
			Verbose(Finished 100000 levels deep call!);
		}
	83 => {
		switch (${EXTEN}) 
		{
		pattern 8X:
    			Verbose(do something to prepare it);
		pattern 9X:
    			Verbose(handle both 8x and 9x calls);
		pattern [4-7]X:
			Verbose(and this too!);

		}

	}
}

macro ndeep(level)
{
        if( ${level} == 0)
        {
                Verbose(2|Got to Level 0);
                return;
        }
        &ndeep($[${level}-1]);
        return;
}