Tag voicemails with UTC time as opposed to local time zone
[asterisk/asterisk.git] / configs / extensions.ael.sample
index 39e0e19..89436dc 100644 (file)
@@ -3,17 +3,19 @@
 //
 //
 // Static extension configuration file, used by
-// the pbx_config module. This is where you configure all your 
+// the pbx_ael module. This is where you configure all your 
 // inbound and outbound calls in Asterisk. 
 // 
 // This configuration file is reloaded 
-// - With the "extensions reload" command in the CLI
+// - With the "ael reload" command in the CLI
 // - With the "reload" command (that reloads everything) in the CLI
 
 // The "Globals" category contains global variables that can be referenced
-// in the dialplan with ${VARIABLE} or ${ENV(VARIABLE)} for Environmental
-// variables,
-// ${${VARIABLE}} or ${text${VARIABLE}} or any hybrid
+// in the dialplan by using the GLOBAL dialplan function:
+//  ${GLOBAL(VARIABLE)} 
+// ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid
+// Unix/Linux environmental variables are reached with the ENV dialplan
+// function: ${ENV(VARIABLE)}
 //
 
 globals {
@@ -61,7 +63,7 @@ globals {
 //
 // For example the extension _NXXXXXX would match normal 7 digit dialings, 
 // while _1NXXNXXXXXX would represent an area code plus phone number
-// preceeded by a one.
+// preceded by a one.
 //
 // Each step of an extension is ordered by priority, which must
 // always start with 1 to be considered a valid extension.  The priority
@@ -91,7 +93,7 @@ globals {
 //
 //     includes { 
 //             daytime|9:00-17:00|mon-fri|*|*;
-//  };
+//      };
 //
 //     ignorepat can be used to instruct drivers to not cancel dialtone upon
 //     receipt of a particular pattern.  The most commonly used example is
@@ -107,15 +109,15 @@ globals {
 // Sample entries for extensions.conf
 //
 //
-context dundi-e164-canonical {
+context ael-dundi-e164-canonical {
        //
        // List canonical entries here
        //
-       // 12564286000 => &std-exten(6000,IAX2/foo);
+       // 12564286000 => &ael-std-exten(6000,IAX2/foo);
        // _125642860XX => Dial(IAX2/otherbox/${EXTEN:7});
 };
 
-context dundi-e164-customers {
+context ael-dundi-e164-customers {
        //
        // If you are an ITSP or Reseller, list your customers here.
        //
@@ -123,7 +125,7 @@ context dundi-e164-customers {
        //_12564286001 => Dial(IAX2/customer2);
 };
 
-context dundi-e164-via-pstn {
+context ael-dundi-e164-via-pstn {
        //
        // If you are freely delivering calls to the PSTN, list them here
        //
@@ -131,19 +133,19 @@ context dundi-e164-via-pstn {
        //_1256325XXXX => Dial(Zap/g2/${EXTEN:7}); // Ditto for 256-325
 };
 
-context dundi-e164-local {
+context ael-dundi-e164-local {
        //
        // Context to put your dundi IAX2 or SIP user in for
        // full access
        //
        includes {
-        dundi-e164-canonical;
-        dundi-e164-customers;
-        dundi-e164-via-pstn;
+        ael-dundi-e164-canonical;
+        ael-dundi-e164-customers;
+        ael-dundi-e164-via-pstn;
        };
 };
 
-context dundi-e164-switch {
+context ael-dundi-e164-switch {
        //
        // Just a wrapper for the switch
        //
@@ -153,14 +155,14 @@ context dundi-e164-switch {
        };
 };
 
-context dundi-e164-lookup {
+context ael-dundi-e164-lookup {
        //
        // Locally to lookup, try looking for a local E.164 solution
        // then try DUNDi if we don't have one.
        //
        includes {
-               dundi-e164-local;
-               dundi-e164-switch;
+               ael-dundi-e164-local;
+               ael-dundi-e164-switch;
        };
        //
 };
@@ -169,11 +171,12 @@ context dundi-e164-lookup {
 // DUNDi can also be implemented as a Macro instead of using 
 // the Local channel driver. 
 //
-macro dundi-e164(exten) {
+macro ael-dundi-e164(exten) {
 //
 // ARG1 is the extension to Dial
 //
        goto ${exten}|1;
+       return;
 };
 
 //
@@ -182,49 +185,49 @@ macro dundi-e164(exten) {
 // there are exceptions.  For more information, and to sign
 // up, please go to www.gnophone.com or www.iaxtel.com
 //
-context iaxtel700 {
+context ael-iaxtel700 {
        _91700XXXXXXX => Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel);
 };
 
 //
-// The SWITCH statement permits a server to share the dialplain with
+// The SWITCH statement permits a server to share the dialplan with
 // another server. Use with care: Reciprocal switch statements are not
 // allowed (e.g. both A -> B and B -> A), and the switched server needs
 // to be on-line or else dialing can be severly delayed.
 //
-context iaxprovider {
+context ael-iaxprovider {
        switches {
        // IAX2/user:[key]@myserver/mycontext;
        };
 };
 
-context trunkint {
+context ael-trunkint {
        //
        // International long distance through trunk
        //
        includes {
-               dundi-e164-lookup;
+               ael-dundi-e164-lookup;
        };
        _9011. => {
-               &dundi-e164(${EXTEN:4});
+               &ael-dundi-e164(${EXTEN:4});
                Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
        };
 };
 
-context trunkld {
+context ael-trunkld {
        //
        // Long distance context accessed through trunk
        //
        includes {
-               dundi-e164-lookup;
+               ael-dundi-e164-lookup;
        };
        _91NXXNXXXXXX => {
-               &dundi-e164(${EXTEN:1});
+               &ael-dundi-e164(${EXTEN:1});
                Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
        };
 };
 
-context trunklocal {
+context ael-trunklocal {
        //
        // Local seven-digit dialing accessed through trunk interface
        //
@@ -233,7 +236,7 @@ context trunklocal {
        };
 };
 
-context trunktollfree {
+context ael-trunktollfree {
        //
        // Long distance context accessed through trunk interface
        //
@@ -244,40 +247,39 @@ context trunktollfree {
        _91866NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
 };
 
-context international {
+context ael-international {
        //
        // Master context for international long distance
        //
        ignorepat => 9;
        includes {
-               longdistance;
-               trunkint;
+               ael-longdistance;
+               ael-trunkint;
        };
 };
 
-context longdistance {
+context ael-longdistance {
        //
        // Master context for long distance
        //
        ignorepat => 9;
        includes {
-               local;
-               trunkld;
+               ael-local;
+               ael-trunkld;
        };
 };
 
-context local {
+context ael-local {
        //
        // Master context for local, toll-free, and iaxtel calls only
        //
        ignorepat => 9;
        includes {
-               default;
-               parkedcalls;
-               trunklocal;
-               iaxtel700;
-               trunktollfree;
-               iaxprovider;
+               ael-default;
+               ael-trunklocal;
+               ael-iaxtel700;
+               ael-trunktollfree;
+               ael-iaxprovider;
        };
 };
 
@@ -303,19 +305,20 @@ context local {
 // eswitch => IAX2/context@${CURSERVER}
 
 
-macro std-exten-ael( ext , dev ) {
+macro ael-std-exten-ael( ext , dev ) {
         Dial(${dev}/${ext},20);
         switch(${DIALSTATUS}) {
         case BUSY:
-                Voicemail(b${ext});
+                Voicemail(${ext},b);
                 break;
         default:
-                Voicemail(u${ext});
+                Voicemail(${ext},u);
         };
         catch a {
                 VoiceMailMain(${ext});
                 return;
         };
+       return;
 };
 
 context ael-demo {
@@ -341,7 +344,7 @@ instructions:
                goto s|restart;
        };
        1000 => {
-               goto default|s|1;
+               goto ael-default|s|1;
        };
        500 => {
                Playback(demo-abouttotry);
@@ -355,7 +358,7 @@ instructions:
                Playback(demo-echodone);
                goto s|instructions;
        };
-       _1234 => &std-exten-ael(${EXTEN}, "IAX2");
+       _1234 => &ael-std-exten-ael(${EXTEN}, "IAX2");
        8500 => {
                VoicemailMain();
                goto s|instructions;
@@ -368,7 +371,14 @@ instructions:
        i => Playback(invalid);
 };
 
-context default {
+
+//
+// If you wish to use AEL for your default context, remove it
+// from extensions.conf (or change its name or comment it out)
+// and then uncomment the one here.
+//
+
+context ael-default {
 
 // By default we include the demo.  In a production system, you 
 // probably don't want to have the demo there.
@@ -396,10 +406,10 @@ context default {
 //        Dial(${HINT}/5245},20,rtT);                    // Use hint as listed
 //        switch(${DIALSTATUS}) {
 //        case BUSY:
-//                Voicemail(b6245);
+//                Voicemail(6245,b);
 //                             return;
 //        default:
-//                Voicemail(u6245);
+//                Voicemail(6245,u);
 //                             return;
 //        };
 //       };
@@ -435,4 +445,4 @@ context default {
 // 'show application <command>' will show details of how you
 // use that particular application in this file, the dial plan. 
 //
-};
+}