; # - Company directory exten => #,1,Answer exten => #,n,Wait(1) exten => #,n,AGI(directory,${DIR-CONTEXT},from-did-direct,${DIRECTORY:0:1}${DIRECTORY_OPTS}o) exten => #,n,Playback(vm-goodbye) exten => #,n,Hangup ;Stuff I added for line testing. ; *1 - System Status exten => *1,1,Answer exten => *1,n,Wait(.5) exten => *1,n,Playback(/usr/local/share/asterisk/sounds/systemstatus) exten => *1,n,Wait(.5) exten => *1,n,Hangup ; **1 - System status record exten => **1,1,Answer exten => **1,n,Wait(2) exten => **1,n,Record(/usr/local/share/sounds/systemstatus:gsm) exten => **1,n,Wait(2) exten => **1,n,Playback(/usr/local/share/asterisk/sounds/systemstatus) exten => **1,n,Wait(2) exten => **1,n,Hangup ;*40 - Change Forward-To Number for Customer Programmable Call Forwarding Busy Line exten => _*40.,1,Answer exten => _*40.,n,Wait(1) exten => _*40.,n,Macro(user-callerid,) exten => _*40.,n,Set(DB(CPCFB/${CALLERID(number)})=${EXTEN:3}) exten => _*40.,n,Playback(call-fwd-no-ans&for&extension) exten => _*40.,n,SayDigits(${CALLERID(number)}) exten => _*40.,n,Playback(is-set-to) exten => _*40.,n,SayDigits(${EXTEN:3}) exten => _*40.,n,Macro(hangupcall,) ;n/a *41 - Six-Way Conference Calling Activation - reassign ;*42 - Change Forward-To Number for Customer Programmable Call Forwarding Don't Answer exten => _*42.,1,Answer exten => _*42.,n,Wait(1) exten => _*42.,n,Macro(user-callerid,) exten => _*42.,n,Set(DB(CPCFDA/${CALLERID(number)})=${EXTEN:3}) exten => _*42.,n,Playback(call-fwd-no-ans&for&extension) exten => _*42.,n,SayDigits(${CALLERID(number)}) exten => _*42.,n,Playback(is-set-to) exten => _*42.,n,SayDigits(${EXTEN:3}) exten => _*42.,n,Macro(hangupcall, ;n/a *43 - Drop last member of Six-Way Conference Call - reassign ;n/a *44 - Voice Activated Dialing - work in progress ;n/a *45 - Voice Dialing Extended Dial Tone - work in progress ;n/a *46 - French Voice Activated Network Control ;n/a *47 - Override Feature Authorization -work in profress ;*48 - Override Do Not Disturb exten => _*48XXXX,1,Dial(SIP/${ARG1}:3|20|r) ; 20sec timeout exten => _*48XXXX,n,Voicemail(u${ARG1}) exten => _*48XXXX,n,Hangup exten => _**48NXXNXXNXXXX,1,Dial(SIP/${ARG1}:4|20|r) ; 20sec timeout exten => _**48NXXNXXNXXXX,n,Voicemail(u${ARG1}) exten => _**48NXXNXXNXXXX,n,Hangup ;n/a *49 - Long Distance Signal - Reassign ;n/a *50 - Voice Activated Network Control - Reassign *51 - Who Called Me? exten => *51,1,Macro(user-callerid) exten => *51,2,Answer exten => *51,3,Wait(1) exten => *51,4,Background(info-about-last-call) exten => *51,5,Background(telephone-number) exten => *51,6,Set(lastcaller=${DB(CALLTRACE/${CALLERID(number)})}) exten => *51,7,GotoIf($[${lastcaller}]?8:10) exten => *51,8,SayDigits(${lastcaller}) exten => *51,9,Macro(hangupcall) exten => *51,10,Playback(from-unknown-caller) exten => *51,11,Playback(unidentified-no-callback) exten => *51,12,Macro(hangupcall) ;n/a *52 - Single Line Variety Package (SVP) - Call Hold ;n/a *53 - Single Line Variety Package (SVP) - Distinctive Ring B ;n/a *54 - Single Line Variety Package (SVP) - Distinctive Ring C ;n/a *55 - Single Line Variety Package (SVP) - Distinctive Ring D ;n/a *56 - Change Forward-To Number for ISDN Call Forwarding ;n/a *57 - ISDN Customer Originated Trace ;n/a *58 - ISDN MBKS Manual Exclusion Activation ;n/a *59 - ISDN MBKS Manual Exclusion Deactivation ;*60 - Selective Call Rejection Activation aka Blacklist Add exten => _*46.,1,Macro(user-callerid) exten => _*46.,n,Set(DB(BLACKLIST/${CALLERID(number)})=${EXTEN:3}) exten => _*46.,n,Answer exten => _*46.,n,Wait(1) exten => _*46.,n,Playback(blacklist-add&for&extension) exten => _*46.,n,SayDigits(${CALLERID(number)}) exten => _*46.,n,Playback(is-set-to) exten => _*46.,n,SayDigits(${EXTEN:3}) exten => _*46.,n,Macro(hangupcall) ;*61 - Distinctive Ringing/Call Waiting Activation ;*62 - Selective Call Waiting exten => *62,1,Answer exten => *62,n,Wait(1) exten => *62,n,Macro(user-callerid) exten => *62,n,Set(DB(SCW/${CALLERID(number)})=ENABLED) exten => *62,n,Playback(selective-call-waiting&activated) exten => *62,n,Macro(hangupcall) exten => _*62.,1,Macro(user-callerid) exten => _*62.,n,Set(DB(SCW/${CALLERID(number)})=${EXTEN:3}) exten => _*62.,n,Answer exten => _*62.,n,Wait(1) exten => _*62.,n,Playback(selective-call-waiting-unconditional&for&extension) exten => _*62.,n,SayDigits(${CALLERID(number)}) exten => _*62.,n,Playback(is-set-to) exten => _*62.,n,SayDigits(${EXTEN:3}) exten => _*62.,n,Macro(hangupcall) ;*63 - Selective Call Forwarding Activation exten => *63,1,Answer exten => *63,n,Wait(1) exten => *63,n,Macro(user-callerid) exten => *63,n,Set(DB(SCF/${CALLERID(number)})=ENABLED) exten => *63,n,Playback(selective-call-waiting&activated) exten => *63,n,Macro(hangupcall) exten => _*63.,1,Set(DB(SCF/${CALLERIDNUM})=${EXTEN:3})}) exten => _*63.,n,Answer exten => _*63,n,Wait(1) exten => _*63.,n,Playback(selective-call-forwarding&for&extension) exten => _*63.,n,SayDigits(${CALLERIDNUM}) exten => _*63.,n,Playback(is-set-to) exten => _*63.,n,SayDigits(${EXTEN:3}) exten => _*63.,n,Macro(hangupcall) ;*64 - Selective Call Acceptance Activation exten => *64,1,Answer exten => *64,n,Wait(1) exten => *64,n,Macro(user-callerid) exten => *64,n,Set(DB(SCA/${CALLERID(number)})=ENABLED) exten => *64,n,Playback(selective-call-accept&activated) exten => *64,n,Macro(hangupcall) exten => _*64.,1,Macro(user-callerid) exten => _*64.,n,Set(DB(SCA/${CALLERID(number)})=${EXTEN:3}) exten => _*64.,n,Answer exten => _*64.,n,Wait(1) exten => _*64.,n,Playback(selective-call-accept&for&extension) exten => _*64.,n,SayDigits(${CALLERID(number)}) exten => _*64.,n,Playback(is-set-to) exten => _*64.,n,SayDigits(${EXTEN:3}) exten => _*64.,n,Macro(hangupcall) ;*65 - Calling Number Delivery Activation exten => *65,1,Macro(user-callerid) exten => *65,n,Set(DB(CIDB/${CALLERIDNUM}=YES) exten => *65,n,Answer exten => *65,n,Wait() exten => *65,n,Playback(caller-id-blk&activated) exten => *65,n,Hangup ;n/a *66 - Automatic Callback Activation ;*67 - Calling Number Delivery Blocking exten => *67,1,Answer exten => *67,n,Wait(1) exten => *67,n,Macro(user-callerid) exten => *67,1,Set(DB(CIDB/${CALLERIDNUM}=YES) exten => *67,n,Answer exten => *67,n,Wait(1) exten => *67,n,Playback(caller-ib-blockin&activated) exten => *67,n,Hangup ;*68 - Call Forwarding Busy Line/Don't Answer Activation exten => *68,1,Answer exten => *68,n,Wait(1) exten => *68,n,Playback(call-fwd-on-busy&please-enter-your&extension) exten => *68,n,Read(fromext,then-press-pound,,) exten => *68,n,Set(fromext=$/{IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})}) exten => *68,n,Wait(1) exten => *68,n(startread),Playback(ent-target-attendant) exten => *68,n,Read(toext,then-press-pound,,) exten => *68,n,GotoIf($["foo${toext}"="foo"]?startread) exten => *68,n,Wait(1) exten => *68,n,Set(DB(CFBDA${fromext})=${toext}) exten => *68,n,Playback(call-fwd-on-busy&for&extension) exten => *68,n,SayDigits(${fromext}) exten => *68,n,Playback(is-set-to) exten => *68,n,SayDigits(${toext}) exten => *68,n,Macro(hangupcall,) exten => _*68.,1,Answer exten => _*68.,n,Wait(1) exten => _*68.,n,Macro(user-callerid,) exten => _*68.,n,Set(DB(CFBDA/${CALLERID(number)})=${EXTEN:3}) exten => _*68.,n,Playback(call-fwd-on-busy&for&extension) exten => _*68.,n,SayDigits(${CALLERID(number)}) exten => _*68.,n,Playback(is-set-to) exten => _*68.,n,SayDigits(${EXTEN:3}) exten => _*68.,n,Macro(hangupcall,) ;*69 - Automatic Recall Activation exten => *69,1,Macro(user-callerid) exten => *69,2,Answer exten => *69,3,Wait(1) exten => *69,4,Background(info-about-last-call) exten => *69,5,Background(telephone-number) exten => *69,6,Set(lastcaller=${DB(CALLTRACE/${CALLERID(number)})}) exten => *69,7,GotoIf($[${lastcaller}]?8:14) exten => *69,8,SayDigits(${lastcaller}) exten => *69,9,Set(TIMEOUT(digit)=3) exten => *69,10,Set(TIMEOUT(response)=7) exten => *69,11,Background(to-call-this-number&press-1) exten => *69,13,Goto(16) exten => *69,14,Playback(from-unknown-caller) exten => *69,15,Playback(unidentified-no-callback) exten => *69,16,Macro(hangupcall) exten => *69,17,NoOp exten => 1,1,Goto(from-internal,${lastcaller},1); exten => i,1,Playback(pbx-invalid) exten => i,n,Playback(vm-goodbye) exten => i,n,Macro(hangupcall) exten => t,1,Playback(vm-goodbye) exten => t,n,Macro(hangupcall) ;*70 - Call Waiting Activation exten => *70,1,Set(DB(CW/${CALLERIDNUM}=YES)}) exten => *70,n,Answer exten => *70,n,Playback(call-waiting) exten => *70,n,Playback(activated) exten => *70,n,Hangup ;*71 - Call Waiting Deactivation exten => *71,1,DBdel(CW/${CALLERIDNUM}) exten => *71,n,Answer exten => *71,n,Playback(call-waiting) exten => *71,n,Playback(de-activated) exten => *71,n,Hangup ;*72 - Call Forwarding Activation exten => *72,1,Answer exten => *72,n,Wait(1) exten => *72,n,Playback(call-fwd-unconditional) exten => *72,n,Playback(please-enter-your&extension) exten => *72,n,Read(fromext,then-press-pound,,) exten => *72,n,Set(fromext=${IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})}) exten => *72,n,Wait(1) exten => *72,n(startread),Playback(ent-target-attendant) exten => *72,n,Read(toext,then-press-pound,,) exten => *72,n,GotoIf($["foo${toext}"="foo"]?startread) exten => *72,n,Wait(1) exten => *72,n,Set(DB(CF/${fromext})=${toext}) exten => *72,n,Playback(call-fwd-unconditional&for&extension) exten => *72,n,SayDigits(${fromext}) exten => *72,n,Playback(is-set-to) exten => *72,n,SayDigits(${toext}) exten => *72,n,Macro(hangupcall,) exten => _*72.,1,Answer exten => _*72.,n,Wait(1) exten => _*72.,n,Macro(user-callerid,) exten => _*72.,n,Set(DB(CF/${CALLERID(number)})=${EXTEN:3}) exten => _*72.,n,Playback(call-fwd-unconditional&for&extension) exten => _*72.,n,SayDigits(${CALLERID(number)}) exten => _*72.,n,Playback(is-set-to) exten => _*72.,n,SayDigits(${EXTEN:3}) exten => _*72.,n,Macro(hangupcall,) ;*73 - Call Forwarding Deactivation exten => *73,1,Answer exten => *73,n,Wait(1) exten => *73,n,Macro(user-callerid,) exten => *73,n,dbDel(CF/${CALLERID(number)}) exten => *73,n,Playback(call-fwd-unconditional&de-activated) exten => *73,n,Macro(hangupcall,) exten => _*73,1,Answer exten => _*73,n,Wait(1) exten => _*73,n,Set(fromext=${EXTEN:3}) exten => _*73,n,dbDel(CF/${fromext}) exten => _*73,n,Playback(call-fwd-unconditional&for&extension) exten => _*73,n,SayDigits(${fromext}) exten => _*73,n,Playback(cancelled) exten => _*73,n,Macro(hangupcall,) exten => **73,1,Answer exten => **73,n,Wait(1) exten => **73,n,Playback(please-enter-your&extension) exten => **73,n,Read(fromext,then-press-pound,,) exten => **73,n,Wait(1) exten => **73,n,dbDel(CF/${fromext}) exten => **73,n,Playback(call-fwd-unconditional&for&extension) exten => **73,n,SayDigits(${fromext}) exten => **73,n,Playback(cancelled) exten => **73,n,Macro(hangupcall,) ;*74 - Speed Calling 8 - Change List ;*75 - Speed Calling 30 - Change List ;*76 - Advanced Call Waiting Deluxe exten => *76,1,Answer exten => *76,n,Wait(1) exten => *76,n,Macro(user-callerid) exten => *76,n,DBdel(ACW/${CALLERID(number)}) exten => *76,n,Playback(selective-call-waiting) exten => *76,n,Playback(de-activated) exten => *76,n,Macro(hangupcall) exten => **76,1,Answer exten => **76,n,Wait(1) exten => **76,n,Playback(please-enter-your&extension) exten => **76,n,Read(fromext,then-press-pound,,) exten => **76,n,Wait(1) exten => **76,n,dbDel(ACW/${fromext}) exten => **76,n,Playback(selective-call-waiting&for&extension) exten => **76,n,SayDigits(${fromext}) exten => **76,n,Playback(cancelled) exten => **76,n,Macro(hangupcall,) ;*77 - Anonymous Call Rejection Activation exten => *77,1,Answer exten => *77,n,Wait(1) exten => *77,n,Macro(user-callerid) exten => *77,n,Set(DB(ACR/${CALLERIDNUM}=>YES) exten => *77,n,Playback(anon-call-rej&activated) exten => *77.,n,Macro(hangupcall) ;*78 - Do Not Disturb Activation exten => *78,1,Answer exten => *78,n,Wait(1) exten => *78,n,Macro(user-callerid,) exten => *78,n,Set(DB(DND/${CALLERIDNUM})=YES)}) exten => *78,n,Playback(do-not-disturb&activated) exten => _*82.,n,Macro(hangupcall) ;*79 - Do Not Disturb Deactivation exten => *79,1,Answer exten => *79,n,Wait(1) exten => *79,n,Macro(user-callerid,) exten => *79,n,DBdel(DND/${CALLERIDNUM}) exten => *79,n,Playback(do-not-disturb&de-activated) exten => *79,n,Macro(hangupcall) ;*80 - Selective Call Rejection Deactivation aka Blacklist Remove exten => _*80.,1,Answer exten => _*80.,n,Wait(1) exten => _*80.,n,Macro(user-callerid) exten => _*80.,n,DBdel(BLACKLIST/${CALLERID(number)}) exten => _*80.,n,Playback(blacklist-remove) exten => _*80.,n,Macro(hangupcall) ;*81 - Distinctive Ringing/Call Waiting Deactivation ;*82 - ;*83 - Selective Call Forwarding Deactivation exten => *83,1,Answer exten => *83,n,Wait(1) exten => *83,n,DBdel(SCF/${CALLERIDNUM}) exten => *83,n,Playback(selective-call-fwd) exten => *83,n,Wait(1) exten => *83,n,Playback(deactivated) exten => *83.,n,Macro(hangupcall) ;*84 - Selective Call Acceptance Deactivation exten => *84,1,Answer exten => *84,n,Wait(1) exten => *84,n,Macro(user-callerid) exten => *84,n,DBdel(SCA/${CALLERID(number)}) exten => *84,n,Playback(selective-call-accept) exten => *84,n,Playback(de-activated) exten => *84,n,Macro(hangupcall) exten => **84,1,Answer exten => **84,n,Wait(1) exten => **84,n,Playback(please-enter-your&extension) exten => **84,n,Read(fromext,then-press-pound,,) exten => **84,n,Wait(1) exten => **84,n,dbDel(SCA/${fromext}) exten => **84,n,Playback(selective-call-accept&for&extension) exten => **84,n,SayDigits(${fromext}) exten => **84,n,Playback(cancelled) exten => **84,n,Macro(hangupcall,) ;*85 - Calling Number Delivery Deactivation exten => *85,1,Answer exten => *85,n,Wait(1) exten => *85,n,Macro(user-callerid) exten => *85,1,DBdel(CIDB/${CALLERIDNUM}) exten => *85,n,Answer exten => *85,n,Wait(1) exten => *85,n,Playback(caller-id-blocking&de-activated) exten => *85,n,Hangup ;n/a *86 - Automatic Callback Deactivation - Reassign ;*87 - Anonymous Call Rejection Deactivation exten => *87,1,Answer exten => *87,n,Wait(1) exten => *87,n,Macro(user-callerid) exten => *87,n,DBdel(ACR/${CALLERIDNUM}) exten => *87,n,Playback(anon-call-rej) exten => *87,n,Playback(deactivated) exten => *87,n,Hangup ;*88 - Call Forwarding Busy Line/Don't Answer Deactivation exten => *88,1,Answer exten => *88,n,Wait(1) exten => *88,n,Macro(user-callerid,) exten => *88,n,dbDel(CFBDA/${CALLERID(number)}) exten => *88,n,Playback(call-fwd-on-busy&de-activated) exten => *88,n,Macro(hangupcall,) exten => _*88.,1,Answer exten => _*88.,n,Wait(1) exten => _*88.,n,Set(fromext=${EXTEN:3}) exten => _*88.,n,dbDel(CFB/${fromext}) exten => _*88.,n,Playback(call-fwd-on-busy&for&extension) exten => _*88.,n,SayDigits(${fromext}) exten => _*88.,n,Playback(cancelled) exten => _*88.,n,Macro(hangupcall,) exten => **88,1,Answer exten => **88,n,Wait(1) exten => **88,n,Playback(please-enter-your&extension) exten => **88,n,Read(fromext,then-press-pound,,) exten => **88,n,Wait(1) exten => **88,n,dbDel(CFBDA/${fromext}) exten => **88,n,Playback(call-fwd-on-busy&for&extension) exten => **88,n,SayDigits(${fromext}) exten => **88,n,Playback(cancelled) exten => **88,n,Macro(hangupcall,) ;n/a *89 - Automatic Recall Deactivation - Reassign ;*90 - Customer Programmable Call Forwarding Busy Line Activation exten => *90,1,Answer exten => *90,n,Wait(1) exten => *90,n,Playback(call-fwd-on-busy) exten => *90,n,Playback(please-enter-your&extension) exten => *90,n,Read(fromext,then-press-pound,,) exten => *90,n,Set(fromext=$/{IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})}) exten => *90,n,Wait(1) exten => *90,n,(startread),Playback(ent-target-attendant) exten => *90,n,Read(toext,then-press-pound,,) exten => *90,n,GotoIf($["foo${toext}"="foo"]?startread) exten => *90,n,Wait(1) exten => *90,n,Set(DB(CPCFB/${fromext})=${toext}) exten => *90,n,Playback(call-fwd-on-busy&for&extension) exten => *90,n,SayDigits(${fromext}) exten => *90,n,Playback(is-set-to) exten => *90,n,SayDigits(${toext}) exten => *90,n,Macro(hangupcall,) exten => _*90.,1,Answer exten => _*90.,n,Wait(1) exten => _*90.,n,Macro(user-callerid,) exten => _*90.,n,Set(DB(CPCFB/${CALLERID(number)})=${EXTEN:3}) exten => _*90.,n,Playback(call-fwd-on-busy&for&extension) exten => _*90.,n,SayDigits(${CALLERID(number)}) exten => _*90.,n,Playback(is-set-to) exten => _*90.,n,SayDigits(${EXTEN:3}) exten => _*90.,n,Macro(hangupcall,) ;*91 - Customer Programmable Call Forwarding Busy Line Deactivation exten => *91,1,Answer exten => *91,n,Wait(1) exten => *91,n,Macro(user-callerid,) exten => *91,n,dbDel(CPCFB/${CALLERID(number)}) exten => *91,n,Playback(call-fwd-on-busy&de-activated) exten => *91,n,Macro(hangupcall,) exten => _*91.,1,Answer exten => _*91.,n,Wait(1) exten => _*91.,n,Set(fromext=${EXTEN:3}) exten => _*91.,n,dbDel(CPCFB/${fromext}) exten => _*91.,n,Playback(cust-call-fwd-on-busy&for&extension) exten => _*91.,n,SayDigits(${fromext}) exten => _*91.,n,Playback(cancelled) exten => _*91.,n,Macro(hangupcall,) exten => **91,1,Answer exten => **91,n,Wait(1) exten => **91,n,Playback(please-enter-your&extension) exten => **91,n,Read(fromext,then-press-pound,,) exten => **91,n,Wait(1) exten => **91,n,dbDel(CPCFB/${fromext}) exten => **91,n,Playback(cust-call-fwd-on-busy&for&extension) exten => **91,n,SayDigits(${fromext}) exten => **91,n,Playback(cancelled) exten => **91,n,Macro(hangupcall,) ;*92 - Customer Programmable Call Forwarding Don't Answer Activation exten => *92,1,Answer exten => *92,n,Wait(1) exten => *92,n,Playback(cust-pro-call-fwd-no-ans) exten => *92,n,Playback(please-enter-your&extension) exten => *92,n,Read(fromext,then-press-pound,,) exten => *92,n,Set(fromext=$/{IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})}) exten => *92,n,Wait(1) exten => *92,n(startread),Playback(ent-target-attendant) exten => *92,n,Read(toext,then-press-pound,,) exten => *92,n,GotoIf($["foo${toext}"="foo"]?startread) exten => *92,n,Wait(1) exten => *92,n,Set(DB(CPCFN/${fromext})=${toext}) exten => *92,n,Playback(call-fwd-no-ans&for&extension) exten => *92,n,SayDigits(${fromext}) exten => *92,n,Playback(is-set-to) exten => *92,n,SayDigits(${toext}) exten => *92,n,Macro(hangupcall,) exten => _*92.,1,Answer exten => _*92.,n,Wait(1) exten => _*92.,n,Macro(user-callerid,) exten => _*92.,n,Set(DB(CPCFNA/${CALLERID(number)})=${EXTEN:3}) exten => _*92.,n,Playback(call-fwd-no-ans&for&extension) exten => _*92.,n,SayDigits(${CALLERID(number)}) exten => _*92.,n,Playback(is-set-to) exten => _*92.,n,SayDigits(${EXTEN:3}) exten => _*92.,n,Macro(hangupcall,) ;*93 - Customer Programmable Call Forwarding Don't Answer Deactivation exten => *93,1,Answer exten => *93,n,Wait(1) exten => *93,n,Macro(user-callerid,) exten => *53,n,dbDel(CPCFNA/${CALLERID(number)}) exten => *53,n,Playback(call-fwd-no-ans&de-activated) exten => *93,n,Macro(hangupcall,) exten => _*93.,1,Answer exten => _*93.,n,Wait(1) exten => _*93.,n,Set(fromext=${EXTEN:3}) exten => _*93.,n,dbDel(CPCFN/${fromext}) exten => _*93.,n,Playback(cust-pro-call-fwd-no-ans&for&extension) exten => _*93.,n,SayDigits($/{fromext/}) exten => _*93.,n,Playback(cancelled) exten => _*93.,n,Macro(hangupcall,) exten => **93,1,Answer exten => **93,n,Wait(1) exten => **93,n,Playback(please-enter-your&extension) exten => **93,n,Read(fromext,then-press-pound,,) exten => **93,n,Wait(1) exten => **93,n,dbDel(CPCFNA/${fromext}) exten => **93,n,Playback(cust-pro-call-fwd-unconditional&for&extension) exten => **93,n,SayDigits(${fromext}) exten => **93,n,Playback(cancelled) exten => **93,n,Macro(hangupcall,) ;*96 Voicemail Acivate/Deactivate exten => *96,1,Answer exten => *96,n,Wait(1) exten => *96,n,Macro(user-callerid,) exten => *96,n,DBdel(VM/${CALLERIDNUM}) exten => *96,n,Wait(1) exten => *96,n,Playback(deactivated) exten => *96,n,Hangup exten => **96,1,Answer exten => **96,n,Wait(1) exten => **96,n,Macro(user-callerid,) exten => **96,n,Set(DB(VM/${CALLERIDNUM})=YES)}) exten => **96,n,Wait(.5) exten => **96,n,Playback(activated) exten => **96,n,Hangup ;*97 exten => *97,1,Answer exten => *97,n,Wait(1) exten => *97,n,Macro(user-callerid,) exten => *97,n,Macro(get-vmcontext,${CALLERID(num)}) exten => *97,n,VoiceMailMain(${CALLERID(num)}@${VMCONTEXT}) exten => *97,n,Macro(hangupcall,) ;*98 exten => *98,1,Answer exten => *98,n,Wait(1) exten => *98,n,VoiceMailMain() exten => *98,n,Macro(hangupcall,) exten => _*98.,1,Answer exten => _*98.,n,Wait(1) exten => _*98.,n,Macro(get-vmcontext,${EXTEN:3}) exten => _*98.,n,VoiceMailMain(${EXTEN:3}@${VMCONTEXT}) exten => _*98.,n,Macro(hangupcall,) [app-dnd-on] exten => *78,1,Answer exten => *78,n,Wait(1) exten => *78,n,Macro(user-callerid,) exten => *78,n,Set(DB(DND/${CALLERID(number)})=YES) exten => *78,n,Playback(do-not-disturb&activated) exten => *78,n,Macro(hangupcall,) [app-recordings] exten => *77,1,Macro(user-callerid,) exten => *77,n,Wait(2) exten => *77,n,Macro(systemrecording,dorecord) exten => *99,1,Macro(user-callerid,) exten => *99,n,Wait(2) exten => *99,n,Macro(systemrecording,docheck) [app-dialvm] exten => *98,1,Answer exten => *98,n,Wait(1) exten => *98,n,VoiceMailMain() exten => *98,n,Macro(hangupcall,) exten => _*98.,1,Answer exten => _*98.,n,Wait(1) exten => _*98.,n,Macro(get-vmcontext,${EXTEN:3}) exten => _*98.,n,VoiceMailMain(${EXTEN:3}@${VMCONTEXT}) exten => _*98.,n,Macro(hangupcall,) [app-vmmain] exten => *97,1,Answer exten => *97,n,Wait(1) exten => *97,n,Macro(user-callerid,) exten => *97,n,Macro(get-vmcontext,${CALLERID(num)}) exten => *97,n,VoiceMailMain(${CALLERID(num)}@${VMCONTEXT}) exten => *97,n,Macro(hangupcall,) [app-calltrace] exten => *69,1,Goto(app-calltrace-perform,s,1) [app-calltrace-perform] exten => s,1,Macro(user-callerid,) exten => s,n,Answer exten => s,n,Wait(1) exten => s,n,Playback(info-about-last-call&telephone-number) exten => s,n,Set(lastcaller=${DB(CALLTRACE/${CALLERID(number)})}) exten => s,n,GotoIf($[ $[ "${lastcaller}" = "" ] | $[ "${lastcaller}" = "unknown" ] ]?noinfo) exten => s,n,SayDigits(${lastcaller}) exten => s,n,Set(TIMEOUT(digit)=3) exten => s,n,Set(TIMEOUT(response)=7) exten => s,n,Background(to-call-this-number&press-1) exten => s,n,Goto(fin) exten => s,n(noinfo),Playback(from-unknown-caller) exten => s,n,Macro(hangupcall,) exten => s,n(fin),Noop(Waiting for input) exten => 1,1,Goto(from-internal,${lastcaller},1) exten => i,1,Playback(vm-goodbye) exten => i,n,Macro(hangupcall,) exten => t,1,Playback(vm-goodbye) exten => t,n,Macro(hangupcall,) [app-callwaiting-cwon] exten => *70,1,Answer exten => *70,n,Wait(1) exten => *70,n,Macro(user-callerid,) exten => *70,n,Set(DB(CW/${CALLERID(number)})=ENABLED) exten => *70,n,Playback(call-waiting&activated) exten => *70,n,Macro(hangupcall,) [app-callwaiting-cwoff] exten => *71,1,Answer exten => *71,n,Wait(1) exten => *71,n,Macro(user-callerid,) exten => *71,n,dbDel(CW/${CALLERID(number)}) exten => *71,n,Playback(call-waiting&de-activated) exten => *71,n,Macro(hangupcall,) [app-cf-busy-off] exten => *91,1,Answer exten => *91,n,Wait(1) exten => *91,n,Macro(user-callerid,) exten => *91,n,dbDel(CFB/${CALLERID(number)}) exten => *91,n,Playback(call-fwd-on-busy&de-activated) exten => *91,n,Macro(hangupcall,) exten => _*91.,1,Answer exten => _*91.,n,Wait(1) exten => _*91.,n,Set(fromext=${EXTEN:3}) exten => _*91.,n,dbDel(CFB/${fromext}) exten => _*91.,n,Playback(call-fwd-on-busy&for&extension) exten => _*91.,n,SayDigits(${fromext}) exten => _*91.,n,Playback(cancelled) exten => _*91.,n,Macro(hangupcall,) [app-cf-busy-off-any] exten => *92,1,Answer exten => *92,n,Wait(1) exten => *92,n,Playback(please-enter-your&extension) exten => *92,n,Read(fromext,then-press-pound,,) exten => *92,n,Wait(1) exten => *92,n,dbDel(CFB/${fromext}) exten => *92,n,Playback(call-fwd-on-busy&for&extension) exten => *92,n,SayDigits(${fromext}) exten => *92,n,Playback(cancelled) exten => *92,n,Macro(hangupcall,) [app-cf-busy-on] exten => *90,1,Answer exten => *90,n,Wait(1) exten => *90,n,Playback(call-fwd-on-busy) exten => *90,n,Playback(please-enter-your&extension) exten => *90,n,Read(fromext,then-press-pound,,) exten => *90,n,Set(fromext=${IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})}) exten => *90,n,Wait(1) exten => *90,n(startread),Playback(ent-target-attendant) exten => *90,n,Read(toext,then-press-pound,,) exten => *90,n,GotoIf($["foo${toext}"="foo"]?startread) exten => *90,n,Wait(1) exten => *90,n,Set(DB(CFB/${fromext})=${toext}) exten => *90,n,Playback(call-fwd-on-busy&for&extension) exten => *90,n,SayDigits(${fromext}) exten => *90,n,Playback(is-set-to) exten => *90,n,SayDigits(${toext}) exten => *90,n,Macro(hangupcall,) exten => _*90.,1,Answer exten => _*90.,n,Wait(1) exten => _*90.,n,Macro(user-callerid,) exten => _*90.,n,Set(DB(CFB/${CALLERID(number)})=${EXTEN:3}) exten => _*90.,n,Playback(call-fwd-on-busy&for&extension) exten => _*90.,n,SayDigits(${CALLERID(number)}) exten => _*90.,n,Playback(is-set-to) exten => _*90.,n,SayDigits(${EXTEN:3}) exten => _*90.,n,Macro(hangupcall,) [app-cf-off] exten => *73,1,Answer exten => *73,n,Wait(1) exten => *73,n,Macro(user-callerid,) exten => *73,n,dbDel(CF/${CALLERID(number)}) exten => *73,n,Playback(call-fwd-unconditional&de-activated) exten => *73,n,Macro(hangupcall,) exten => _*73.,1,Answer exten => _*73.,n,Wait(1) exten => _*73.,n,Set(fromext=${EXTEN:3}) exten => _*73.,n,dbDel(CF/${fromext}) exten => _*73.,n,Playback(call-fwd-unconditional&for&extension) exten => _*73.,n,SayDigits(${fromext}) exten => _*73.,n,Playback(cancelled) exten => _*73.,n,Macro(hangupcall,) [app-cf-off-any] exten => *74,1,Answer exten => *74,n,Wait(1) exten => *74,n,Playback(please-enter-your&extension) exten => *74,n,Read(fromext,then-press-pound,,) exten => *74,n,Wait(1) exten => *74,n,dbDel(CF/${fromext}) exten => *74,n,Playback(call-fwd-unconditional&for&extension) exten => *74,n,SayDigits(${fromext}) exten => *74,n,Playback(cancelled) exten => *74,n,Macro(hangupcall,) [app-cf-on] exten => *72,1,Answer exten => *72,n,Wait(1) exten => *72,n,Playback(call-fwd-unconditional) exten => *72,n,Playback(please-enter-your&extension) exten => *72,n,Read(fromext,then-press-pound,,) exten => *72,n,Set(fromext=${IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})}) exten => *72,n,Wait(1) exten => *72,n(startread),Playback(ent-target-attendant) exten => *72,n,Read(toext,then-press-pound,,) exten => *72,n,GotoIf($["foo${toext}"="foo"]?startread) exten => *72,n,Wait(1) exten => *72,n,Set(DB(CF/${fromext})=${toext}) exten => *72,n,Playback(call-fwd-unconditional&for&extension) exten => *72,n,SayDigits(${fromext}) exten => *72,n,Playback(is-set-to) exten => *72,n,SayDigits(${toext}) exten => *72,n,Macro(hangupcall,) exten => _*72.,1,Answer exten => _*72.,n,Wait(1) exten => _*72.,n,Macro(user-callerid,) exten => _*72.,n,Set(DB(CF/${CALLERID(number)})=${EXTEN:3}) exten => _*72.,n,Playback(call-fwd-unconditional&for&extension) exten => _*72.,n,SayDigits(${CALLERID(number)}) exten => _*72.,n,Playback(is-set-to) exten => _*72.,n,SayDigits(${EXTEN:3}) exten => _*72.,n,Macro(hangupcall,) [app-cf-unavailable-off] exten => *53,1,Answer exten => *53,n,Wait(1) exten => *53,n,Macro(user-callerid,) exten => *53,n,dbDel(CFU/${CALLERID(number)}) exten => *53,n,Playback(call-fwd-no-ans&de-activated) exten => *53,n,Macro(hangupcall,) exten => _*53.,1,Answer exten => _*53.,n,Wait(1) exten => _*53.,n,Set(fromext=${EXTEN:3}) exten => _*53.,n,dbDel(CFU/${fromext}) exten => _*53.,n,Playback(call-fwd-no-ans&for&extension) exten => _*53.,n,SayDigits(${fromext}) exten => _*53.,n,Playback(cancelled) exten => _*53.,n,Macro(hangupcall,) [app-cf-unavailable-on] exten => *52,1,Answer exten => *52,n,Wait(1) exten => *52,n,Playback(call-fwd-no-ans) exten => *52,n,Playback(please-enter-your&extension) exten => *52,n,Read(fromext,then-press-pound,,) exten => *52,n,Set(fromext=${IF($["foo${fromext}"="foo"]?${CALLERID(number)}:${fromext})}) exten => *52,n,Wait(1) exten => *52,n(startread),Playback(ent-target-attendant) exten => *52,n,Read(toext,then-press-pound,,) exten => *52,n,GotoIf($["foo${toext}"="foo"]?startread) exten => *52,n,Wait(1) exten => *52,n,Set(DB(CFU/${fromext})=${toext}) exten => *52,n,Playback(call-fwd-no-ans&for&extension) exten => *52,n,SayDigits(${fromext}) exten => *52,n,Playback(is-set-to) exten => *52,n,SayDigits(${toext}) exten => *52,n,Macro(hangupcall,) exten => _*52.,1,Answer exten => _*52.,n,Wait(1) exten => _*52.,n,Macro(user-callerid,) exten => _*52.,n,Set(DB(CFU/${CALLERID(number)})=${EXTEN:3}) exten => _*52.,n,Playback(call-fwd-no-ans&for&extension) exten => _*52.,n,SayDigits(${CALLERID(number)}) exten => _*52.,n,Playback(is-set-to) exten => _*52.,n,SayDigits(${EXTEN:3}) exten => _*52.,n,Macro(hangupcall,) [ext-meetme] exten => STARTMEETME,1,MeetMe(${MEETME_ROOMNUM},${MEETME_OPTS},${PIN}) exten => STARTMEETME,n,Hangup exten => h,1,Hangup exten => 8000,1,Set(MEETME_ROOMNUM=8000) exten => 8000,n,GotoIf($[${DIALSTATUS} = ANSWER]?USER) exten => 8000,n,Answer exten => 8000,n,Wait(1) exten => 8000,n(USER),Set(MEETME_OPTS=ciMs) exten => 8000,n,Goto(STARTMEETME,1) [app-userlogonoff] exten => *12,1,Macro(user-logoff,) exten => *12,n,Hangup exten => *11,1,Macro(user-logon,) exten => *11,n,Hangup exten => _*11.,1,Macro(user-logon,${EXTEN:3},) exten => _*11.,n,Hangup [app-zapbarge] exten => 888,1,Macro(user-callerid,) exten => 888,n,Set(GROUP()=${CALLERID(number)}) exten => 888,n,Answer exten => 888,n,Wait(1) exten => 888,n,ZapBarge() exten => 888,n,Hangup