aboutsummaryrefslogtreecommitdiffstats
path: root/pbx/ael/ael-test/ael-test7/extensions.ael
diff options
context:
space:
mode:
Diffstat (limited to 'pbx/ael/ael-test/ael-test7/extensions.ael')
-rw-r--r--pbx/ael/ael-test/ael-test7/extensions.ael460
1 files changed, 0 insertions, 460 deletions
diff --git a/pbx/ael/ael-test/ael-test7/extensions.ael b/pbx/ael/ael-test/ael-test7/extensions.ael
deleted file mode 100644
index 52f9a077a..000000000
--- a/pbx/ael/ael-test/ael-test7/extensions.ael
+++ /dev/null
@@ -1,460 +0,0 @@
-//
-// Example AEL config file
-//
-
-globals {
- CONSOLE=Console/dsp;
- TRUNKMSD=0; //MSD digits to strip (usually 1 or 0)
- TRUNCPROTO=SIP;
- TRUNK=sunrocket;
- PSTN=pstn-spa3k;
- PSTNPROTO=SIP;
- TARIOPROTO=SIP;
- TARIO=tario;
- CPPROTO=SIP;
- CPACKET1=callpacket1;
- CPACKET2=callpacket2;
- SELLVOIP=1577040314;
- SVPROTO=IAX2;
-};
-
-
-macro stdexten (ext , dev ) {
- PrivacyManager(3,10);
- if("${PRIVACYMGRSTATUS}" = "FAILED") {
- Playback(vm-goodbye);
- Hangup();
- };
-
- AGI(calleridnamelookup.agi);
- Dial(${dev}/${ext},30,t);
- switch(${DIALSTATUS}) {
- case BUSY:
- Voicemail(b${ext});
- break;
- default:
- Voicemail(u${ext});
- };
- catch a {
- VoiceMailMain(${ext});
- return;
- };
-};
-
-macro announce_minutes(minutes) {
- Playback(vm-youhave);
- SayNumber(${minutes});
- Playback(vm-minutes);
- Wait(1);
-};
-
-// Check if given provider allows only some free minutes per month
-// and announce number of free minutes remaining.
-// The limit will be reset monthly by cron job.
-// The macro sets the following variables:
-// MINUTES_LIMIT - number of free minutes per month
-// MINUTES_USED - number of free minutes used in the current month
-// PROVIDER - provider name
-
-macro checkanddial(prov,proto,ext,arg1,arg2,arg3,arg4) {
- Set(MINUTES_LIMIT=0);
- Set(MINUTES_USED=0);
- Set(PROVIDER=${prov});
-
- if(${DB_EXISTS(Provider/${prov}/used)})
- Set(MINUTES_USED=${DB_RESULT});
-
- country_c = 0;
- switch(${LEN(${ext})}) { //assuming all international numbers are 11 digits long.
- case 10: //NXXNXXXXXX
- country_c=1;
- break;
- case 11: //XNXXNXXXXXX
- country_c = ${ext:0:1};
- break;
- default: //011XNXXNXXXXXX
- country_c = ${ext:3:1};
- break;
- };
-
- if("${prov}" = "${TRUNK}" & ${country_c} != 1) { // SunRocket international calls
- Set(MINUTES_LIMIT=${DB(Provider/${prov}/limit)});
- &announce_minutes($[${MINUTES_LIMIT} - ${MINUTES_USED}]);
- };
- if("${prov}" = "${CPACKET1}" | "${prov}" = "${CPACKET2}") { // Callpacket has a limit on domestic calls
- Set(MINUTES_LIMIT=${DB(Provider/${prov}/limit)});
- &announce_minutes($[${MINUTES_LIMIT} - ${MINUTES_USED}]);
- };
- DeadAGI(dial.agi,${proto}/${ext}@${prov},${arg1},${arg2},${arg3},${arg4});
-};
-
-macro trunkdial(ext) { // Dial sunrocket and set correct collerid
- if("${CALLERID(number)}" = "1") {
- Set(CALLERID(number)=7322271653);
- } else {
- Set(CALLERID(number)=7326260100);
- };
- Set(CALLERID(name)=Sergey Okhapkin);
- &checkanddial(${TRUNK},${TRUNCPROTO},${ext},60,T);
- Hangup;
-};
-
-macro checklocal(ext) { // lookup the number in DB and call the number via pstn or sunrocket
- Set(AREACODE=${ext:0:3});
- Set(EXCHANGE=${ext:3:3});
- Set(IS_LOCAL=${DB_EXISTS(localnum/${AREACODE}/${EXCHANGE})});
- if(${IS_LOCAL}) {
- &checkanddial(${PSTN},${PSTNPROTO},${ext},60,T);
- if ("${DIALSTATUS}" = "BUSY")
- &trunkdial(${ext});
- } else
- &trunkdial(${ext});
-};
-
-macro autodial(ext) { // Find Least Cost Route
- LCDial(${ext},60,T);
- if("${DIALSTATUS}" = "NOPROVIDER")
- Playback(invalid);
- Hangup();
-};
-
-context default { // Calls to us
- s => {
- Wait(1);
- Answer;
-start:
- Set(TIMEOUT(digit)=3);
- Set(TIMEOUT(response)=10);
-repeat:
- for (x=0; ${x} < 5; x=${x} + 1) {
- Background(home/greeting);
- WaitExten();
- };
- };
- t => jump *;
- i => { // invalid extension
- Playback(invalid);
- goto s|repeat;
- };
- _* => {
- Playback(vm-goodbye);
- Wait(1);
- Hangup;
- };
- 1 => &stdexten(1,SIP/1);
- 2 => &stdexten(2,SIP/2);
- 3 => &stdexten(3,SIP/3);
-
- 2271653 => jump 1;
- 7322271653 => jump 1;
- 17322271653 => jump 1;
-
- 6260100 => jump 2;
- 7326260100 => jump 2;
- 17326260100 => jump 2;
- 8058701100 => jump 2;
- 3103622835 => jump 2;
- sos => jump 2;
- 1400898 => jump 2;
-
- 6260101 => jump s;
- 7326260101 => jump s;
- 17326260101 => jump s;
-
- 2271677 => jump 3;
- 7322271677 => jump 3;
- 17322271677 => jump 3;
- galka => jump 3;
- 911 => Dial(${PSTNPROTO}/911@${PSTN},60,);
- 380 => Dial(SIP/topspeen@212.40.38.70,60,T);
-
- // Fun stuff
- 100 => {
- SayUnixTime();
- goto s|start;
- };
- 101 => { // Voicemail
- VoicemailMain(${CALLERID(number)});
- Hangup;
- };
- 102 => MusicOnHold();
-// 103 => {
-// Wait(1);
-//start:
-// Read(NUMBER,vm-enter-num-to-call);
-// LCDial(${NUMBER},T);
-// goto start;
-// };
- 105 => jump s@phrase-menu;
- 7312 => {
- ForkCDR;
- Set(CALLERID(name)=Sergey Okhapkin);
- Set(CALLERID(number)=7326260100);
- DISA(1111|home);
- };
-};
-
-context goiax {
- s => {
- Answer();
- Ringing();
- Wait(1);
-start:
- Read(NUMBER,vm-enter-num-to-call);
- Set(CALLERID(name)=Central NJ);
- Dial(IAX2/14301@fwdOUT/q${NUMBER},60,T);
- goto start;
- };
-
-};
-
-context phrase-menu {
-
- s => {
- Answer; // Answer the line
- TIMEOUT(digit)=2; // Set Digit Timeout to 5 seconds
- TIMEOUT(response)=10; // Set Response Timeout to 10 seconds
- BackGround(custom/phrase-menu); // Play main menu.
- };
- 1 => { // Phrase Recording
- Wait(1);
- Read(PHRASEID|custom/enter-phrase-num);
- Wait(2); // give yourself 2 secs to take a breath and wait for beep
- Record(custom/${PHRASEID}:gsm);
- Wait(2);
- Playback(custom/${PHRASEID});
- Wait(1);
- jump s;
- };
- 2 => { // Phrase review
- Wait(1);
- Read(PHRASEID|custom/enter-phrase-num);
- Wait(1);
- Playback(custom/${PHRASEID});
- Wait(1);
- jump s;
- };
- t => Hangup;
- i => {
- Playback(custom/invalid-option);
- jump s;
- };
-};
-
-context outbound {
- // North America seven-, ten- and eleven digits
- _NXXXXXX => &autodial(1732${EXTEN});
- _NXXNXXXXXX => &autodial(1${EXTEN});
- _ZNXXNXXXXX. => &autodial(${EXTEN});
- // Toll free numbers via PSTN
-// _1800NXXXXXX => &checkanddial(${PSTN},${PSTNPROTO},${EXTEN},60,T);
-// _1888NXXXXXX => &checkanddial(${PSTN},${PSTNPROTO},${EXTEN},60,T);
-// _1877NXXXXXX => &checkanddial(${PSTN},${PSTNPROTO},${EXTEN},60,T);
-// _1866NXXXXXX => &checkanddial(${PSTN},${PSTNPROTO},${EXTEN},60,T);
-
- _011. => { //International context accessed through trunk
- &trunkdial(${EXTEN});
- };
- _012. => { //fwdOUT
- Set(CALLERID(name)=Central NJ);
- Dial(IAX2/14301@fwdOUT/q${EXTEN:3},60,T);
- };
- _013X. => { //NECC
- Dial(${PSTNPROTO}/011${EXTEN:3}@${PSTN},60,T);
- };
- _0131. => { //NECC to US
- Dial(${PSTNPROTO}/${EXTEN:3}@${PSTN},60,T);
- };
- _014. => { //TARIO by SIP ID
- Set(CALLERID(name)=Sergey Okhapkin);
- Set(CALLERID(number)=1400898);
- Dial(${TARIOPROTO}/${EXTEN:3}@${TARIO},60,T);
- };
- _0157. => { //TARIO outbound Russia
- Set(CALLERID(name)=Sergey Okhapkin);
- Set(CALLERID(number)=1400898);
- Dial(${TARIOPROTO}/8${EXTEN:4}@${TARIO},60,T);
- };
-// _015. => { //TARIO outbound international
-// CALLERID(name)="Sergey Okhapkin";
-// CALLERID(number)=1400898;
-// Dial(${TARIOPROTO}/810${EXTEN:3}@${TARIO},60,T);
-// };
- _0161NXXNXXXXXX => { //Callpacket outbound USA/Canada
- &checkanddial(${CPACKET1},${CPPROTO},${EXTEN:3},60,T);
- };
- _0171NXXNXXXXXX => { //Callpacket outbound USA/Canada
- &checkanddial(${CPACKET2},${CPPROTO},${EXTEN:3},60,T);
- };
- _0181NXXNXXXXXX => { //sellvoip outbound USA/Canada
- Dial(${SVPROTO}/${SELLVOIP}@${SELLVOIP}/${EXTEN:3},60,T);
- };
- _019. => { //Voipbuster
- Dial(IAX2/sokhapkin@voipbuster/00${EXTEN:3},60,T);
- };
-};
-
-context home { //calls from us
- includes {
- default;
- outbound;
- };
-};
-
-context sunrocket-in {
- 7322271653 => jump s;
- 7326260100 => jump 2@default;
- s => {
- if("${CALLERID(number)}" = "sunrocketcom")
- Set(CALLERID(number)=);
- switch(${CALLERID(RDNIS)}) {
- case 7326260100:
- jump 2@default;
- break;
- case 7326260101:
- jump s@default;
- break;
- default:
- jump 1@default;
- break;
- };
- };
-};
-
-context pstn-in {
- 3 => {
- if ("${CALLERID(number)}" = "7322271677")
- Set(CALLERID(number)=);
- jump 3@default;
- };
-};
-
-context tario.net-in {
- _X. => {
- Set(CALLERID(name)=);
- if("${CALLERID(number):-11:1}" = "8")
- Set(CALLERID(number)=7${CALLERID(number):1});
- if("${SIP_HEADER(To)}" = "<sip:2271677@sipnet.ru>") {
- jump 3@default;
- } else if("${SIP_HEADER(To)}" = "<sip:2271653@sipnet.ru>") {
- jump 1@default;
- } else
- jump 2@default;
- };
-};
-
-context from-callpacket {
- 8058701100 => jump 2@default;
- 3103622835 => {
- Answer;
- Ringing;
- Wait(10);
- Voicemail(b3103622835);
- Hangup;
- };
- a => Hangup;
-};
-
-context fromfwdOUT { // make sure we only accept US and Canada calls, limit to 30 minutes
- includes {
- fromfwdOUT-catchbad;
- fromfwdOUT-isgood;
- fromfwdOUT-catchall;
- };
-};
-
-context fromfwdOUT-isgood {
- _17326260100 => jump 2@default;
- _17326260101 => jump s@default;
- _17322271653 => jump 1@default;
- _17322271677 => jump 3@default;
- _1NXXNXXXXXX => {
- Set(CALLERID(name)=Sergey Okhapkin);
-// Set(CALLERID(number)=7326260100);
-// Dial(${TRUNCPROTO}/*67${EXTEN:${TRUNKMSD}}@${TRUNK},60,,L(1800000:60000));
- Dial(${CPPROTO}/${EXTEN}@${CPACKET2},60,,L(1800000:60000));
- };
-};
-
-context fromfwdOUT-catchbad { //block bahamas, etc
- _1900. => congestion ; //N11
- _1XXX976. => congestion ; //N11
- _1XXX555. => congestion ; //N11
- _1X11. => congestion ; //N11
- _1867. => congestion ; //Yukon (sorry mike)
-
- // exten => _1NPA Country
- _1242. => congestion; //BAHAMAS
- _1246. => congestion; //BARBADOS
- _1264. => congestion; //ANGUILLA
- _1268. => congestion; //ANTIGUA/BARBUDA
- _1284. => congestion; //BRITISH VIRGIN ISLANDS
- _1345. => congestion; //CAYMAN ISLANDS
- _1441. => congestion; //BERMUDA
- _1473. => congestion; //GRENADA
- _1649. => congestion; //TURKS & CAICOS ISLANDS
- _1664. => congestion; //MONTSERRAT
- _1758. => congestion; //ST. LUCIA
- _1767. => congestion; //DOMINICA
- _1784. => congestion; //ST. VINCENT & GRENADINES
- _1809. => congestion; //DOMINICAN REPUBLIC
- _1829. => congestion; //DOMINICAN REPUBLIC
- _1868. => congestion; //TRINIDAD AND TOBAGO
- _1869. => congestion; //ST. KITTS AND NEVIS
- _1876. => congestion; //JAMAICA
- _1787. => congestion; //Puerto Rico 787, 939 $0.07
- _1939. => congestion; //Puerto Rico 787, 939 $0.07
- _1671. => congestion; //Guam 671 $0.08
- _1340. => congestion; //U.S. Virgin Islands 340 $0.06
-};
-
-context fromfwdOUT-catchall {
- _X. => Congestion;
- h => Hangup ; //hangup event
- i => Hangup ; //invalid event
- t => Hangup ; //timeout event
-};
-
-context ael-demo {
- s => {
- Wait(1);
- Answer();
- TIMEOUT(digit)=5;
- TIMEOUT(response)=10;
-restart:
- Background(demo-congrats);
-instructions:
- for (x=0; ${x} < 3; x=${x} + 1) {
- Background(demo-instruct);
- WaitExten();
- };
- };
- 2 => {
- Background(demo-moreinfo);
- goto s|instructions;
- };
- 3 => {
- LANGUAGE()=fr;
- goto s|restart;
- };
- 500 => {
- Playback(demo-abouttotry);
- Dial(IAX2/guest@misery.digium.com);
- Playback(demo-nogo);
- goto s|instructions;
- };
- 600 => {
- Playback(demo-echotest);
- Echo();
- Playback(demo-echodone);
- goto s|instructions;
- };
- _1234 => &std-exten-ael(${EXTEN}, "IAX2");
- # => {
- Playback(demo-thanks);
- Hangup();
- };
- t => jump #;
- i => Playback(invalid);
-};
-