;------------------------------------------------------------------------------------------- ; REPORT BACK ON EXTENSION STATUS ; ; Settings Currently Supported: ; CW: Call Waiting ; DND: Do Not Disturb ; CFB: Call Forward On Busy ; CF: Call Forward Unconditional ; ; get status of a specific extentsion by dialing *48xxx where xxx is the extension status is ; desired for. (Can be any number of supported extension digits ; exten => _*48.,1,Set(uext=${EXTEN:3}) exten => _*48.,n,Noop(STATUS ON EXTENSION: ${EXTEN:3}) exten => _*48.,n,Answer exten => _*48.,n,Wait(1) exten => _*48.,n,Goto(custom-check-status,s,1) ; get status from specific extension, prompted after dialing ; exten => *48,1,Answer exten => *48,n,Wait(1) exten => *48,n,BackGround(please-enter-the) exten => *48,n,Playback(extension) exten => *48,n,Read(uext,then-press-pound) exten => *48,n,Wait(1) exten => *48,n,Goto(custom-check-status,s,1) ; playback extension settings for current or prompted phone ; exten => *49,1,Answer exten => *49,n,Set(uext=${CALLERIDNUM}) exten => *49,n,Goto(custom-check-status,s,1) ; this function is passed an extension number and will read back the ; statu on the target extension ; ; TARGET EXTENSION ${uext} ; ; Settings Currently Supported: ; CW: Call Waiting ; DND: Do Not Disturb ; CFB: Call Forward On Busy ; CF: Call Forward Unconditional ; [custom-check-status] ; Announce Extension Being Reported on ; exten => s,1,Noop(REPORTING STATUS ON EXT: ${uext}) exten => s,n,Playback(status); CW: Call Waiting Status ; exten => s,n,Noop(CW RESULTS: ${DB_EXISTS(CW/${uext})} : ${DB_RESULT}) exten => s,n,Playback(call-waiting) ;exten => s,n,Playback(status) exten => s,n,GotoIf($[${DB_EXISTS(CW/${uext})}]?cwenabled:cwdisabled) exten => s,n(cwenabled),Playback(activated) exten => s,n,Goto(dndcheck) exten => s,n(cwdisabled),Playback(de-activated) ; DND: Do Not Disturb Status ; exten => s,n(dndcheck),Noop(DND RESULTS: ${DB_EXISTS(DND/${uext})} : ${DB_RESULT}) exten => s,n,Wait(1) exten => s,n,Playback(do-not-disturb) ;exten => s,n,Playback(status) exten => s,n,GotoIf($[${DB_EXISTS(DND/${uext})}]?dndenabled:dnddisabled) exten => s,n(dndenabled),Playback(activated) exten => s,n,Goto(cfbcheck) exten => s,n(dnddisabled),Playback(de-activated) ; CFB: Call Forward on Busy Status ; exten => s,n(cfbcheck),Noop(CFB RESULTS: ${DB_EXISTS(CFB/${uext})} : ${DB_RESULT}) exten => s,n,Wait(1) exten => s,n,Playback(call-fwd-on-busy) ;exten => s,n,Playback(status) exten => s,n,GotoIf($[${DB_EXISTS(CFB/${uext})}]?cfbenabled:cfbdisabled) exten => s,n(cfbenabled),Playback(activated) exten => s,n,Playback(and) exten => s,n,Playback(is-set-to) exten => s,n,SayDigits(${DB_RESULT}) exten => s,n,Goto(cfcheck) exten => s,n(cfbdisabled),Playback(de-activated) ; CF: Call Forward Unconditional Status ; exten => s,n(cfcheck),Noop(CF RESULTS: ${DB_EXISTS(CF/${uext})} : ${DB_RESULT}) exten => s,n,Wait(1) exten => s,n,Playback(call-fwd-unconditional) ;exten => s,n,Playback(status) exten => s,n,GotoIf($[${DB_EXISTS(CF/${uext})}]?cfenabled:cfdisabled) exten => s,n(cfenabled),Playback(activated) exten => s,n,Playback(and) exten => s,n,Playback(is-set-to) exten => s,n,SayDigits(${DB_RESULT}) exten => s,n,Goto(endcheck) exten => s,n(cfdisabled),Playback(de-activated) ; CALL STATUS END - GOODBYE! ; exten => s,n,Wait(1) exten => s,n,Playback(goodbye) exten => s,n(endcheck),Hangup ; ;------------------------------------------------------------------------------------------- exten => s,n,Playback(for) exten => s,n,Playback(extension) exten => s,n,SayDigits(${uext}) exten => s,n,Playback(is) exten => s,n,Wait(1)