TEST #1: [Mar 7 23:48:19] VERBOSE[2096] pbx.c: -- Goto (macrotest,s,1) [Mar 7 23:48:19] VERBOSE[2096] pbx.c: -- Executing [s@macrotest:1] Answer("SIP/trunk-00000000", "") in new stack [Mar 7 23:48:19] VERBOSE[2096] pbx.c: -- Executing [s@macrotest:2] Gosub("SIP/trunk-00000000", "macro_level1,~~s~~,1") in new stack [Mar 7 23:48:19] VERBOSE[2096] pbx.c: -- Executing [~~s~~@macro_level1:1] NoOp("SIP/trunk-00000000", "*** Running macro level 1 ***") in new stack [Mar 7 23:48:19] VERBOSE[2096] pbx.c: -- Executing [~~s~~@macro_level1:2] NoOp("SIP/trunk-00000000", "Hangup in macro_level1 should run h in context that invokes the macro") in ne$ [Mar 7 23:48:19] VERBOSE[2096] pbx.c: -- Executing [~~s~~@macro_level1:3] Wait("SIP/trunk-00000000", "10") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: == Spawn extension (macro_level1, ~~s~~, 3) exited non-zero on 'SIP/trunk-00000000' [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macro_level1:1] Set("SIP/trunk-00000000", "~~parentcxt~~=macrotest") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macro_level1:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macro_level1:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Goto (macro_level1,h,4) [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macro_level1:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macro_level1:5] Goto("SIP/trunk-00000000", "macrotest,h,1") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Goto (macrotest,h,1) [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:1] NoOp("SIP/trunk-00000000", "Catch h in context that invokes the macro") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Goto (macrotest,h,4) [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:5] Goto("SIP/trunk-00000000", "macrotest,h,1") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Goto (macrotest,h,1) [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:1] NoOp("SIP/trunk-00000000", "Catch h in context that invokes the macro") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Goto (macrotest,h,4) [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:5] Goto("SIP/trunk-00000000", "macrotest,h,1") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Goto (macrotest,h,1) [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:1] NoOp("SIP/trunk-00000000", "Catch h in context that invokes the macro") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Goto (macrotest,h,4) [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:5] Goto("SIP/trunk-00000000", "macrotest,h,1") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Goto (macrotest,h,1) [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:1] NoOp("SIP/trunk-00000000", "Catch h in context that invokes the macro") in new stack [Mar 7 23:48:23] VERBOSE[2096] pbx.c: -- Executing [h@macrotest:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack TEST #2: [Mar 7 23:52:05] VERBOSE[2175] pbx.c: -- Executing [s@macrotest:1] Answer("SIP/trunk-00000000", "") in new stack [Mar 7 23:52:06] VERBOSE[2175] pbx.c: -- Executing [s@macrotest:2] Gosub("SIP/trunk-00000000", "macro_level1,~~s~~,1") in new stack [Mar 7 23:52:06] VERBOSE[2175] pbx.c: -- Executing [~~s~~@macro_level1:1] NoOp("SIP/trunk-00000000", "*** Running macro level 1 ***") in new stack [Mar 7 23:52:06] VERBOSE[2175] pbx.c: -- Executing [~~s~~@macro_level1:2] NoOp("SIP/trunk-00000000", "Hangup in macro_level1 should run h in context that invokes the macro") in ne$ [Mar 7 23:52:06] VERBOSE[2175] pbx.c: -- Executing [~~s~~@macro_level1:3] Wait("SIP/trunk-00000000", "10") in new stack [Mar 7 23:52:16] VERBOSE[2175] pbx.c: -- Executing [~~s~~@macro_level1:4] Gosub("SIP/trunk-00000000", "macro_level2,~~s~~,1") in new stack [Mar 7 23:52:16] VERBOSE[2175] pbx.c: -- Executing [~~s~~@macro_level2:1] NoOp("SIP/trunk-00000000", "*** Running macro level 2 ***") in new stack [Mar 7 23:52:16] VERBOSE[2175] pbx.c: -- Executing [~~s~~@macro_level2:2] NoOp("SIP/trunk-00000000", "Hangup in macro_level2 should run h in context that invokes the macro") in ne$ [Mar 7 23:52:16] VERBOSE[2175] pbx.c: -- Executing [~~s~~@macro_level2:3] Wait("SIP/trunk-00000000", "10") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: == Spawn extension (macro_level2, ~~s~~, 3) exited non-zero on 'SIP/trunk-00000000' [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level2:1] Set("SIP/trunk-00000000", "~~parentcxt~~=macro_level1") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level2:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level2:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macro_level2,h,4) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level2:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level2:5] Goto("SIP/trunk-00000000", "macro_level1,h,1") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macro_level1,h,1) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level1:1] Set("SIP/trunk-00000000", "~~parentcxt~~=macrotest") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level1:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level1:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macro_level1,h,4) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level1:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macro_level1:5] Goto("SIP/trunk-00000000", "macrotest,h,1") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macrotest,h,1) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:1] NoOp("SIP/trunk-00000000", "Catch h in context that invokes the macro") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macrotest,h,4) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:5] Goto("SIP/trunk-00000000", "macrotest,h,1") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macrotest,h,1) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:1] NoOp("SIP/trunk-00000000", "Catch h in context that invokes the macro") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macrotest,h,4) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:5] Goto("SIP/trunk-00000000", "macrotest,h,1") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macrotest,h,1) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:1] NoOp("SIP/trunk-00000000", "Catch h in context that invokes the macro") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macrotest,h,4) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:4] StackPop("SIP/trunk-00000000", "") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:5] Goto("SIP/trunk-00000000", "macrotest,h,1") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macrotest,h,1) [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:1] NoOp("SIP/trunk-00000000", "Catch h in context that invokes the macro") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:2] GotoIf("SIP/trunk-00000000", "0?6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Executing [h@macrotest:3] GotoIf("SIP/trunk-00000000", "1?4:6") in new stack [Mar 7 23:52:19] VERBOSE[2175] pbx.c: -- Goto (macrotest,h,4) dialplan show macrotest [ Context 'macrotest' created by 'pbx_ael' ] 'h' => 1. Noop(Catch h in context that invokes the macro) [pbx_ael] 's' => 1. Answer() [pbx_ael] 2. Gosub(macro_level1,~~s~~,1) [pbx_ael] Include => 'ael-builtin-h-bubble' [pbx_ael] -= 2 extensions (3 priorities) in 1 context. =-