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; }