diff options
Diffstat (limited to 'configs/extensions.ael.sample')
-rw-r--r-- | configs/extensions.ael.sample | 420 |
1 files changed, 210 insertions, 210 deletions
diff --git a/configs/extensions.ael.sample b/configs/extensions.ael.sample index c7720290a..69f441d1e 100644 --- a/configs/extensions.ael.sample +++ b/configs/extensions.ael.sample @@ -3,49 +3,49 @@ // // // Static extension configuration file, used by -// the pbx_ael module. This is where you configure all your -// inbound and outbound calls in Asterisk. -// -// This configuration file is reloaded +// the pbx_ael module. This is where you configure all your +// inbound and outbound calls in Asterisk. +// +// This configuration file is reloaded // - 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 by using the GLOBAL dialplan function: -// ${GLOBAL(VARIABLE)} +// ${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 { -CONSOLE="Console/dsp"; // Console interface for demo -//CONSOLE=DAHDI/1 -//CONSOLE=Phone/phone0 -IAXINFO=guest; // IAXtel username/password -//IAXINFO="myuser:mypass"; -TRUNK="DAHDI/G2"; // Trunk interface -// -// Note the 'G2' in the TRUNK variable above. It specifies which group (defined -// in dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use in -// the specified group. The four possible options are: -// -// g: select the lowest-numbered non-busy DAHDI channel -// (aka. ascending sequential hunt group). -// G: select the highest-numbered non-busy DAHDI channel -// (aka. descending sequential hunt group). -// r: use a round-robin search, starting at the next highest channel than last -// time (aka. ascending rotary hunt group). -// R: use a round-robin search, starting at the next lowest channel than last -// time (aka. descending rotary hunt group). -// -TRUNKMSD=1; // MSD digits to strip (usually 1 or 0) -//TRUNK=IAX2/user:pass@provider -}; - -// -// Any category other than "General" and "Globals" represent -// extension contexts, which are collections of extensions. + CONSOLE="Console/dsp"; // Console interface for demo + //CONSOLE=DAHDI/1 + //CONSOLE=Phone/phone0 + IAXINFO=guest; // IAXtel username/password + //IAXINFO="myuser:mypass"; + TRUNK="DAHDI/G2"; // Trunk interface + // + // Note the 'G2' in the TRUNK variable above. It specifies which group (defined + // in dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use in + // the specified group. The four possible options are: + // + // g: select the lowest-numbered non-busy DAHDI channel + // (aka. ascending sequential hunt group). + // G: select the highest-numbered non-busy DAHDI channel + // (aka. descending sequential hunt group). + // r: use a round-robin search, starting at the next highest channel than last + // time (aka. ascending rotary hunt group). + // R: use a round-robin search, starting at the next lowest channel than last + // time (aka. descending rotary hunt group). + // + TRUNKMSD=1; // MSD digits to strip (usually 1 or 0) + //TRUNK=IAX2/user:pass@provider +}; + +// +// Any category other than "General" and "Globals" represent +// extension contexts, which are collections of extensions. // // Extension names may be numbers, letters, or combinations // thereof. If an extension name is prefixed by a '_' @@ -56,12 +56,12 @@ TRUNKMSD=1; // MSD digits to strip (usually 1 or 0) // Z - any digit from 1-9 // N - any digit from 2-9 // [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9) -// . - wildcard, matches anything remaining (e.g. _9011. matches +// . - wildcard, matches anything remaining (e.g. _9011. matches // anything starting with 9011 excluding 9011 itself) // ! - wildcard, causes the matching process to complete as soon as // it can unambiguously determine that no other matches are possible // -// For example the extension _NXXXXXX would match normal 7 digit dialings, +// For example the extension _NXXXXXX would match normal 7 digit dialings, // while _1NXXNXXXXXX would represent an area code plus phone number // preceded by a one. // @@ -72,8 +72,8 @@ TRUNKMSD=1; // MSD digits to strip (usually 1 or 0) // The priority "same" or "s" means the same as the previously specified // priority, again regardless of whether the previous entry was for the // same extension. Priorities may be immediately followed by a plus sign -// and another integer to add that amount (most useful with 's' or 'n'). -// Priorities may then also have an alias, or label, in +// and another integer to add that amount (most useful with 's' or 'n'). +// Priorities may then also have an alias, or label, in // parenthesis after their name which can be used in goto situations // // Contexts contain several lines, one for each step of each @@ -87,11 +87,11 @@ TRUNKMSD=1; // MSD digits to strip (usually 1 or 0) // exten-name => { // application(arg1,arg2,...); // -// Timing list for includes is +// Timing list for includes is // // <time range>|<days of week>|<days of month>|<months> // -// includes { +// includes { // daytime|9:00-17:00|mon-fri|*|*; // }; // @@ -110,73 +110,73 @@ TRUNKMSD=1; // MSD digits to strip (usually 1 or 0) // // context ael-dundi-e164-canonical { -// -// List canonical entries here -// -// 12564286000 => &ael-std-exten(6000,IAX2/foo); -// _125642860XX => Dial(IAX2/otherbox/${EXTEN:7}); + // + // List canonical entries here + // + // 12564286000 => &ael-std-exten(6000,IAX2/foo); + // _125642860XX => Dial(IAX2/otherbox/${EXTEN:7}); }; context ael-dundi-e164-customers { -// -// If you are an ITSP or Reseller, list your customers here. -// -//_12564286000 => Dial(SIP/customer1); -//_12564286001 => Dial(IAX2/customer2); + // + // If you are an ITSP or Reseller, list your customers here. + // + //_12564286000 => Dial(SIP/customer1); + //_12564286001 => Dial(IAX2/customer2); }; context ael-dundi-e164-via-pstn { -// -// If you are freely delivering calls to the PSTN, list them here -// -//_1256428XXXX => Dial(DAHDI/G2/${EXTEN:7}); // Expose all of 256-428 -//_1256325XXXX => Dial(DAHDI/G2/${EXTEN:7}); // Ditto for 256-325 + // + // If you are freely delivering calls to the PSTN, list them here + // + //_1256428XXXX => Dial(DAHDI/G2/${EXTEN:7}); // Expose all of 256-428 + //_1256325XXXX => Dial(DAHDI/G2/${EXTEN:7}); // Ditto for 256-325 }; context ael-dundi-e164-local { -// -// Context to put your dundi IAX2 or SIP user in for -// full access -// -includes { -ael-dundi-e164-canonical; -ael-dundi-e164-customers; -ael-dundi-e164-via-pstn; -}; + // + // Context to put your dundi IAX2 or SIP user in for + // full access + // + includes { + ael-dundi-e164-canonical; + ael-dundi-e164-customers; + ael-dundi-e164-via-pstn; + }; }; context ael-dundi-e164-switch { -// -// Just a wrapper for the switch -// + // + // Just a wrapper for the switch + // -switches { -DUNDi/e164; -}; + switches { + DUNDi/e164; + }; }; 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 { -ael-dundi-e164-local; -ael-dundi-e164-switch; -}; -// + // + // Locally to lookup, try looking for a local E.164 solution + // then try DUNDi if we don't have one. + // + includes { + ael-dundi-e164-local; + ael-dundi-e164-switch; + }; + // }; // -// DUNDi can also be implemented as a Macro instead of using -// the Local channel driver. +// DUNDi can also be implemented as a Macro instead of using +// the Local channel driver. // macro ael-dundi-e164(exten) { // // ARG1 is the extension to Dial // -goto ${exten}|1; -return; + goto ${exten}|1; + return; }; // @@ -186,7 +186,7 @@ return; // up, please go to www.gnophone.com or www.iaxtel.com // context ael-iaxtel700 { -_91700XXXXXXX => Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel); + _91700XXXXXXX => Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel); }; // @@ -196,99 +196,99 @@ _91700XXXXXXX => Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel); // to be on-line or else dialing can be severly delayed. // context ael-iaxprovider { -switches { -// IAX2/user:[key]@myserver/mycontext; -}; + switches { + // IAX2/user:[key]@myserver/mycontext; + }; }; context ael-trunkint { -// -// International long distance through trunk -// -includes { -ael-dundi-e164-lookup; -}; -_9011. => { -&ael-dundi-e164(${EXTEN:4}); -Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); -}; + // + // International long distance through trunk + // + includes { + ael-dundi-e164-lookup; + }; + _9011. => { + &ael-dundi-e164(${EXTEN:4}); + Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + }; }; context ael-trunkld { -// -// Long distance context accessed through trunk -// -includes { -ael-dundi-e164-lookup; -}; -_91NXXNXXXXXX => { -&ael-dundi-e164(${EXTEN:1}); -Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); -}; + // + // Long distance context accessed through trunk + // + includes { + ael-dundi-e164-lookup; + }; + _91NXXNXXXXXX => { + &ael-dundi-e164(${EXTEN:1}); + Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + }; }; context ael-trunklocal { -// -// Local seven-digit dialing accessed through trunk interface -// -_9NXXXXXX => { -Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); -}; + // + // Local seven-digit dialing accessed through trunk interface + // + _9NXXXXXX => { + Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + }; }; context ael-trunktollfree { -// -// Long distance context accessed through trunk interface -// + // + // Long distance context accessed through trunk interface + // -_91800NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); -_91888NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); -_91877NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); -_91866NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + _91800NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + _91888NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + _91877NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + _91866NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); }; context ael-international { -// -// Master context for international long distance -// -ignorepat => 9; -includes { -ael-longdistance; -ael-trunkint; -}; + // + // Master context for international long distance + // + ignorepat => 9; + includes { + ael-longdistance; + ael-trunkint; + }; }; context ael-longdistance { -// -// Master context for long distance -// -ignorepat => 9; -includes { -ael-local; -ael-trunkld; -}; + // + // Master context for long distance + // + ignorepat => 9; + includes { + ael-local; + ael-trunkld; + }; }; context ael-local { -// -// Master context for local, toll-free, and iaxtel calls only -// -ignorepat => 9; -includes { -ael-default; -ael-trunklocal; -ael-iaxtel700; -ael-trunktollfree; -ael-iaxprovider; -}; + // + // Master context for local, toll-free, and iaxtel calls only + // + ignorepat => 9; + includes { + ael-default; + ael-trunklocal; + ael-iaxtel700; + ael-trunktollfree; + ael-iaxprovider; + }; }; // // You can use an alternative switch type as well, to resolve -// extensions that are not known here, for example with remote +// extensions that are not known here, for example with remote // IAX switching you transparently get access to the remote // Asterisk PBX -// +// // switch => IAX2/user:password@bigserver/local // // An "lswitch" is like a switch but is literal, in that @@ -306,69 +306,69 @@ ael-iaxprovider; macro ael-std-exten-ael( ext , dev ) { -Dial(${dev}/${ext},20); -switch(${DIALSTATUS}) { -case BUSY: -Voicemail(${ext},b); -break; -default: -Voicemail(${ext},u); -}; -catch a { -VoiceMailMain(${ext}); -return; -}; -return; + Dial(${dev}/${ext},20); + switch(${DIALSTATUS}) { + case BUSY: + Voicemail(${ext},b); + break; + default: + Voicemail(${ext},u); + }; + catch a { + VoiceMailMain(${ext}); + return; + }; + return; }; context ael-demo { -s => { -Wait(1); -Answer(); -Set(TIMEOUT(digit)=5); -Set(TIMEOUT(response)=10); + s => { + Wait(1); + Answer(); + Set(TIMEOUT(digit)=5); + Set(TIMEOUT(response)=10); restart: -Background(demo-congrats); + Background(demo-congrats); instructions: -for (x=0; ${x} < 3; x=${x} + 1) { -Background(demo-instruct); -WaitExten(); -}; -}; -2 => { -Background(demo-moreinfo); -goto s|instructions; -}; -3 => { -Set(LANGUAGE()=fr); -goto s|restart; -}; -1000 => { -goto ael-default|s|1; -}; -500 => { -Playback(demo-abouttotry); -Dial(IAX2/guest@misery.digium.com/s@default); -Playback(demo-nogo); -goto s|instructions; -}; -600 => { -Playback(demo-echotest); -Echo(); -Playback(demo-echodone); -goto s|instructions; -}; -_1234 => &ael-std-exten-ael(${EXTEN}, "IAX2"); -8500 => { -VoicemailMain(); -goto s|instructions; -}; -# => { -Playback(demo-thanks); -Hangup(); -}; -t => goto #|1; -i => Playback(invalid); + for (x=0; ${x} < 3; x=${x} + 1) { + Background(demo-instruct); + WaitExten(); + }; + }; + 2 => { + Background(demo-moreinfo); + goto s|instructions; + }; + 3 => { + Set(LANGUAGE()=fr); + goto s|restart; + }; + 1000 => { + goto ael-default|s|1; + }; + 500 => { + Playback(demo-abouttotry); + Dial(IAX2/guest@misery.digium.com/s@default); + Playback(demo-nogo); + goto s|instructions; + }; + 600 => { + Playback(demo-echotest); + Echo(); + Playback(demo-echodone); + goto s|instructions; + }; + _1234 => &ael-std-exten-ael(${EXTEN}, "IAX2"); + 8500 => { + VoicemailMain(); + goto s|instructions; + }; + # => { + Playback(demo-thanks); + Hangup(); + }; + t => goto #|1; + i => Playback(invalid); }; @@ -380,12 +380,12 @@ i => Playback(invalid); context ael-default { -// By default we include the demo. In a production system, you +// By default we include the demo. In a production system, you // probably don't want to have the demo there. -includes { -ael-demo; -}; + includes { + ael-demo; + }; // // Extensions like the two below can be used for FWD, Nikotel, sipgate etc. // Note that you must have a [sipprovider] section in sip.conf whereas @@ -443,6 +443,6 @@ ael-demo; // friendly Asterisk CLI prompt. // // 'show application <command>' will show details of how you -// use that particular application in this file, the dial plan. +// use that particular application in this file, the dial plan. // } |