From 8a8a482e0591c898f35188eea491d026b1657c2b Mon Sep 17 00:00:00 2001 From: murf Date: Wed, 3 Oct 2007 14:39:05 +0000 Subject: Merged revisions 84511 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r84511 | murf | 2007-10-03 08:23:00 -0600 (Wed, 03 Oct 2007) | 1 line closes issue #10834 ; where a null input to a switch statement results in a hangup; since switch is implemented with extensions, and the default case is implemented with a '.', and the '.' matches 1 or more remaining characters, the case where 0 characters exist isn't matched, and the extension isn't matched, and the goto fails, and a hangup occurs. Now, when a default case is generated, it also generates a single fixed extension that will match a null input. That extension just does a goto to the default extension for that switch. I played with an alternate solution, where I just tack an extra char onto all the patterns and the goto, but not the default case's pattern. Then even a null input will still have at least one char in it. But it made me nervous, having that extra char in , even if that's a pretty secret and low-level issue. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84512 f38db490-d61c-443f-a65b-d21fe96a405b --- pbx/ael/ael-test/ref.ael-ntest10 | 60 ++++++++++++++++++------------- pbx/ael/ael-test/ref.ael-test1 | 30 ++++++++-------- pbx/ael/ael-test/ref.ael-test18 | 16 ++++----- pbx/ael/ael-test/ref.ael-test19 | 30 ++++++++-------- pbx/ael/ael-test/ref.ael-test3 | 2 +- pbx/ael/ael-test/ref.ael-test5 | 22 ++++++------ pbx/ael/ael-test/ref.ael-test8 | 16 ++++----- pbx/ael/ael-test/ref.ael-vtest13 | 76 ++++++++++++++++++++++++++++++++++++++++ pbx/ael/ael-test/ref.ael-vtest17 | 1 + 9 files changed, 170 insertions(+), 83 deletions(-) (limited to 'pbx') diff --git a/pbx/ael/ael-test/ref.ael-ntest10 b/pbx/ael/ael-test/ref.ael-ntest10 index c47f179f0..7e43b9702 100644 --- a/pbx/ael/ael-test/ref.ael-ntest10 +++ b/pbx/ael/ael-test/ref.ael-ntest10 @@ -5,27 +5,27 @@ (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) -LOG: lev:2 file:pbx_ael.c line:1680 func: pbx_load_module Starting AEL load process. -LOG: lev:2 file:pbx_ael.c line:1687 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1695 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. -LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 1-4: The macro endsess does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 6-9: The macro nullchk does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 11-26: The macro endcall does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 28-44: The macro endcall2 does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 36-36: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 46-68: The macro endcall3 does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 48-48: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 60-60: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 70-96: The macro endcall4 does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 72-72: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 84-84: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 87-87: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:669 func: check_macro_returns Warning: file ./extensions.ael, line 98-131: The macro endcall5 does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 106-106: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 119-119: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:2281 func: check_switch_expr Warning: file ./extensions.ael, line 122-122: A default case was automatically added to the switch. -LOG: lev:2 file:pbx_ael.c line:1698 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process. +LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 1-4: The macro endsess does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 6-9: The macro nullchk does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 11-26: The macro endcall does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 28-44: The macro endcall2 does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 36-36: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 46-68: The macro endcall3 does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 48-48: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 60-60: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 70-96: The macro endcall4 does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 72-72: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 84-84: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 87-87: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 98-131: The macro endcall5 does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 106-106: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 119-119: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 122-122: A default case was automatically added to the switch. +LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. Executed ast_context_create(conts, name=endsess, registrar=pbx_ael); Executed ast_context_create(conts, name=nullchk, registrar=pbx_ael); Executed ast_context_create(conts, name=endcall, registrar=pbx_ael); @@ -43,6 +43,7 @@ Executed ast_add_extension2(context=endcall, rep=0, exten=s, priority=2, label=( Executed ast_add_extension2(context=endcall, rep=0, exten=s, priority=3, label=(null), callerid=(null), appl=NoOp, data=Finish switch-endcall-1, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall, rep=0, exten=s, priority=4, label=(null), callerid=(null), appl=Return, data=, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall, rep=0, exten=_sw-1-., priority=10, label=(null), callerid=(null), appl=Goto, data=s,3, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall, rep=0, exten=sw-1-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-1-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall, rep=0, exten=sw-1-out, priority=10, label=(null), callerid=(null), appl=Gosub, data=nullchk,s,1(callid), FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall, rep=0, exten=sw-1-out, priority=11, label=(null), callerid=(null), appl=GotoIf, data=$[${testnotnull}]?12:15, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall, rep=0, exten=sw-1-out, priority=12, label=(null), callerid=(null), appl=Gosub, data=endsess,s,1, FREE, registrar=pbx_ael); @@ -58,6 +59,7 @@ Executed ast_add_extension2(context=endcall2, rep=0, exten=s, priority=2, label= Executed ast_add_extension2(context=endcall2, rep=0, exten=s, priority=3, label=(null), callerid=(null), appl=NoOp, data=Finish switch-endcall2-3, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall2, rep=0, exten=s, priority=4, label=(null), callerid=(null), appl=Return, data=, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall2, rep=0, exten=_sw-3-., priority=10, label=(null), callerid=(null), appl=Goto, data=s,3, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall2, rep=0, exten=sw-3-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-3-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall2, rep=0, exten=sw-3-out2, priority=10, label=ptr1, callerid=(null), appl=Softhangup, data=${CHANNEL}, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall2, rep=0, exten=sw-3-out2, priority=11, label=(null), callerid=(null), appl=Goto, data=s,3, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall2, rep=0, exten=sw-3-out2, priority=12, label=(null), callerid=(null), appl=Noop, data=esac, FREE, registrar=pbx_ael); @@ -78,6 +80,7 @@ Executed ast_add_extension2(context=endcall3, rep=0, exten=s, priority=7, label= Executed ast_add_extension2(context=endcall3, rep=0, exten=s, priority=8, label=(null), callerid=(null), appl=NoOp, data=Finish switch-endcall3-8, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=s, priority=9, label=(null), callerid=(null), appl=Return, data=, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=_sw-8-., priority=10, label=(null), callerid=(null), appl=Goto, data=s,8, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-8-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-8-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-8-out, priority=10, label=(null), callerid=(null), appl=GotoIf, data=$[${testnotnull}]?11:13, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-8-out, priority=11, label=ptr1, callerid=(null), appl=Softhangup, data=${CHANNEL}, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-8-out, priority=12, label=(null), callerid=(null), appl=Goto, data=s,8, FREE, registrar=pbx_ael); @@ -85,6 +88,7 @@ Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-8-out, priority=13 Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-8-out, priority=14, label=(null), callerid=(null), appl=Noop, data=esac, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-8-out, priority=15, label=(null), callerid=(null), appl=Goto, data=sw-8-.,10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=_sw-5-., priority=10, label=(null), callerid=(null), appl=Goto, data=s,3, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-5-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-5-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-5-out, priority=10, label=(null), callerid=(null), appl=Gosub, data=nullchk,s,1(callid), FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-5-out, priority=11, label=(null), callerid=(null), appl=GotoIf, data=$[${testnotnull}]?12:14, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall3, rep=0, exten=sw-5-out, priority=12, label=(null), callerid=(null), appl=Gosub, data=endsess,s,1, FREE, registrar=pbx_ael); @@ -102,10 +106,12 @@ Executed ast_add_extension2(context=endcall4, rep=0, exten=s, priority=7, label= Executed ast_add_extension2(context=endcall4, rep=0, exten=s, priority=8, label=(null), callerid=(null), appl=NoOp, data=Finish switch-endcall4-13, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=s, priority=9, label=(null), callerid=(null), appl=Return, data=, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=_sw-13-., priority=10, label=(null), callerid=(null), appl=Goto, data=s,8, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-13-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-13-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-13-out, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-14-${type},10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-13-out, priority=11, label=(null), callerid=(null), appl=NoOp, data=Finish switch-sw-endcall4-out-13-14, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-13-out, priority=12, label=(null), callerid=(null), appl=Goto, data=sw-13-.,10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=_sw-14-., priority=10, label=(null), callerid=(null), appl=Goto, data=sw-13-out,11, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-14-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-14-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-14-in, priority=10, label=(null), callerid=(null), appl=GotoIf, data=$[${testnotnull}]?11:13, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-14-in, priority=11, label=ptr1, callerid=(null), appl=Softhangup, data=${CHANNEL}, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-14-in, priority=12, label=(null), callerid=(null), appl=Goto, data=sw-13-out,11, FREE, registrar=pbx_ael); @@ -113,6 +119,7 @@ Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-14-in, priority=13 Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-14-in, priority=14, label=(null), callerid=(null), appl=Noop, data=esac, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-14-in, priority=15, label=(null), callerid=(null), appl=Goto, data=sw-14-.,10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=_sw-10-., priority=10, label=(null), callerid=(null), appl=Goto, data=s,3, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-10-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-10-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-10-out, priority=10, label=(null), callerid=(null), appl=Gosub, data=nullchk,s,1(callid), FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-10-out, priority=11, label=(null), callerid=(null), appl=GotoIf, data=$[${testnotnull}]?12:14, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall4, rep=0, exten=sw-10-out, priority=12, label=(null), callerid=(null), appl=Gosub, data=endsess,s,1, FREE, registrar=pbx_ael); @@ -130,10 +137,12 @@ Executed ast_add_extension2(context=endcall5, rep=0, exten=s, priority=7, label= Executed ast_add_extension2(context=endcall5, rep=0, exten=s, priority=8, label=(null), callerid=(null), appl=NoOp, data=Finish switch-endcall5-20, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=s, priority=9, label=(null), callerid=(null), appl=Return, data=, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=_sw-20-., priority=10, label=(null), callerid=(null), appl=Goto, data=s,8, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-20-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-20-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-20-out, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-21-${type},10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-20-out, priority=11, label=(null), callerid=(null), appl=NoOp, data=Finish switch-sw-endcall5-out-20-21, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-20-out, priority=12, label=(null), callerid=(null), appl=Goto, data=sw-20-.,10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=_sw-21-., priority=10, label=(null), callerid=(null), appl=Goto, data=sw-20-out,11, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-21-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-21-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-21-in, priority=10, label=(null), callerid=(null), appl=GotoIf, data=$[${testnotnull}]?11:13, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-21-in, priority=11, label=ptr1, callerid=(null), appl=Softhangup, data=${CHANNEL}, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-21-in, priority=12, label=(null), callerid=(null), appl=Goto, data=sw-20-out,11, FREE, registrar=pbx_ael); @@ -141,6 +150,7 @@ Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-21-in, priority=13 Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-21-in, priority=14, label=(null), callerid=(null), appl=Noop, data=esac, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-21-in, priority=15, label=(null), callerid=(null), appl=Goto, data=sw-21-.,10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=_sw-16-., priority=10, label=(null), callerid=(null), appl=Goto, data=s,3, FREE, registrar=pbx_ael); +Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-, priority=10, label=(null), callerid=(null), appl=Goto, data=sw-16-.|10, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-in, priority=10, label=(null), callerid=(null), appl=Gosub, data=nullchk,s,1(callid), FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-in, priority=11, label=ptr2, callerid=(null), appl=GotoIf, data=$[${testnotnull}]?12:14, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-in, priority=12, label=(null), callerid=(null), appl=Gosub, data=endsess,s,1, FREE, registrar=pbx_ael); @@ -154,9 +164,9 @@ Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=1 Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=13, label=(null), callerid=(null), appl=Goto, data=sw-21-in,ptr1, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=14, label=(null), callerid=(null), appl=NoOp, data=Finish if-sw-endcall5-out-16-17, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=15, label=(null), callerid=(null), appl=Goto, data=sw-16-in,10, FREE, registrar=pbx_ael); -LOG: lev:2 file:pbx_ael.c line:1700 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. Executed ast_merge_contexts_and_delete(); -LOG: lev:2 file:pbx_ael.c line:1703 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. Executed ast_walk_contexts(); -LOG: lev:2 file:pbx_ael.c line:1706 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. -LOG: lev:4 file:ael2_parse line:523 func: main 7 contexts, 27 extensions, 121 priorities +LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. +LOG: lev:4 file:ael2_parse line:527 func: main 7 contexts, 37 extensions, 131 priorities diff --git a/pbx/ael/ael-test/ref.ael-test1 b/pbx/ael/ael-test/ref.ael-test1 index 92b2c6b6b..4b4a866b8 100644 --- a/pbx/ael/ael-test/ref.ael-test1 +++ b/pbx/ael/ael-test/ref.ael-test1 @@ -2,18 +2,18 @@ (If you find progress and other non-error messages irritating, you can use -q to suppress them) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) -LOG: lev:2 file:pbx_ael.c line:1680 func: pbx_load_module Starting AEL load process. -LOG: lev:2 file:pbx_ael.c line:1687 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1695 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. -LOG: lev:3 file:pval.c line:668 func: check_macro_returns Warning: file ./extensions.ael, line 2-16: The macro testdial does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:668 func: check_macro_returns Warning: file ./extensions.ael, line 18-25: The macro exten-gen does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:1358 func: check_goto Warning: file ./extensions.ael, line 21-21: It's bad form to have a goto in a macro to a target outside the macro! -LOG: lev:3 file:pval.c line:1358 func: check_goto Warning: file ./extensions.ael, line 23-23: It's bad form to have a goto in a macro to a target outside the macro! -LOG: lev:3 file:pval.c line:2280 func: check_switch_expr Warning: file ./extensions.ael, line 58-58: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:918 func: check_dow Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'! -LOG: lev:3 file:pval.c line:876 func: check_timerange Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range! -LOG: lev:2 file:pbx_ael.c line:1698 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1700 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1703 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1706 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. -LOG: lev:4 file:ael2_parse line:521 func: main 5 contexts, 14 extensions, 155 priorities +LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process. +LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 2-16: The macro testdial does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 18-25: The macro exten-gen does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:1360 func: check_goto Warning: file ./extensions.ael, line 21-21: It's bad form to have a goto in a macro to a target outside the macro! +LOG: lev:3 file:pval.c line:1360 func: check_goto Warning: file ./extensions.ael, line 23-23: It's bad form to have a goto in a macro to a target outside the macro! +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 58-58: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:920 func: check_dow Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'! +LOG: lev:3 file:pval.c line:878 func: check_timerange Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range! +LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. +LOG: lev:4 file:ael2_parse line:527 func: main 5 contexts, 16 extensions, 157 priorities diff --git a/pbx/ael/ael-test/ref.ael-test18 b/pbx/ael/ael-test/ref.ael-test18 index 8e8eb42f4..a0972f55e 100644 --- a/pbx/ael/ael-test/ref.ael-test18 +++ b/pbx/ael/ael-test/ref.ael-test18 @@ -2,11 +2,11 @@ (If you find progress and other non-error messages irritating, you can use -q to suppress them) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) -LOG: lev:2 file:pbx_ael.c line:3970 func: pbx_load_module Starting AEL load process. -LOG: lev:2 file:pbx_ael.c line:3977 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3985 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3988 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3990 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3993 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3996 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. -LOG: lev:4 file:ael2_parse line:483 func: main 1 contexts, 5 extensions, 25 priorities +LOG: lev:2 file:pbx_ael.c line:4069 func: pbx_load_module Starting AEL load process. +LOG: lev:2 file:pbx_ael.c line:4076 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:4084 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:4087 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:4089 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:4092 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:4095 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. +LOG: lev:4 file:ael2_parse line:527 func: main 1 contexts, 7 extensions, 27 priorities diff --git a/pbx/ael/ael-test/ref.ael-test19 b/pbx/ael/ael-test/ref.ael-test19 index a283b2db9..27a322b75 100644 --- a/pbx/ael/ael-test/ref.ael-test19 +++ b/pbx/ael/ael-test/ref.ael-test19 @@ -2,18 +2,18 @@ (If you find progress and other non-error messages irritating, you can use -q to suppress them) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) -LOG: lev:2 file:pbx_ael.c line:1680 func: pbx_load_module Starting AEL load process. -LOG: lev:2 file:pbx_ael.c line:1687 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1695 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. -LOG: lev:3 file:pval.c line:2296 func: check_context_names Warning: file ./extensions.ael, line 49-62: The context name (incoming) is also declared in file ./extensions.ael, line 62-69! -LOG: lev:3 file:pval.c line:668 func: check_macro_returns Warning: file ./extensions.ael, line 71-175: The macro std-priv-exten does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:2280 func: check_switch_expr Warning: file ./extensions.ael, line 245-246: A default case was automatically added to the switch. -LOG: lev:3 file:pval.c line:2422 func: check_pval_item Warning: file ./extensions.ael, line 312-312: macro call to non-existent funcA! (Not even in the extensions.conf stuff!) -LOG: lev:3 file:pval.c line:2422 func: check_pval_item Warning: file ./extensions.ael, line 313-313: macro call to non-existent funcD! (Not even in the extensions.conf stuff!) -LOG: lev:3 file:pval.c line:1342 func: check_goto Warning: file ./extensions.ael, line 319-319: goto: Couldn't find goto target test5|s|1, not even in extensions.conf! -LOG: lev:3 file:pval.c line:668 func: check_macro_returns Warning: file ./extensions.ael, line 363-366: The macro dialoutpstn does not end with a return; I will insert one. -LOG: lev:2 file:pbx_ael.c line:1698 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1700 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1703 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:1706 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. -LOG: lev:4 file:ael2_parse line:521 func: main 13 contexts, 51 extensions, 182 priorities +LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process. +LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. +LOG: lev:3 file:pval.c line:2298 func: check_context_names Warning: file ./extensions.ael, line 49-62: The context name (incoming) is also declared in file ./extensions.ael, line 62-69! +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 71-175: The macro std-priv-exten does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:2282 func: check_switch_expr Warning: file ./extensions.ael, line 245-246: A default case was automatically added to the switch. +LOG: lev:3 file:pval.c line:2424 func: check_pval_item Warning: file ./extensions.ael, line 312-312: macro call to non-existent funcA! (Not even in the extensions.conf stuff!) +LOG: lev:3 file:pval.c line:2424 func: check_pval_item Warning: file ./extensions.ael, line 313-313: macro call to non-existent funcD! (Not even in the extensions.conf stuff!) +LOG: lev:3 file:pval.c line:1344 func: check_goto Warning: file ./extensions.ael, line 319-319: goto: Couldn't find goto target test5|s|1, not even in extensions.conf! +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 363-366: The macro dialoutpstn does not end with a return; I will insert one. +LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. +LOG: lev:4 file:ael2_parse line:527 func: main 13 contexts, 57 extensions, 188 priorities diff --git a/pbx/ael/ael-test/ref.ael-test3 b/pbx/ael/ael-test/ref.ael-test3 index 55fc00832..8c863bf19 100644 --- a/pbx/ael/ael-test/ref.ael-test3 +++ b/pbx/ael/ael-test/ref.ael-test3 @@ -97,4 +97,4 @@ LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: che LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. -LOG: lev:4 file:ael2_parse line:527 func: main 172 contexts, 858 extensions, 2406 priorities +LOG: lev:4 file:ael2_parse line:527 func: main 172 contexts, 934 extensions, 2482 priorities diff --git a/pbx/ael/ael-test/ref.ael-test5 b/pbx/ael/ael-test/ref.ael-test5 index d9c4130c4..de4a6c0c2 100644 --- a/pbx/ael/ael-test/ref.ael-test5 +++ b/pbx/ael/ael-test/ref.ael-test5 @@ -2,14 +2,14 @@ (If you find progress and other non-error messages irritating, you can use -q to suppress them) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) -LOG: lev:2 file:pbx_ael.c line:113 func: pbx_load_module Starting AEL load process. -LOG: lev:2 file:pbx_ael.c line:120 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:128 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. -LOG: lev:3 file:pval.c line:678 func: check_macro_returns Warning: file ./extensions.ael, line 130-183: The macro stdexten does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:678 func: check_macro_returns Warning: file ./extensions.ael, line 185-192: The macro uvm does not end with a return; I will insert one. -LOG: lev:3 file:pval.c line:678 func: check_macro_returns Warning: file ./extensions.ael, line 194-201: The macro bvm does not end with a return; I will insert one. -LOG: lev:2 file:pbx_ael.c line:131 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:133 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:136 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:139 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. -LOG: lev:4 file:ael2_parse line:499 func: main 38 contexts, 90 extensions, 492 priorities +LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process. +LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 130-183: The macro stdexten does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 185-192: The macro uvm does not end with a return; I will insert one. +LOG: lev:3 file:pval.c line:670 func: check_macro_returns Warning: file ./extensions.ael, line 194-201: The macro bvm does not end with a return; I will insert one. +LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. +LOG: lev:4 file:ael2_parse line:527 func: main 38 contexts, 91 extensions, 493 priorities diff --git a/pbx/ael/ael-test/ref.ael-test8 b/pbx/ael/ael-test/ref.ael-test8 index e5ce082ab..1793d2f4c 100644 --- a/pbx/ael/ael-test/ref.ael-test8 +++ b/pbx/ael/ael-test/ref.ael-test8 @@ -2,11 +2,11 @@ (If you find progress and other non-error messages irritating, you can use -q to suppress them) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) -LOG: lev:2 file:pbx_ael.c line:3910 func: pbx_load_module Starting AEL load process. -LOG: lev:2 file:pbx_ael.c line:3917 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3925 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3928 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3930 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3933 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. -LOG: lev:2 file:pbx_ael.c line:3936 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. -LOG: lev:4 file:ael2_parse line:479 func: main 1 contexts, 5 extensions, 15 priorities +LOG: lev:2 file:pbx_ael.c line:913 func: pbx_load_module Starting AEL load process. +LOG: lev:2 file:pbx_ael.c line:920 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:928 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:931 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:933 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:936 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. +LOG: lev:2 file:pbx_ael.c line:939 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. +LOG: lev:4 file:ael2_parse line:527 func: main 1 contexts, 7 extensions, 17 priorities diff --git a/pbx/ael/ael-test/ref.ael-vtest13 b/pbx/ael/ael-test/ref.ael-vtest13 index da9316d15..6d4781f13 100644 --- a/pbx/ael/ael-test/ref.ael-vtest13 +++ b/pbx/ael/ael-test/ref.ael-vtest13 @@ -20,6 +20,7 @@ exten => s,6,Return() exten => a,1,VoiceMailMain(${ext}) exten => _sw-1-.,10,Voicemail(u${ext}) exten => _sw-1-.,11,Goto(s\,5) +exten => sw-1-,10,Goto(sw-1-.|10) exten => sw-1-ANSWER,10,Goto(s\,5) exten => sw-1-NOANSWER,10,Voicemail(u${ext}) exten => sw-1-NOANSWER,11,Goto(s\,5) @@ -41,6 +42,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_1-3) exten => s,11,Return() exten => _sw-3-.,10,Voicemail(u${ext}) exten => _sw-3-.,11,Goto(s\,10) +exten => sw-3-,10,Goto(sw-3-.|10) exten => sw-3-NOANSWER,10,Voicemail(u${ext}) exten => sw-3-NOANSWER,11,Goto(s\,10) exten => sw-3-ANSWER,10,Goto(s\,10) @@ -66,6 +68,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_2-4) exten => s,11,Return() exten => _sw-4-.,10,Voicemail(u${ext}) exten => _sw-4-.,11,Goto(s\,10) +exten => sw-4-,10,Goto(sw-4-.|10) exten => sw-4-NOANSWER,10,Voicemail(u${ext}) exten => sw-4-NOANSWER,11,Goto(s\,10) exten => sw-4-ANSWER,10,Goto(s\,10) @@ -91,6 +94,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_3-5) exten => s,11,Return() exten => _sw-5-.,10,Voicemail(u${ext}) exten => _sw-5-.,11,Goto(s\,10) +exten => sw-5-,10,Goto(sw-5-.|10) exten => sw-5-NOANSWER,10,Voicemail(u${ext}) exten => sw-5-NOANSWER,11,Goto(s\,10) exten => sw-5-ANSWER,10,Goto(s\,10) @@ -116,6 +120,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_4-6) exten => s,11,Return() exten => _sw-6-.,10,Voicemail(u${ext}) exten => _sw-6-.,11,Goto(s\,10) +exten => sw-6-,10,Goto(sw-6-.|10) exten => sw-6-NOANSWER,10,Voicemail(u${ext}) exten => sw-6-NOANSWER,11,Goto(s\,10) exten => sw-6-ANSWER,10,Goto(s\,10) @@ -141,6 +146,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_5-7) exten => s,11,Return() exten => _sw-7-.,10,Voicemail(u${ext}) exten => _sw-7-.,11,Goto(s\,10) +exten => sw-7-,10,Goto(sw-7-.|10) exten => sw-7-NOANSWER,10,Voicemail(u${ext}) exten => sw-7-NOANSWER,11,Goto(s\,10) exten => sw-7-ANSWER,10,Goto(s\,10) @@ -166,6 +172,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_6-8) exten => s,11,Return() exten => _sw-8-.,10,Voicemail(u${ext}) exten => _sw-8-.,11,Goto(s\,10) +exten => sw-8-,10,Goto(sw-8-.|10) exten => sw-8-NOANSWER,10,Voicemail(u${ext}) exten => sw-8-NOANSWER,11,Goto(s\,10) exten => sw-8-ANSWER,10,Goto(s\,10) @@ -191,6 +198,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_7-9) exten => s,11,Return() exten => _sw-9-.,10,Voicemail(u${ext}) exten => _sw-9-.,11,Goto(s\,10) +exten => sw-9-,10,Goto(sw-9-.|10) exten => sw-9-NOANSWER,10,Voicemail(u${ext}) exten => sw-9-NOANSWER,11,Goto(s\,10) exten => sw-9-ANSWER,10,Goto(s\,10) @@ -216,6 +224,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_8-10) exten => s,11,Return() exten => _sw-10-.,10,Voicemail(u${ext}) exten => _sw-10-.,11,Goto(s\,10) +exten => sw-10-,10,Goto(sw-10-.|10) exten => sw-10-NOANSWER,10,Voicemail(u${ext}) exten => sw-10-NOANSWER,11,Goto(s\,10) exten => sw-10-ANSWER,10,Goto(s\,10) @@ -241,6 +250,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_9-11) exten => s,11,Return() exten => _sw-11-.,10,Voicemail(u${ext}) exten => _sw-11-.,11,Goto(s\,10) +exten => sw-11-,10,Goto(sw-11-.|10) exten => sw-11-NOANSWER,10,Voicemail(u${ext}) exten => sw-11-NOANSWER,11,Goto(s\,10) exten => sw-11-ANSWER,10,Goto(s\,10) @@ -266,6 +276,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_10-12) exten => s,11,Return() exten => _sw-12-.,10,Voicemail(u${ext}) exten => _sw-12-.,11,Goto(s\,10) +exten => sw-12-,10,Goto(sw-12-.|10) exten => sw-12-NOANSWER,10,Voicemail(u${ext}) exten => sw-12-NOANSWER,11,Goto(s\,10) exten => sw-12-ANSWER,10,Goto(s\,10) @@ -291,6 +302,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_11-13) exten => s,11,Return() exten => _sw-13-.,10,Voicemail(u${ext}) exten => _sw-13-.,11,Goto(s\,10) +exten => sw-13-,10,Goto(sw-13-.|10) exten => sw-13-NOANSWER,10,Voicemail(u${ext}) exten => sw-13-NOANSWER,11,Goto(s\,10) exten => sw-13-ANSWER,10,Goto(s\,10) @@ -316,6 +328,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_12-14) exten => s,11,Return() exten => _sw-14-.,10,Voicemail(u${ext}) exten => _sw-14-.,11,Goto(s\,10) +exten => sw-14-,10,Goto(sw-14-.|10) exten => sw-14-NOANSWER,10,Voicemail(u${ext}) exten => sw-14-NOANSWER,11,Goto(s\,10) exten => sw-14-ANSWER,10,Goto(s\,10) @@ -341,6 +354,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_13-15) exten => s,11,Return() exten => _sw-15-.,10,Voicemail(u${ext}) exten => _sw-15-.,11,Goto(s\,10) +exten => sw-15-,10,Goto(sw-15-.|10) exten => sw-15-NOANSWER,10,Voicemail(u${ext}) exten => sw-15-NOANSWER,11,Goto(s\,10) exten => sw-15-ANSWER,10,Goto(s\,10) @@ -366,6 +380,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_14-16) exten => s,11,Return() exten => _sw-16-.,10,Voicemail(u${ext}) exten => _sw-16-.,11,Goto(s\,10) +exten => sw-16-,10,Goto(sw-16-.|10) exten => sw-16-NOANSWER,10,Voicemail(u${ext}) exten => sw-16-NOANSWER,11,Goto(s\,10) exten => sw-16-ANSWER,10,Goto(s\,10) @@ -391,6 +406,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_15-17) exten => s,11,Return() exten => _sw-17-.,10,Voicemail(u${ext}) exten => _sw-17-.,11,Goto(s\,10) +exten => sw-17-,10,Goto(sw-17-.|10) exten => sw-17-NOANSWER,10,Voicemail(u${ext}) exten => sw-17-NOANSWER,11,Goto(s\,10) exten => sw-17-ANSWER,10,Goto(s\,10) @@ -416,6 +432,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_16-18) exten => s,11,Return() exten => _sw-18-.,10,Voicemail(u${ext}) exten => _sw-18-.,11,Goto(s\,10) +exten => sw-18-,10,Goto(sw-18-.|10) exten => sw-18-NOANSWER,10,Voicemail(u${ext}) exten => sw-18-NOANSWER,11,Goto(s\,10) exten => sw-18-ANSWER,10,Goto(s\,10) @@ -441,6 +458,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_17-19) exten => s,11,Return() exten => _sw-19-.,10,Voicemail(u${ext}) exten => _sw-19-.,11,Goto(s\,10) +exten => sw-19-,10,Goto(sw-19-.|10) exten => sw-19-NOANSWER,10,Voicemail(u${ext}) exten => sw-19-NOANSWER,11,Goto(s\,10) exten => sw-19-ANSWER,10,Goto(s\,10) @@ -466,6 +484,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_18-20) exten => s,11,Return() exten => _sw-20-.,10,Voicemail(u${ext}) exten => _sw-20-.,11,Goto(s\,10) +exten => sw-20-,10,Goto(sw-20-.|10) exten => sw-20-NOANSWER,10,Voicemail(u${ext}) exten => sw-20-NOANSWER,11,Goto(s\,10) exten => sw-20-ANSWER,10,Goto(s\,10) @@ -491,6 +510,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_19-21) exten => s,11,Return() exten => _sw-21-.,10,Voicemail(u${ext}) exten => _sw-21-.,11,Goto(s\,10) +exten => sw-21-,10,Goto(sw-21-.|10) exten => sw-21-NOANSWER,10,Voicemail(u${ext}) exten => sw-21-NOANSWER,11,Goto(s\,10) exten => sw-21-ANSWER,10,Goto(s\,10) @@ -516,6 +536,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_20-22) exten => s,11,Return() exten => _sw-22-.,10,Voicemail(u${ext}) exten => _sw-22-.,11,Goto(s\,10) +exten => sw-22-,10,Goto(sw-22-.|10) exten => sw-22-NOANSWER,10,Voicemail(u${ext}) exten => sw-22-NOANSWER,11,Goto(s\,10) exten => sw-22-ANSWER,10,Goto(s\,10) @@ -541,6 +562,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_21-23) exten => s,11,Return() exten => _sw-23-.,10,Voicemail(u${ext}) exten => _sw-23-.,11,Goto(s\,10) +exten => sw-23-,10,Goto(sw-23-.|10) exten => sw-23-NOANSWER,10,Voicemail(u${ext}) exten => sw-23-NOANSWER,11,Goto(s\,10) exten => sw-23-ANSWER,10,Goto(s\,10) @@ -566,6 +588,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_22-24) exten => s,11,Return() exten => _sw-24-.,10,Voicemail(u${ext}) exten => _sw-24-.,11,Goto(s\,10) +exten => sw-24-,10,Goto(sw-24-.|10) exten => sw-24-NOANSWER,10,Voicemail(u${ext}) exten => sw-24-NOANSWER,11,Goto(s\,10) exten => sw-24-ANSWER,10,Goto(s\,10) @@ -591,6 +614,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_23-25) exten => s,11,Return() exten => _sw-25-.,10,Voicemail(u${ext}) exten => _sw-25-.,11,Goto(s\,10) +exten => sw-25-,10,Goto(sw-25-.|10) exten => sw-25-NOANSWER,10,Voicemail(u${ext}) exten => sw-25-NOANSWER,11,Goto(s\,10) exten => sw-25-ANSWER,10,Goto(s\,10) @@ -616,6 +640,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_24-26) exten => s,11,Return() exten => _sw-26-.,10,Voicemail(u${ext}) exten => _sw-26-.,11,Goto(s\,10) +exten => sw-26-,10,Goto(sw-26-.|10) exten => sw-26-NOANSWER,10,Voicemail(u${ext}) exten => sw-26-NOANSWER,11,Goto(s\,10) exten => sw-26-ANSWER,10,Goto(s\,10) @@ -641,6 +666,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_25-27) exten => s,11,Return() exten => _sw-27-.,10,Voicemail(u${ext}) exten => _sw-27-.,11,Goto(s\,10) +exten => sw-27-,10,Goto(sw-27-.|10) exten => sw-27-NOANSWER,10,Voicemail(u${ext}) exten => sw-27-NOANSWER,11,Goto(s\,10) exten => sw-27-ANSWER,10,Goto(s\,10) @@ -666,6 +692,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_26-28) exten => s,11,Return() exten => _sw-28-.,10,Voicemail(u${ext}) exten => _sw-28-.,11,Goto(s\,10) +exten => sw-28-,10,Goto(sw-28-.|10) exten => sw-28-NOANSWER,10,Voicemail(u${ext}) exten => sw-28-NOANSWER,11,Goto(s\,10) exten => sw-28-ANSWER,10,Goto(s\,10) @@ -691,6 +718,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_27-29) exten => s,11,Return() exten => _sw-29-.,10,Voicemail(u${ext}) exten => _sw-29-.,11,Goto(s\,10) +exten => sw-29-,10,Goto(sw-29-.|10) exten => sw-29-NOANSWER,10,Voicemail(u${ext}) exten => sw-29-NOANSWER,11,Goto(s\,10) exten => sw-29-ANSWER,10,Goto(s\,10) @@ -716,6 +744,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_28-30) exten => s,11,Return() exten => _sw-30-.,10,Voicemail(u${ext}) exten => _sw-30-.,11,Goto(s\,10) +exten => sw-30-,10,Goto(sw-30-.|10) exten => sw-30-NOANSWER,10,Voicemail(u${ext}) exten => sw-30-NOANSWER,11,Goto(s\,10) exten => sw-30-ANSWER,10,Goto(s\,10) @@ -741,6 +770,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_29-31) exten => s,11,Return() exten => _sw-31-.,10,Voicemail(u${ext}) exten => _sw-31-.,11,Goto(s\,10) +exten => sw-31-,10,Goto(sw-31-.|10) exten => sw-31-NOANSWER,10,Voicemail(u${ext}) exten => sw-31-NOANSWER,11,Goto(s\,10) exten => sw-31-ANSWER,10,Goto(s\,10) @@ -766,6 +796,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_30-32) exten => s,11,Return() exten => _sw-32-.,10,Voicemail(u${ext}) exten => _sw-32-.,11,Goto(s\,10) +exten => sw-32-,10,Goto(sw-32-.|10) exten => sw-32-NOANSWER,10,Voicemail(u${ext}) exten => sw-32-NOANSWER,11,Goto(s\,10) exten => sw-32-ANSWER,10,Goto(s\,10) @@ -791,6 +822,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_31-33) exten => s,11,Return() exten => _sw-33-.,10,Voicemail(u${ext}) exten => _sw-33-.,11,Goto(s\,10) +exten => sw-33-,10,Goto(sw-33-.|10) exten => sw-33-NOANSWER,10,Voicemail(u${ext}) exten => sw-33-NOANSWER,11,Goto(s\,10) exten => sw-33-ANSWER,10,Goto(s\,10) @@ -816,6 +848,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_32-34) exten => s,11,Return() exten => _sw-34-.,10,Voicemail(u${ext}) exten => _sw-34-.,11,Goto(s\,10) +exten => sw-34-,10,Goto(sw-34-.|10) exten => sw-34-NOANSWER,10,Voicemail(u${ext}) exten => sw-34-NOANSWER,11,Goto(s\,10) exten => sw-34-ANSWER,10,Goto(s\,10) @@ -841,6 +874,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_33-35) exten => s,11,Return() exten => _sw-35-.,10,Voicemail(u${ext}) exten => _sw-35-.,11,Goto(s\,10) +exten => sw-35-,10,Goto(sw-35-.|10) exten => sw-35-NOANSWER,10,Voicemail(u${ext}) exten => sw-35-NOANSWER,11,Goto(s\,10) exten => sw-35-ANSWER,10,Goto(s\,10) @@ -866,6 +900,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_34-36) exten => s,11,Return() exten => _sw-36-.,10,Voicemail(u${ext}) exten => _sw-36-.,11,Goto(s\,10) +exten => sw-36-,10,Goto(sw-36-.|10) exten => sw-36-NOANSWER,10,Voicemail(u${ext}) exten => sw-36-NOANSWER,11,Goto(s\,10) exten => sw-36-ANSWER,10,Goto(s\,10) @@ -891,6 +926,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_35-37) exten => s,11,Return() exten => _sw-37-.,10,Voicemail(u${ext}) exten => _sw-37-.,11,Goto(s\,10) +exten => sw-37-,10,Goto(sw-37-.|10) exten => sw-37-NOANSWER,10,Voicemail(u${ext}) exten => sw-37-NOANSWER,11,Goto(s\,10) exten => sw-37-ANSWER,10,Goto(s\,10) @@ -916,6 +952,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_36-38) exten => s,11,Return() exten => _sw-38-.,10,Voicemail(u${ext}) exten => _sw-38-.,11,Goto(s\,10) +exten => sw-38-,10,Goto(sw-38-.|10) exten => sw-38-NOANSWER,10,Voicemail(u${ext}) exten => sw-38-NOANSWER,11,Goto(s\,10) exten => sw-38-ANSWER,10,Goto(s\,10) @@ -941,6 +978,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_37-39) exten => s,11,Return() exten => _sw-39-.,10,Voicemail(u${ext}) exten => _sw-39-.,11,Goto(s\,10) +exten => sw-39-,10,Goto(sw-39-.|10) exten => sw-39-NOANSWER,10,Voicemail(u${ext}) exten => sw-39-NOANSWER,11,Goto(s\,10) exten => sw-39-ANSWER,10,Goto(s\,10) @@ -966,6 +1004,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_38-40) exten => s,11,Return() exten => _sw-40-.,10,Voicemail(u${ext}) exten => _sw-40-.,11,Goto(s\,10) +exten => sw-40-,10,Goto(sw-40-.|10) exten => sw-40-NOANSWER,10,Voicemail(u${ext}) exten => sw-40-NOANSWER,11,Goto(s\,10) exten => sw-40-ANSWER,10,Goto(s\,10) @@ -991,6 +1030,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_39-41) exten => s,11,Return() exten => _sw-41-.,10,Voicemail(u${ext}) exten => _sw-41-.,11,Goto(s\,10) +exten => sw-41-,10,Goto(sw-41-.|10) exten => sw-41-NOANSWER,10,Voicemail(u${ext}) exten => sw-41-NOANSWER,11,Goto(s\,10) exten => sw-41-ANSWER,10,Goto(s\,10) @@ -1016,6 +1056,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_40-42) exten => s,11,Return() exten => _sw-42-.,10,Voicemail(u${ext}) exten => _sw-42-.,11,Goto(s\,10) +exten => sw-42-,10,Goto(sw-42-.|10) exten => sw-42-NOANSWER,10,Voicemail(u${ext}) exten => sw-42-NOANSWER,11,Goto(s\,10) exten => sw-42-ANSWER,10,Goto(s\,10) @@ -1041,6 +1082,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_41-43) exten => s,11,Return() exten => _sw-43-.,10,Voicemail(u${ext}) exten => _sw-43-.,11,Goto(s\,10) +exten => sw-43-,10,Goto(sw-43-.|10) exten => sw-43-NOANSWER,10,Voicemail(u${ext}) exten => sw-43-NOANSWER,11,Goto(s\,10) exten => sw-43-ANSWER,10,Goto(s\,10) @@ -1066,6 +1108,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_42-44) exten => s,11,Return() exten => _sw-44-.,10,Voicemail(u${ext}) exten => _sw-44-.,11,Goto(s\,10) +exten => sw-44-,10,Goto(sw-44-.|10) exten => sw-44-NOANSWER,10,Voicemail(u${ext}) exten => sw-44-NOANSWER,11,Goto(s\,10) exten => sw-44-ANSWER,10,Goto(s\,10) @@ -1091,6 +1134,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_43-45) exten => s,11,Return() exten => _sw-45-.,10,Voicemail(u${ext}) exten => _sw-45-.,11,Goto(s\,10) +exten => sw-45-,10,Goto(sw-45-.|10) exten => sw-45-NOANSWER,10,Voicemail(u${ext}) exten => sw-45-NOANSWER,11,Goto(s\,10) exten => sw-45-ANSWER,10,Goto(s\,10) @@ -1116,6 +1160,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_44-46) exten => s,11,Return() exten => _sw-46-.,10,Voicemail(u${ext}) exten => _sw-46-.,11,Goto(s\,10) +exten => sw-46-,10,Goto(sw-46-.|10) exten => sw-46-NOANSWER,10,Voicemail(u${ext}) exten => sw-46-NOANSWER,11,Goto(s\,10) exten => sw-46-ANSWER,10,Goto(s\,10) @@ -1141,6 +1186,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_45-47) exten => s,11,Return() exten => _sw-47-.,10,Voicemail(u${ext}) exten => _sw-47-.,11,Goto(s\,10) +exten => sw-47-,10,Goto(sw-47-.|10) exten => sw-47-NOANSWER,10,Voicemail(u${ext}) exten => sw-47-NOANSWER,11,Goto(s\,10) exten => sw-47-ANSWER,10,Goto(s\,10) @@ -1166,6 +1212,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_46-48) exten => s,11,Return() exten => _sw-48-.,10,Voicemail(u${ext}) exten => _sw-48-.,11,Goto(s\,10) +exten => sw-48-,10,Goto(sw-48-.|10) exten => sw-48-NOANSWER,10,Voicemail(u${ext}) exten => sw-48-NOANSWER,11,Goto(s\,10) exten => sw-48-ANSWER,10,Goto(s\,10) @@ -1191,6 +1238,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_47-49) exten => s,11,Return() exten => _sw-49-.,10,Voicemail(u${ext}) exten => _sw-49-.,11,Goto(s\,10) +exten => sw-49-,10,Goto(sw-49-.|10) exten => sw-49-NOANSWER,10,Voicemail(u${ext}) exten => sw-49-NOANSWER,11,Goto(s\,10) exten => sw-49-ANSWER,10,Goto(s\,10) @@ -1216,6 +1264,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_48-50) exten => s,11,Return() exten => _sw-50-.,10,Voicemail(u${ext}) exten => _sw-50-.,11,Goto(s\,10) +exten => sw-50-,10,Goto(sw-50-.|10) exten => sw-50-NOANSWER,10,Voicemail(u${ext}) exten => sw-50-NOANSWER,11,Goto(s\,10) exten => sw-50-ANSWER,10,Goto(s\,10) @@ -1241,6 +1290,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_49-51) exten => s,11,Return() exten => _sw-51-.,10,Voicemail(u${ext}) exten => _sw-51-.,11,Goto(s\,10) +exten => sw-51-,10,Goto(sw-51-.|10) exten => sw-51-NOANSWER,10,Voicemail(u${ext}) exten => sw-51-NOANSWER,11,Goto(s\,10) exten => sw-51-ANSWER,10,Goto(s\,10) @@ -1266,6 +1316,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_50-52) exten => s,11,Return() exten => _sw-52-.,10,Voicemail(u${ext}) exten => _sw-52-.,11,Goto(s\,10) +exten => sw-52-,10,Goto(sw-52-.|10) exten => sw-52-NOANSWER,10,Voicemail(u${ext}) exten => sw-52-NOANSWER,11,Goto(s\,10) exten => sw-52-ANSWER,10,Goto(s\,10) @@ -1291,6 +1342,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_51-53) exten => s,11,Return() exten => _sw-53-.,10,Voicemail(u${ext}) exten => _sw-53-.,11,Goto(s\,10) +exten => sw-53-,10,Goto(sw-53-.|10) exten => sw-53-NOANSWER,10,Voicemail(u${ext}) exten => sw-53-NOANSWER,11,Goto(s\,10) exten => sw-53-ANSWER,10,Goto(s\,10) @@ -1316,6 +1368,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_52-54) exten => s,11,Return() exten => _sw-54-.,10,Voicemail(u${ext}) exten => _sw-54-.,11,Goto(s\,10) +exten => sw-54-,10,Goto(sw-54-.|10) exten => sw-54-NOANSWER,10,Voicemail(u${ext}) exten => sw-54-NOANSWER,11,Goto(s\,10) exten => sw-54-ANSWER,10,Goto(s\,10) @@ -1341,6 +1394,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_53-55) exten => s,11,Return() exten => _sw-55-.,10,Voicemail(u${ext}) exten => _sw-55-.,11,Goto(s\,10) +exten => sw-55-,10,Goto(sw-55-.|10) exten => sw-55-NOANSWER,10,Voicemail(u${ext}) exten => sw-55-NOANSWER,11,Goto(s\,10) exten => sw-55-ANSWER,10,Goto(s\,10) @@ -1366,6 +1420,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_54-56) exten => s,11,Return() exten => _sw-56-.,10,Voicemail(u${ext}) exten => _sw-56-.,11,Goto(s\,10) +exten => sw-56-,10,Goto(sw-56-.|10) exten => sw-56-NOANSWER,10,Voicemail(u${ext}) exten => sw-56-NOANSWER,11,Goto(s\,10) exten => sw-56-ANSWER,10,Goto(s\,10) @@ -1391,6 +1446,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_55-57) exten => s,11,Return() exten => _sw-57-.,10,Voicemail(u${ext}) exten => _sw-57-.,11,Goto(s\,10) +exten => sw-57-,10,Goto(sw-57-.|10) exten => sw-57-NOANSWER,10,Voicemail(u${ext}) exten => sw-57-NOANSWER,11,Goto(s\,10) exten => sw-57-ANSWER,10,Goto(s\,10) @@ -1416,6 +1472,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_56-58) exten => s,11,Return() exten => _sw-58-.,10,Voicemail(u${ext}) exten => _sw-58-.,11,Goto(s\,10) +exten => sw-58-,10,Goto(sw-58-.|10) exten => sw-58-NOANSWER,10,Voicemail(u${ext}) exten => sw-58-NOANSWER,11,Goto(s\,10) exten => sw-58-ANSWER,10,Goto(s\,10) @@ -1441,6 +1498,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_57-59) exten => s,11,Return() exten => _sw-59-.,10,Voicemail(u${ext}) exten => _sw-59-.,11,Goto(s\,10) +exten => sw-59-,10,Goto(sw-59-.|10) exten => sw-59-NOANSWER,10,Voicemail(u${ext}) exten => sw-59-NOANSWER,11,Goto(s\,10) exten => sw-59-ANSWER,10,Goto(s\,10) @@ -1466,6 +1524,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_58-60) exten => s,11,Return() exten => _sw-60-.,10,Voicemail(u${ext}) exten => _sw-60-.,11,Goto(s\,10) +exten => sw-60-,10,Goto(sw-60-.|10) exten => sw-60-NOANSWER,10,Voicemail(u${ext}) exten => sw-60-NOANSWER,11,Goto(s\,10) exten => sw-60-ANSWER,10,Goto(s\,10) @@ -1491,6 +1550,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_59-61) exten => s,11,Return() exten => _sw-61-.,10,Voicemail(u${ext}) exten => _sw-61-.,11,Goto(s\,10) +exten => sw-61-,10,Goto(sw-61-.|10) exten => sw-61-NOANSWER,10,Voicemail(u${ext}) exten => sw-61-NOANSWER,11,Goto(s\,10) exten => sw-61-ANSWER,10,Goto(s\,10) @@ -1516,6 +1576,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_60-62) exten => s,11,Return() exten => _sw-62-.,10,Voicemail(u${ext}) exten => _sw-62-.,11,Goto(s\,10) +exten => sw-62-,10,Goto(sw-62-.|10) exten => sw-62-NOANSWER,10,Voicemail(u${ext}) exten => sw-62-NOANSWER,11,Goto(s\,10) exten => sw-62-ANSWER,10,Goto(s\,10) @@ -1541,6 +1602,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_61-63) exten => s,11,Return() exten => _sw-63-.,10,Voicemail(u${ext}) exten => _sw-63-.,11,Goto(s\,10) +exten => sw-63-,10,Goto(sw-63-.|10) exten => sw-63-NOANSWER,10,Voicemail(u${ext}) exten => sw-63-NOANSWER,11,Goto(s\,10) exten => sw-63-ANSWER,10,Goto(s\,10) @@ -1566,6 +1628,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_62-64) exten => s,11,Return() exten => _sw-64-.,10,Voicemail(u${ext}) exten => _sw-64-.,11,Goto(s\,10) +exten => sw-64-,10,Goto(sw-64-.|10) exten => sw-64-NOANSWER,10,Voicemail(u${ext}) exten => sw-64-NOANSWER,11,Goto(s\,10) exten => sw-64-ANSWER,10,Goto(s\,10) @@ -1591,6 +1654,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_63-65) exten => s,11,Return() exten => _sw-65-.,10,Voicemail(u${ext}) exten => _sw-65-.,11,Goto(s\,10) +exten => sw-65-,10,Goto(sw-65-.|10) exten => sw-65-NOANSWER,10,Voicemail(u${ext}) exten => sw-65-NOANSWER,11,Goto(s\,10) exten => sw-65-ANSWER,10,Goto(s\,10) @@ -1616,6 +1680,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_64-66) exten => s,11,Return() exten => _sw-66-.,10,Voicemail(u${ext}) exten => _sw-66-.,11,Goto(s\,10) +exten => sw-66-,10,Goto(sw-66-.|10) exten => sw-66-NOANSWER,10,Voicemail(u${ext}) exten => sw-66-NOANSWER,11,Goto(s\,10) exten => sw-66-ANSWER,10,Goto(s\,10) @@ -1641,6 +1706,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_65-67) exten => s,11,Return() exten => _sw-67-.,10,Voicemail(u${ext}) exten => _sw-67-.,11,Goto(s\,10) +exten => sw-67-,10,Goto(sw-67-.|10) exten => sw-67-NOANSWER,10,Voicemail(u${ext}) exten => sw-67-NOANSWER,11,Goto(s\,10) exten => sw-67-ANSWER,10,Goto(s\,10) @@ -1666,6 +1732,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_66-68) exten => s,11,Return() exten => _sw-68-.,10,Voicemail(u${ext}) exten => _sw-68-.,11,Goto(s\,10) +exten => sw-68-,10,Goto(sw-68-.|10) exten => sw-68-NOANSWER,10,Voicemail(u${ext}) exten => sw-68-NOANSWER,11,Goto(s\,10) exten => sw-68-ANSWER,10,Goto(s\,10) @@ -1691,6 +1758,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_67-69) exten => s,11,Return() exten => _sw-69-.,10,Voicemail(u${ext}) exten => _sw-69-.,11,Goto(s\,10) +exten => sw-69-,10,Goto(sw-69-.|10) exten => sw-69-NOANSWER,10,Voicemail(u${ext}) exten => sw-69-NOANSWER,11,Goto(s\,10) exten => sw-69-ANSWER,10,Goto(s\,10) @@ -1716,6 +1784,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_68-70) exten => s,11,Return() exten => _sw-70-.,10,Voicemail(u${ext}) exten => _sw-70-.,11,Goto(s\,10) +exten => sw-70-,10,Goto(sw-70-.|10) exten => sw-70-NOANSWER,10,Voicemail(u${ext}) exten => sw-70-NOANSWER,11,Goto(s\,10) exten => sw-70-ANSWER,10,Goto(s\,10) @@ -1741,6 +1810,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_69-71) exten => s,11,Return() exten => _sw-71-.,10,Voicemail(u${ext}) exten => _sw-71-.,11,Goto(s\,10) +exten => sw-71-,10,Goto(sw-71-.|10) exten => sw-71-NOANSWER,10,Voicemail(u${ext}) exten => sw-71-NOANSWER,11,Goto(s\,10) exten => sw-71-ANSWER,10,Goto(s\,10) @@ -1766,6 +1836,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_70-72) exten => s,11,Return() exten => _sw-72-.,10,Voicemail(u${ext}) exten => _sw-72-.,11,Goto(s\,10) +exten => sw-72-,10,Goto(sw-72-.|10) exten => sw-72-NOANSWER,10,Voicemail(u${ext}) exten => sw-72-NOANSWER,11,Goto(s\,10) exten => sw-72-ANSWER,10,Goto(s\,10) @@ -1791,6 +1862,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_71-73) exten => s,11,Return() exten => _sw-73-.,10,Voicemail(u${ext}) exten => _sw-73-.,11,Goto(s\,10) +exten => sw-73-,10,Goto(sw-73-.|10) exten => sw-73-NOANSWER,10,Voicemail(u${ext}) exten => sw-73-NOANSWER,11,Goto(s\,10) exten => sw-73-ANSWER,10,Goto(s\,10) @@ -1816,6 +1888,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_72-74) exten => s,11,Return() exten => _sw-74-.,10,Voicemail(u${ext}) exten => _sw-74-.,11,Goto(s\,10) +exten => sw-74-,10,Goto(sw-74-.|10) exten => sw-74-NOANSWER,10,Voicemail(u${ext}) exten => sw-74-NOANSWER,11,Goto(s\,10) exten => sw-74-ANSWER,10,Goto(s\,10) @@ -1841,6 +1914,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten_73-75) exten => s,11,Return() exten => _sw-75-.,10,Voicemail(u${ext}) exten => _sw-75-.,11,Goto(s\,10) +exten => sw-75-,10,Goto(sw-75-.|10) exten => sw-75-NOANSWER,10,Voicemail(u${ext}) exten => sw-75-NOANSWER,11,Goto(s\,10) exten => sw-75-ANSWER,10,Goto(s\,10) @@ -1866,6 +1940,7 @@ exten => s,10,NoOp(Finish switch-std-priv-exten-76) exten => s,11,Return() exten => _sw-76-.,10,Voicemail(u${ext}) exten => _sw-76-.,11,Goto(s\,10) +exten => sw-76-,10,Goto(sw-76-.|10) exten => sw-76-NOANSWER,10,Voicemail(u${ext}) exten => sw-76-NOANSWER,11,Goto(s\,10) exten => sw-76-ANSWER,10,Goto(s\,10) @@ -2091,6 +2166,7 @@ exten => s,102,NoOp(Finish iftime-homeline-93) exten => s,103,Background(murphy-homeline-intro1) exten => _sw-92-.,10,Set(z=${direct}-2) exten => _sw-92-.,11,Goto(homeline-kids\,${z}\,1) +exten => sw-92-,10,Goto(sw-92-.|10) exten => sw-92-2,10,Gosub(std-priv-exten\,s\,1(Zap/3r1&Zap/5r1\,2\,25\,mtw\,telemarket\,telemarket)) exten => sw-92-2,11,Goto(s\,loopback) exten => sw-92-1,10,Gosub(std-priv-exten\,s\,1(Zap/6r3&Sip/murf\,1\,25\,mpA(beep)tw\,telemarket\,telemarket)) diff --git a/pbx/ael/ael-test/ref.ael-vtest17 b/pbx/ael/ael-test/ref.ael-vtest17 index 081e37bf2..bb4204caa 100644 --- a/pbx/ael/ael-test/ref.ael-vtest17 +++ b/pbx/ael/ael-test/ref.ael-vtest17 @@ -45,6 +45,7 @@ exten => 82,2,Verbose(Finished 100000 levels deep call!) exten => 83,1,Goto(sw-2-${EXTEN}\,10) exten => 83,2,NoOp(Finish switch-extension-2) exten => _sw-2-.,10,Goto(83\,2) +exten => sw-2-,10,Goto(sw-2-.|10) exten => _sw-2-[4-7]X,10,Verbose(and this too!) exten => _sw-2-[4-7]X,11,Goto(sw-2-.\,10) exten => _sw-2-9X,10,Verbose(handle both 8x and 9x calls) -- cgit v1.2.3