[asterisk-commits] murf: branch murf/AEL2-1.2 r44517 - in /team/murf/AEL2-1.2/pbx/ael-test: ./ a...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Thu Oct 5 13:28:30 MST 2006


Author: murf
Date: Thu Oct  5 15:28:29 2006
New Revision: 44517

URL: http://svn.digium.com/view/asterisk?rev=44517&view=rev
Log:
Updated to contain all known and applicable fixes currently in trunk.

Added:
    team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/
    team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/extensions.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/
    team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/extensions.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/
    team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-test11/
    team/murf/AEL2-1.2/pbx/ael-test/ael-test11/extensions.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-test14/
    team/murf/AEL2-1.2/pbx/ael-test/ael-test14/extensions.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-test15/
    team/murf/AEL2-1.2/pbx/ael-test/ael-test15/extensions.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-test5/
    team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael.orig   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-test6/extensions.ael2
      - copied unchanged from r44489, team/murf/AEL2-1.2/pbx/ael-test/ael-test6/extensions.ael
    team/murf/AEL2-1.2/pbx/ael-test/ael-test7/extensions.ael2
      - copied unchanged from r44489, team/murf/AEL2-1.2/pbx/ael-test/ael-test7/extensions.ael
    team/murf/AEL2-1.2/pbx/ael-test/ael-test8/extensions.ael2
      - copied unchanged from r44489, team/murf/AEL2-1.2/pbx/ael-test/ael-test8/extensions.ael
    team/murf/AEL2-1.2/pbx/ael-test/ael-vtest13/
    team/murf/AEL2-1.2/pbx/ael-test/ael-vtest13/extensions.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-vtest13/include1.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-vtest13/include2.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-vtest13/include3.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-vtest13/include4.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-vtest13/include5.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ael-vtest13/telemarket_torture.ael2   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-ntest10   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-ntest12   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-ntest9   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test11   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test14   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test15   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test5   (with props)
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-vtest13   (with props)
Removed:
    team/murf/AEL2-1.2/pbx/ael-test/ael-test6/extensions.ael
    team/murf/AEL2-1.2/pbx/ael-test/ael-test7/extensions.ael
    team/murf/AEL2-1.2/pbx/ael-test/ael-test8/extensions.ael
Modified:
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test1
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test2
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test3
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test4
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test6
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test7
    team/murf/AEL2-1.2/pbx/ael-test/ref.ael-test8
    team/murf/AEL2-1.2/pbx/ael-test/runtests

Added: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/extensions.ael2
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/extensions.ael2?rev=44517&view=auto
==============================================================================
--- team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/extensions.ael2 (added)
+++ team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/extensions.ael2 Thu Oct  5 15:28:29 2006
@@ -1,0 +1,131 @@
+macro endsess()
+{
+	NoOp(hithere);
+}
+
+macro nullchk(type)
+{
+	NoOp(${type} is this);
+}
+
+macro endcall(type) {
+  switch(${type}) {
+    case out:
+      &nullchk(callid);
+      if(${testnotnull}) {
+        &endsess();
+        goto ptr1 ; // <-- goto call to valid label
+      }
+      else {
+ptr1: // <-- valid label
+        Softhangup(${CHANNEL});
+        break ;
+      }
+    Noop(esac) ;
+  }
+}
+
+macro endcall2(type) {
+  switch(${type}) {
+    case out:
+      &nullchk(callid);
+      if(${testnotnull}) {
+        &endsess();
+        goto ptr1 ; // <-- goto call to valid label
+      }
+	case out2:
+      {
+ptr1: // <-- valid label
+        Softhangup(${CHANNEL});
+        break ;
+      }
+    Noop(esac) ;
+  }
+}
+
+macro endcall3(type) {
+  switch(${type}) {
+    case out:
+      &nullchk(callid);
+      if(${testnotnull}) {
+        &endsess();
+        goto ptr1 ; // <-- goto call to valid label
+      }
+    Noop(esac) ;
+  }
+  if(${testnotnull}) {
+	goto ptr1;
+  }
+  switch(${type}) {
+	case out:
+      if(${testnotnull}) {
+ptr1: // <-- valid label
+        Softhangup(${CHANNEL});
+        break ;
+      }
+    Noop(esac) ;
+  }
+}
+
+macro endcall4(type) {
+  switch(${type}) {
+    case out:
+      &nullchk(callid);
+      if(${testnotnull}) {
+        &endsess();
+        goto ptr1 ; // <-- goto call to valid label
+      }
+    Noop(esac) ;
+  }
+  if(${testnotnull}) {
+	goto ptr1;
+  }
+  switch(${type}) {
+	case out:
+	  switch(${type})
+	  {
+		case in:
+      	 if(${testnotnull}) {
+ptr1: // <-- valid label
+             Softhangup(${CHANNEL});
+             break ;
+      	 }
+         Noop(esac) ;
+	  }
+   }
+}
+
+macro endcall5(type) {
+  switch(${type}) {
+    case out:
+      &nullchk(callid);
+      if(${testnotnull}) {
+        &endsess();
+        goto ptr1 ; // <-- goto call to valid label
+      }
+    case in:
+      &nullchk(callid);
+	ptr2:
+      if(${testnotnull}) {
+        &endsess();
+        goto ptr1 ; // <-- goto call to valid label
+      }
+    Noop(esac) ;
+  }
+  if(${testnotnull}) {
+	goto ptr1;
+  }
+  switch(${type}) {
+	case out:
+	  switch(${type})
+	  {
+		case in:
+      	 if(${testnotnull}) {
+ptr1: // <-- valid label
+             Softhangup(${CHANNEL});
+             break ;
+      	 }
+         Noop(esac) ;
+	  }
+   }
+}

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/extensions.ael2
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/extensions.ael2
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest10/extensions.ael2
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/extensions.ael2
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/extensions.ael2?rev=44517&view=auto
==============================================================================
--- team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/extensions.ael2 (added)
+++ team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/extensions.ael2 Thu Oct  5 15:28:29 2006
@@ -1,0 +1,13 @@
+context test1
+{
+        771 => {
+                for(	i=0; 
+			${i} <= 3; 
+			i = ${i} + 1 )
+                        NoOp(i is '${i}');
+        }
+        772 => {
+                for(i=0; ${i} <= 3;i= ${i} + 1 )
+                        NoOp(i is '${i}');
+        }
+}

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/extensions.ael2
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/extensions.ael2
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest12/extensions.ael2
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2?rev=44517&view=auto
==============================================================================
--- team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2 (added)
+++ team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2 Thu Oct  5 15:28:29 2006
@@ -1,0 +1,12 @@
+
+context workext {
+	ignorepat => 8;
+	ignorepat => 9;
+	793 => {
+		Set(QUERYSTRING=SELECT\ foo\,\ bar\ FROM\ foobar);
+		Verbose(2|${QUERYSTRING});
+	    query="SELECT foo\, bar FROM foobar" ;
+    		Verbose(2|${query}) ;
+	}
+}
+

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2
------------------------------------------------------------------------------
    svn:executable = *

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-ntest9/extensions.ael2
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: team/murf/AEL2-1.2/pbx/ael-test/ael-test11/extensions.ael2
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/ael-test/ael-test11/extensions.ael2?rev=44517&view=auto
==============================================================================
--- team/murf/AEL2-1.2/pbx/ael-test/ael-test11/extensions.ael2 (added)
+++ team/murf/AEL2-1.2/pbx/ael-test/ael-test11/extensions.ael2 Thu Oct  5 15:28:29 2006
@@ -1,0 +1,56 @@
+context test1
+{
+	s => 
+		{
+			goto lab1;
+			if( ${testnotnull} )
+			{
+				lab1:
+				NoOp(hello);
+			}
+			else
+			{
+				lab1:
+				MoOp(goodbye);
+			}
+		}
+
+	1 =>
+		{
+			lab1:
+			NoOp(This one is OK.);
+		}
+}
+
+macro endcall5(type) {
+  switch(${type}) {
+    case out:
+      if(${testnotnull}) {
+        NoOp(whoosh);
+        goto ptr1 ; // <-- goto call to valid label
+      }
+    case in:
+	ptr1:  // The First label is the valid one...
+      if(${testnotnull}) {
+        NoOp(wow);
+        goto ptr1 ; // <-- goto call to valid label
+      }
+    Noop(esac) ;
+  }
+  if(${testnotnull}) {
+	goto ptr1;
+  }
+  switch(${type}) {
+	case out:
+	  switch(${type})
+	  {
+		case in:
+      	 if(${testnotnull}) {
+ptr1: // <-- duplicate label (macros are about the equiv of an extension)
+             Softhangup(${CHANNEL});
+             break ;
+      	 }
+         Noop(esac) ;
+	  }
+   }
+}

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test11/extensions.ael2
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test11/extensions.ael2
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test11/extensions.ael2
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: team/murf/AEL2-1.2/pbx/ael-test/ael-test14/extensions.ael2
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/ael-test/ael-test14/extensions.ael2?rev=44517&view=auto
==============================================================================
--- team/murf/AEL2-1.2/pbx/ael-test/ael-test14/extensions.ael2 (added)
+++ team/murf/AEL2-1.2/pbx/ael-test/ael-test14/extensions.ael2 Thu Oct  5 15:28:29 2006
@@ -1,0 +1,20 @@
+context test1
+{
+	10 => {
+		// nothing but a comment!
+	}
+
+	11 => {
+		switch(${somevar})
+		{
+		case somecase:
+			// nothing but a comment!
+			break;
+		case somecase:
+			// nothing but a comment!
+			continue;
+		}
+		break;
+	}
+
+}

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test14/extensions.ael2
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test14/extensions.ael2
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test14/extensions.ael2
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: team/murf/AEL2-1.2/pbx/ael-test/ael-test15/extensions.ael2
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/ael-test/ael-test15/extensions.ael2?rev=44517&view=auto
==============================================================================
--- team/murf/AEL2-1.2/pbx/ael-test/ael-test15/extensions.ael2 (added)
+++ team/murf/AEL2-1.2/pbx/ael-test/ael-test15/extensions.ael2 Thu Oct  5 15:28:29 2006
@@ -1,0 +1,17 @@
+/* and some comments
+	would make a nice touch */
+
+context t1
+{
+	/* this a test of block comments */
+
+	_15x => {
+			/* more comments
+			across several lines
+			* what do you think*
+			*/
+	}
+
+}
+
+/* amd some more */

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test15/extensions.ael2
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test15/extensions.ael2
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test15/extensions.ael2
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael.orig
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael.orig?rev=44517&view=auto
==============================================================================
--- team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael.orig (added)
+++ team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael.orig Thu Oct  5 15:28:29 2006
@@ -1,0 +1,833 @@
+///////////////////////////////////////////////////////////////////////////////
+// Helpdesk Queue
+
+context hd-queue {
+	s => {
+		NoOp(Add a background sound to tell the user their options);
+		Queue(helpdesk|t);
+		NoOp(Put in options to apologize and send user to voicemail);
+	};
+
+	0 => goto default|0|1;
+	1 => {
+		Dial(u41950 at svm1.shsu.edu);
+		Congestion(10);
+		Hangup;
+	};
+};
+
+
+context l903-calling {
+	_9903NXXXXXX => {
+		Realtime(l903_ext|exchange|${EXTEN:4:3}|l903_);
+		if ("${l903_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+};
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from houston.conf
+// Converted the extension list to the database
+
+context houston-calling {
+	_9713NXXXXXX => {
+		Realtime(hou_713_ext|exchange|${EXTEN:4:3}|hou_713_);
+		if ("${hou_713_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+
+	_9281NXXXXXX => {
+		Realtime(hou_281_ext|exchange|${EXTEN:4:3}|hou_281_);
+		if ("${hou_281_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+
+	_9832NXXXXXX => {
+		Realtime(hou_832_ext|exchange|${EXTEN:4:3}|hou_832_);
+		if ("${hou_832_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+};
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from huntsville.conf
+// Converted the extension list to the database
+
+context huntsville-calling {
+	_9NXXXXXX => {
+		Realtime(hv_ext|exchange|${EXTEN:1:3}|hv_);
+		if ("${hv_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+
+	_NXXXXXX => {
+		NoOp(Stripping last four to see what extension we're dialing);
+		Set(LAST4=${EXTEN:3});
+		StripLSD(4);
+	};
+
+	i => Playback(pbx-invalid);
+	h => Hangup;
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from macros.conf
+
+macro dialout( number ) {
+	Realtime(call_info|exten|${CALLERIDNUM:5}|mon_);
+	if ("${mon_monitor}" = "YES") {
+		Dial(SIP/${number}@sgw1.shsu.edu,,wW);
+		Dial(SIP/${number}@sgw2.shsu.edu,,wW);
+	} else {
+		Dial(SIP/${number}@sgw1.shsu.edu);
+		Dial(SIP/${number}@sgw2.shsu.edu);
+	};
+};
+
+// Standard extension macro:
+//  ${ext} - Extension
+macro stdexten( ext ) {
+	Realtime(sipusers|name|${ext}|sip_user_);
+	Realtime(call_info|exten|${ext}|info_);
+	if ("${sip_user_name}foo" = "foo") {
+		Wait(1);
+		&dialout(${ext});
+		Congestion(10);
+		Hangup;
+	};
+	NoOp(${CALLERIDNUM});
+	RealtimeUpdate(call_info|exten|${ext}|calltrace|${CALLERIDNUM});
+	System(/usr/local/bin/db_update.sh call_info calltrace ${CALLERIDNUM} exten ${ext} &);
+	&checkdnd(${ext});
+	&checkcf(${ext});
+	Realtime(call_info|exten|${CALLERIDNUM:5}|mon_);
+	if ("${mon_monitor}" = "YES") {
+		Dial(SIP/${info_forwardto},25,wW);
+	} else {
+		Dial(SIP/${info_forwardto},25);
+	};
+	switch ("${DIALSTATUS}") {
+		case "BUSY":
+			&checkcfb(${ext});
+			break;
+		case "CHANUNAVAIL":
+			Dial(IAX2/asterisk:password at scm2.shsu.edu/${info_forwardto},25,wW);
+			MailboxExists(${ext});
+//			if ("${VMBOXEXISTSSTATUS}" = "FAILED") {
+//				Congestion(10);
+//				Hangup;
+//			};
+			&uvm(${ext});
+			Hangup;
+			break;
+		case "CONGESTION":
+			MailboxExists(${ext});
+			if ("$(VMBOXEXISTSSTATUS}" = "FAILED") {
+				Congestion(10);
+				Hangup;
+			};
+			&bvm(${ext});
+			Hangup;
+			break;
+		default:
+			MailboxExists(${ext});
+			if ("$(VMBOXEXISTSSTATUS}" = "FAILED") {
+				Congestion(10);
+				Hangup;
+			};
+			&uvm(${ext});
+			Hangup;
+	};
+	Hangup;
+};
+
+macro uvm( ext ) {
+	Dial(SIP/u${ext}@svm1.shsu.edu);
+	Playback(im-sorry);
+	Playback(voice-mail-system);
+	Playback(down);
+	Congestion(10);
+	Hangup;
+};
+
+macro bvm( ext ) {
+	Dial(SIP/b${ext}@svm1.shsu.edu);
+	Playback(im-sorry);
+	Playback(voice-mail-system);
+	Playback(down);
+	Congestion(10);
+	Hangup;
+};
+
+macro checkdnd( ext ) {
+	if ("${info_donotdisturb}foo" = "foo") {
+		NoOp(Do Not Disturb is not active);
+	} else
+		&uvm(${ext});
+};
+
+macro checkcf( ext ) {
+	if ("${info_forwardto}foo" = "foo")
+		if ("${ext}" = "43974") {
+			Set(info_forwardto=${ext}&SCCP/${ext});
+		} else {
+			Set(info_forwardto=${ext}&SIP/${ext}w);
+		};
+};
+
+macro checkcfb( ext ) {
+	if ("${info_forwardbusy}foo" = "foo") {
+		Wait(1);
+		MailboxExists(${ext});
+		if ("$(VMBOXEXISTSSTATUS}" = "FAILED") {
+			&dialout(${ext});
+			Hangup;
+		};
+		&bvm(${ext});
+		Hangup;
+	};
+	&stdexten(${info_forwardbusy});
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from test.conf
+
+context test-include {
+	includes {
+		test-digium;
+		test-sounds;
+		test-phinfo;
+	};
+};
+
+context test-digium {
+	*500 => {
+		Dial(IAX2/guest at misery.digium.com/s at default);
+		Playback(demo-nogo);
+		Hangup;
+	};
+};
+
+context test-sounds {
+	*501 => {
+		Answer;
+		Musiconhold;
+		Wait(1);
+		Hangup;
+	};
+};
+
+context test-phinfo {
+	*505 => {
+		Answer;
+		NoOp(${CALLERIDNUM:5});
+		SayDigits(${CALLERIDNUM:5});
+		Hangup;
+	};
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from external.conf
+
+context long-distance {
+	includes {
+		local;
+	};
+
+	_91XXXXXXXXXX => &dialout(${EXTEN});
+	_9011. => &dialout(${EXTEN});
+};
+
+context local {
+	includes {
+		default;
+	};
+
+	911 => &dialout(911);
+	9911 => &dialout(9911);
+
+	_9NXXXXXX => goto huntsville-calling|${EXTEN}|1;
+	_936NXXXXXX => {
+		Goto 9${EXTEN:3}|1;
+		Congestion(10);
+		Hangup;
+	};
+
+	_832NXXXXXX => {
+		goto 9${EXTEN}|1;
+		Congestion(10);
+		Hangup;
+	};
+
+	_713NXXXXXX => {
+		goto 9${EXTEN}|1 ;
+		Congestion(10);
+		Hangup;
+	};
+
+	_281NXXXXXX => {
+		goto 9${EXTEN}|1;
+		Congestion(10);
+		Hangup;
+
+	};
+
+	_NXXNXXXXXX => {
+		goto 9${EXTEN}|1;
+		goto 91${EXTEN}|1;
+		Congestion(10);
+		Hangup;
+	};
+
+	_91800NXXXXXX => &dialout(${EXTEN});
+	_91866NXXXXXX => &dialout(${EXTEN});
+	_91877NXXXXXX => &dialout(${EXTEN});
+	_91888NXXXXXX => &dialout(${EXTEN});
+	_91900NXXXXXX => &dialout(${EXTEN});
+	_91976NXXXXXX => &dialout(${EXTEN});
+	_9713NXXXXXX => goto houston-calling|${EXTEN}|1;
+	_9281NXXXXXX => goto houston-calling|${EXTEN}|1;
+	_9832NXXXXXX => goto houston-calling|${EXTEN}|1;
+	_9903NXXXXXX => goto l903-calling|${EXTEN}|1;
+
+	_31NXXNXXXXXX => &dialout(${EXTEN});
+
+	h => Hangup;
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from internal.conf
+
+context from-scm2 {
+	_4XXXX => {
+		NoOp(DIALING SIP EXTENSION ${EXTEN} - FROM ${CALLERIDNUM});
+		Dial(SIP/${EXTEN},20,wW);
+		Hangup;
+	};
+
+	_6XXXX => {
+		NoOp(DIALING SIP EXTENSION ${EXTEN} - FROM ${CALLERIDNUM});
+		Dial(SIP/${EXTEN},20,wW);
+		Hangup;
+	};
+};
+
+///////////////////////////////////////////////////////////
+// All internal extensions work through the default context
+// Phones that can only make internal calls should be in
+// this context.
+///////////////////////////////////////////////////////////
+
+context default {
+// Include the contexts in the files that allow us to make these phone calls
+	includes {
+		vm-include;
+		apps-include;
+		test-include;
+	};
+
+// ALWAYS have an 'h' extension
+	h => {
+		NoOp(Hangup cause was: ${HANGUPCAUSE});
+		Hangup;
+	};
+
+// We like to hear that we dialed an invalid extension
+	i => Playback(pbx-invalid);
+
+// Dial the operator
+	0 => &dialout(0);
+
+// Send voicemail calls to the vm-* contexts to be handled
+	voicemail => goto vm-direct|s|1;
+	5555 => goto vm-direct|s|1;
+	62100 => goto vm-extension|s|1;
+
+// These are our campus extensions, send them to the macro
+	_6XXXX => &stdexten(${EXTEN});
+	_4XXXX => &stdexten(${EXTEN});
+// These are campus extensions as well, might need to take this out though.
+	_9294XXXX => goto _4XXXX|1;
+	_9496XXXX => goto _6XXXX|1;
+
+// These allows us to dial from the directory in our phone without worrying about dialing 9
+	_936294XXXX => {
+		goto ${EXTEN:5}|1;
+		goto 9${EXTEN:3}|1;
+		Congestion(10);
+		Hangup;
+	};
+
+	_936496XXXX => {
+		goto ${EXTEN:5}|1;
+		goto 9${EXTEN:3}|1;
+		Congestion(10);
+		Hangup;
+	};
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from apps.conf
+
+context apps-include {
+	includes {
+		app-agents;
+		app-dnd;
+		app-callforward;
+		app-calltrace;
+		app-conferences;
+		app-ssd;
+		app-psd;
+		app-idblock;
+		app-helpdesk;
+		app-dictate;
+		app-set-monitor;
+	};
+};
+
+context app-agents {
+	*54 => {
+		Answer;
+		Wait(1);
+		Read(agent_no|agent-user);
+		AgentCallbackLogin(${agent_no}|s${CALLERIDNUM:5});
+		Playback(agent-loginok);
+		Hangup;
+	};
+
+	*55 => {
+		Answer;
+		Wait(1);
+		AgentCallbackLogin(${agent_no});
+		Hangup;
+	};
+};
+
+context app-calltrace {
+// caller dials this to find out the last call missed and possibly call back
+	*69 => goto app-calltrace-perform|s|1;
+};
+
+context app-calltrace-perform {
+	s => {
+		Answer;
+		Wait(1);
+		Background(info-about-last-call);
+		Background(telephone-number);
+		RealTime(call_info|exten|${CALLERIDNUM:5}|ct_);
+		if ("${ct_calltrace}foo" = "foo") {
+			Playback(loligo/from-unknown-caller);
+			Hangup;
+		} else {
+			SayDigits("${ct_calltrace}");
+			Set(TIMEOUT(digit)=3);
+			Set(TIMEOUT(response)=7);
+			Background(loligo/to-call-this-number);
+			Background(press-1);
+			Background(loligo/silence/5);
+		};
+	};
+
+	1 => goto local|${ct_calltrace}|1;
+
+	i => {
+		Playback(vm-goodbye);
+		Hangup;
+	};
+
+	t => {
+		Playback(vm-goodbye);
+		Hangup;
+	};
+};
+
+context app-set-monitor {
+	*50 => {
+		Realtime(call_info|exten|${CALLERIDNUM:5}|mon_set_);
+		if ("${mon_set_monitor}" = "YES") {
+			RealtimeUpdate(call_info|exten|${CALLERIDNUM:5}|monitor|);
+			System(/usr/local/bin/db_update.sh call_info monitor '' exten ${CALLERIDNUM:5} &);
+		} else {
+			RealtimeUpdate(call_info|exten|${CALLERIDNUM:5}|monitor|YES);
+			System(/usr/local/bin/db_update.sh call_info monitor YES exten ${CALLERIDNUM:5} &);
+		};
+		NoOp(${mon_set_monitor});
+		Hangup;
+	};
+};
+
+context app-dnd {
+	*78 => {
+		Answer;
+		Wait(1);
+		RealtimeUpdate(call_info|exten|${CALLERIDNUM:5}|donotdisturb|YES);
+		System(/usr/local/bin/db_update.sh call_info donotdisturb YES exten ${CALLERIDNUM:5} &);
+		Playback(do-not-disturb);
+		Playback(loligo/activated);
+		Hangup;
+	};
+
+	*79 => {
+		Answer;
+		Wait(1);
+		RealtimeUpdate(call_info|exten|${CALLERIDNUM:5}|donotdisturb|);
+		System(/usr/local/bin/db_update.sh call_info donotdisturb '' exten ${CALLERIDNUM:5} &);
+		Playback(do-not-disturb);
+		Playback(loligo/de-activated);
+		Hangup;
+	};
+};
+
+context app-callforward {
+	// forwards calling extension to input number *72{EXTEN}
+	_*72. => {
+		RealtimeUpdate(call_info|exten|${CALLERIDNUM:5}|forwardto|${EXTEN:3});
+		System(/usr/local/bin/db_update.sh call_info forwardto ${EXTEN:3} exten ${CALLERIDNUM:5} &);
+		Answer;
+		Wait(1);
+		Playback(loligo/call-fwd-unconditional);
+		Playback(loligo/for);
+		Playback(loligo/extension);
+		SayDigits(${CALLERIDNUM:5});
+		Playback(loligo/is-set-to);
+		SayDigits(${EXTEN:3});
+		Hangup;
+	};
+
+	// prompts for extension to forward to
+	*72 => {
+		Answer;
+		Wait(1);
+		Playback(please-enter-your);
+		Playback(extension);
+		Background(then-press-pound);
+		VMAuthenticate(|s);
+		Background(loligo/ent-target-attendant);
+		Read(toext,loligo/then-press-pound);
+		Wait(1);
+		RealtimeUpdate(call_info|exten|${AUTH_MAILBOX}|forwardto|${toext});
+		System(/usr/local/bin/db_update.sh call_info forwardto ${toext} exten ${AUTH_MAILBOX} &);
+		Playback(loligo/call-fwd-unconditional);
+		Playback(loligo/for);
+		Playback(loligo/extension);
+		SayDigits(${AUTH_MAILBOX});
+		Playback(loligo/is-set-to);
+		SayDigits(${toext});
+		Hangup;
+	};
+
+	// cancels dialed extension call forward
+	_*73. => {
+		Realtime(voicemail|mailbox|${EXTEN:3}|auth_);
+		Answer;
+		Wait(1);
+		Authenticate(${auth_password});
+		RealtimeUpdate(call_info|exten|${EXTEN:3}|forwardto|);
+		System(/usr/local/bin/db_update.sh call_info forwardto '' exten ${EXTEN:3} &);
+		Wait(1);
+		SayDigits(${EXTEN:3});
+		Playback(loligo/call-fwd-cancelled);
+		Hangup;
+	};
+
+	// cancels call forward for calling extension
+	*73 => {
+		RealtimeUpdate(call_info|exten|${CALLERIDNUM:5}|forwardto|);
+		System(/usr/local/bin/db_update.sh call_info forwardto '' exten ${CALLERIDNUM:5} &);
+		Answer;
+		Wait(1);
+		Playback(loligo/call-fwd-cancelled);
+		Hangup;
+	};
+
+	// dialed call forward on busy
+	_*90. => {
+		RealtimeUpdate(call_info|exten|${CALLERIDNUM:5}|forwardbusy|${EXTEN:3});
+		System(/usr/local/bin/db_update.sh call_info forwardbusy ${EXTEN:3} exten ${CALLERIDNUM:5} &);
+		Answer;
+		Wait(1);
+		Playback(loligo/call-fwd-on-busy);
+		Playback(loligo/for);
+		Playback(loligo/extension);
+		SayDigits(${CALLERIDNUM:5});
+		Playback(loligo/is-set-to);
+		SayDigits(${EXTEN:3});
+		Hangup;
+	};
+
+	// cancels call forward on busy for calling extension
+	*91 => {
+		RealtimeUpdate(call_info|exten|${CALLERIDNUM:5}|forwardbusy|);
+		System(/usr/local/bin/db_update.sh call_info forwardbusy '' exten ${CALLERIDNUM:5} &);
+		Answer;
+		Wait(1);
+		Playback(loligo/call-fwd-on-busy);
+		Playback(loligo/de-activated);
+		Hangup;
+	};
+
+	h => Hangup;
+};
+
+context app-idblock {
+	_*67. => {
+		Set(CALLERID(name)=Anonymous);
+		&stdexten(${EXTEN:3});
+	};
+};
+
+context app-dictate {
+	*1 => {
+		Dictate();
+		Hangup;
+	};
+};
+
+context app-ssd {
+// *59 <xx> <y.> - Set system speed dial <xx> to digits <y.>
+// *59 <xx> 0    - Delete system speed dial <xx>
+// *59 <xx>      - Review system speed dial <xx>
+// *1xx          - Dial speed dial <xx>
+	_*59XXX. => {
+		Answer;
+		RealtimeUpdate(ssd|sd|${EXTEN:3:2}|extension|${EXTEN:5});
+		System(/usr/local/bin/db_update.sh systemsd extension ${EXTEN:5} sd ${EXTEN:3:2} &);
+		Wait(1);
+		Playback(loligo/speed-dial);
+		SayDigits(${EXTEN:3:2});
+		Playback(loligo/has-been-set-to);
+		SayDigits(${EXTEN:5});
+		Hangup;
+	};
+
+	_*59XX0 => {
+		Answer;
+		RealtimeUpdate(ssd|sd|${EXTEN:3:2}|extension|);
+		System(/usr/local/bin/db_update.sh systemsd extension '' sd ${EXTEN:3:2} &);
+		Wait(1);
+		Playback(loligo/speed-dial);
+		SayDigits(${EXTEN:3:2});
+		Playback(loligo/has-been-cleared);
+		Hangup;
+	};
+
+	_*59XX => {
+		Answer;
+		Realtime(ssd|sd|${EXTEN:3}|ssd_);
+		if ("${ssd_extension}foo" = "foo") {
+			Playback(loligo/speed-dial);
+			SayDigits(${EXTEN:3:2});
+			Playback(loligo/is-not-set);
+			Hangup;
+		};
+		Wait(1);
+		Playback(loligo/speed-dial);
+		SayDigits(${EXTEN:3:2});
+		Playback(loligo/is-set-to);
+		SayDigits(${ssd_extension});
+		Hangup;
+	};
+
+	// NTC = number to call
+	_*1XX => {
+		Realtime(ssd|sd|${EXTEN:2}|ssd_);
+		if ("${ssd_extension}foo" = "foo") {
+			Answer;
+			Wait(1);
+			Playback(loligo/speed-dial);
+			SayDigits(${EXTEN:2});
+			Playback(loligo/is-not-set);
+			Hangup;
+		};
+		&stdexten(${ssd_extension});
+		Congestion(10);
+		Hangup;
+	};
+};
+
+macro check-psd-exists ( ext ) {
+	Realtime(psd|extension|${ext}|psd_);
+	if ("${psd_extension}foo" = "foo") {
+		System(/usr/local/bin/create_psd.sh ${ext});
+	} else
+		NoOp(PSD set for ${ext});
+};
+
+context app-psd {
+// *89 <xx> <y.> - Set personal speed dial <xx> to digits <y.>
+// *89 <xx> 0    - Delete personal speed dial <xx>
+// *89 <xx>      - Review personal speed dial <xx>
+// *2xx          - Dial personal speed dial <xx>
+	_*89XXX. => {
+		&check-psd-exists(${CALLERIDNUM:5});
+		Answer;
+		RealtimeUpdate(psd|extension|${CALLERIDNUM:5}|s${EXTEN:3:2}|${EXTEN:5});
+		System(/usr/local/bin/db_update.sh personalsd s${EXTEN:3:2} ${EXTEN:5} extension ${CALLERIDNUM:5} &);
+		Wait(1);
+		Playback(loligo/speed-dial);
+		SayDigits(${EXTEN:3:2});
+		Playback(loligo/has-been-set-to);
+		SayDigits(${EXTEN:5});
+		Hangup;
+	};
+
+	_*89XX0 => {
+		&check-psd-exists(${CALLERIDNUM:5});
+		Answer;
+		RealtimeUpdate(psd|extension|${CALLERIDNUM:5}|s${EXTEN:3:2}|);
+		System(/usr/local/bin/db_update.sh personalsd s${EXTEN:3:2} '' extension ${CALLERIDNUM:5} &);
+		Wait(1);
+		Playback(loligo/speed-dial);
+		SayDigits(${EXTEN:3:2});
+		Playback(loligo/has-been-cleared);
+		Hangup;
+	};
+
+	_*89XX => {
+		&check-psd-exists(${CALLERIDNUM:5});
+		Answer;
+		Realtime(psd|extension|${CALLERIDNUM:5}|psd_);
+		Wait(1);
+		if ("${psd_s${EXTEN:3:2}}foo" = "foo") {
+			Playback(loligo/speed-dial);
+			SayDigits(${EXTEN:3:2});
+			Playback(loligo/is-not-set);
+			Hangup;
+		};
+		Playback(loligo/speed-dial);
+		SayDigits(${EXTEN:3:2});
+		Playback(loligo/is-set-to);
+		SayDigits(${psd_s${EXTEN:3:2}});
+		Hangup;
+	};
+
+	// NTC = number to call
+	_*2XX => {
+		&check-psd-exists(${CALLERIDNUM:5});
+		Realtime(psd|extension|${CALLERIDNUM:5}|psd_);
+		if ("${psd_s${EXTEN:2}}foo" = "foo") {
+			Answer;
+			Wait(1);
+			Playback(loligo/speed-dial);
+			SayDigits(${EXTEN:2});
+			Playback(loligo/is-not-set);
+			Hangup;
+		};
+		&stdexten(${psd_s${EXTEN:2}});
+		Congestion(10);
+		Hangup;
+	};
+};
+
+context app-helpdesk {
+	*4357 => {
+		&stdexten(41950);
+		Congestion;
+	};
+};
+
+context app-conferences {
+// waiting for room number announcement
+	*86 => goto app-conf-hidden|s|1;
+};
+
+context app-conf-hidden {
+	s => {
+		Wait(1);
+		Playback(loligo/please-enter-the);
+		Playback(loligo/extension);
+		read(roomtoenter,loligo/then-press-pound);
+		Meetme(${roomtoenter});
+		Waitexten(8);
+		Hangup;
+	};
+
+	_1. => Meetme(${EXTEN});
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from vm.conf:
+
+context vm-include {
+	includes {
+		vm-direct;
+		vm-extension;
+		vm-directory;
+	};
+};
+
+context vm-direct {
+	s => {
+		Dial(SIP/5555 at svm1.shsu.edu,20);
+		Playback(im-sorry);
+		Playback(voice-mail-system);
+		Playback(down);
+		Playback(extra/pls-try-call-later);
+		Congestion(10);
+		Hangup;
+	};
+};
+
+context vm-extension {
+	s => {
+		Dial(SIP/62100 at svm1.shsu.edu,20);
+		Playback(im-sorry);
+		Playback(voice-mail-system);
+		Playback(down);
+		Playback(extra/pls-try-call-later);
+		Congestion(10);
+		Hangup;
+	};
+};
+
+context vm-directory {
+	5556 => {
+		Dial(SIP/5556 at svm1.shsu.edu);
+		Playback(im-sorry);
+		Playback(voice-mail-system);
+		Playback(down);
+		Playback(extra/pls-try-call-later);
+		Congestion(10);
+		Hangup;
+	};
+};

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael.orig
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael.orig
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael.orig
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael2
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael2?rev=44517&view=auto
==============================================================================
--- team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael2 (added)
+++ team/murf/AEL2-1.2/pbx/ael-test/ael-test5/extensions.ael2 Thu Oct  5 15:28:29 2006
@@ -1,0 +1,833 @@
+///////////////////////////////////////////////////////////////////////////////
+// Helpdesk Queue
+
+context hd-queue {
+	s => {
+		NoOp(Add a background sound to tell the user their options);
+		Queue(helpdesk|t);
+		NoOp(Put in options to apologize and send user to voicemail);
+	};
+
+	0 => goto default|0|1;
+	1 => {
+		Dial(u41950 at svm1.shsu.edu);
+		Congestion(10);
+		Hangup;
+	};
+};
+
+
+context l903-calling {
+	_9903NXXXXXX => {
+		Realtime(l903_ext,exchange,${EXTEN:4:3},l903_);
+		if ("${l903_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+};
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from houston.conf
+// Converted the extension list to the database
+
+context houston-calling {
+	_9713NXXXXXX => {
+		Realtime(hou_713_ext,exchange,${EXTEN:4:3},hou_713_);
+		if ("${hou_713_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+
+	_9281NXXXXXX => {
+		Realtime(hou_281_ext,exchange,${EXTEN:4:3},hou_281_);
+		if ("${hou_281_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+
+	_9832NXXXXXX => {
+		Realtime(hou_832_ext,exchange,${EXTEN:4:3},hou_832_);
+		if ("${hou_832_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+};
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from huntsville.conf
+// Converted the extension list to the database
+
+context huntsville-calling {
+	_9NXXXXXX => {
+		Realtime(hv_ext,exchange,${EXTEN:1:3},hv_);
+		if ("${hv_exchange}foo" = "foo") {
+			Playback(num-outside-area);
+			SayDigits(1);
+			Playback(and-area-code);
+			Playback(before-the-number);
+			Hangup;
+		};
+		&dialout(${EXTEN});
+		Congestion(10);
+		Hangup;
+	};
+
+	_NXXXXXX => {
+		NoOp(Stripping last four to see what extension we're dialing);
+		Set(LAST4=${EXTEN:3});
+		StripLSD(4);
+	};
+
+	i => Playback(pbx-invalid);
+	h => Hangup;
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from macros.conf
+
+macro dialout( number ) {
+	Realtime(call_info,exten,${CALLERIDNUM:5},mon_);
+	if ("${mon_monitor}" = "YES") {
+		Dial(SIP/${number}@sgw1.shsu.edu,,wW);
+		Dial(SIP/${number}@sgw2.shsu.edu,,wW);
+	} else {
+		Dial(SIP/${number}@sgw1.shsu.edu);
+		Dial(SIP/${number}@sgw2.shsu.edu);
+	};
+};
+
+// Standard extension macro:
+//  ${ext} - Extension
+macro stdexten( ext ) {
+	Realtime(sipusers,name,${ext},sip_user_);
+	Realtime(call_info,exten|${ext},info_);
+	if ("${sip_user_name}foo" = "foo") {
+		Wait(1);
+		&dialout(${ext});
+		Congestion(10);
+		Hangup;
+	};
+	NoOp(${CALLERIDNUM});
+	RealtimeUpdate(call_info,exten,${ext},calltrace,${CALLERIDNUM});
+	System(/usr/local/bin/db_update.sh call_info calltrace ${CALLERIDNUM} exten ${ext} &);
+	&checkdnd(${ext});
+	&checkcf(${ext});
+	Realtime(call_info,exten,${CALLERIDNUM:5},mon_);
+	if ("${mon_monitor}" = "YES") {
+		Dial(SIP/${info_forwardto},25,wW);
+	} else {
+		Dial(SIP/${info_forwardto},25);
+	};
+	switch ("${DIALSTATUS}") {
+		case "BUSY":
+			&checkcfb(${ext});
+			break;
+		case "CHANUNAVAIL":
+			Dial(IAX2/asterisk:password at scm2.shsu.edu/${info_forwardto},25,wW);
+			MailboxExists(${ext});
+//			if ("${VMBOXEXISTSSTATUS}" = "FAILED") {
+//				Congestion(10);
+//				Hangup;
+//			};
+			&uvm(${ext});
+			Hangup;
+			break;
+		case "CONGESTION":
+			MailboxExists(${ext});
+			if ("${VMBOXEXISTSSTATUS}" = "FAILED") {
+				Congestion(10);
+				Hangup;
+			};
+			&bvm(${ext});
+			Hangup;
+			break;
+		default:
+			MailboxExists(${ext});
+			if ("${VMBOXEXISTSSTATUS}" = "FAILED") {
+				Congestion(10);
+				Hangup;
+			};
+			&uvm(${ext});
+			Hangup;
+	};
+	Hangup;
+};
+
+macro uvm( ext ) {
+	Dial(SIP/u${ext}@svm1.shsu.edu);
+	Playback(im-sorry);
+	Playback(voice-mail-system);
+	Playback(down);
+	Congestion(10);
+	Hangup;
+};
+
+macro bvm( ext ) {
+	Dial(SIP/b${ext}@svm1.shsu.edu);
+	Playback(im-sorry);
+	Playback(voice-mail-system);
+	Playback(down);
+	Congestion(10);
+	Hangup;
+};
+
+macro checkdnd( ext ) {
+	if ("${info_donotdisturb}foo" = "foo") {
+		NoOp(Do Not Disturb is not active);
+	} else
+		&uvm(${ext});
+};
+
+macro checkcf( ext ) {
+	if ("${info_forwardto}foo" = "foo")
+		if ("${ext}" = "43974") {
+			Set(info_forwardto=${ext}&SCCP/${ext});
+		} else {
+			Set(info_forwardto=${ext}&SIP/${ext}w);
+		};
+};
+
+macro checkcfb( ext ) {
+	if ("${info_forwardbusy}foo" = "foo") {
+		Wait(1);
+		MailboxExists(${ext});
+		if ("${VMBOXEXISTSSTATUS}" = "FAILED") {
+			&dialout(${ext});
+			Hangup;
+		};
+		&bvm(${ext});
+		Hangup;
+	};
+	&stdexten(${info_forwardbusy});
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Extensions pulled from test.conf
+
+context test-include {
+	includes {
+		test-digium;
+		test-sounds;
+		test-phinfo;
+	};
+};
+
+context test-digium {
+	*500 => {
+		Dial(IAX2/guest at misery.digium.com/s at default);
+		Playback(demo-nogo);
+		Hangup;
+	};
+};
+
+context test-sounds {
+	*501 => {
+		Answer;
+		Musiconhold;
+		Wait(1);
+		Hangup;

[... 8434 lines stripped ...]


More information about the asterisk-commits mailing list