All pastes #270972 Raw Edit

Mine

public text v1 · immutable
·published 2006-12-08 00:26 UTC
rendered paste body
;-------------------------------------------------------------------------------------------
; 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)                                                                                                                      
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)                                                                                                                               
                                                                                                                                                   
; 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                                                                                                                      
;                                                                                                                                                  
;-------------------------------------------------------------------------------------------