[default] ; ; By default we include the demo. In a production system, you ; probably don't want to have the demo there. ; ; include => demo ;exten => fouronenine,1,Playback(Noise) ;exten => fouronenine,1,Playback(custom/Front_Left) exten => fouronenine,1,Monitor(wav,${STRFTIME(${EPOCH},,%C%y%m%d%H%M)},m) exten => fouronenine,n,Set(i=1) exten => fouronenine,n,While($[${i} > 0]) exten => fouronenine,n,Playback(custom/phone_ringing) exten => fouronenine,n,EndWhile exten => test,1,Goto(mainmenu,s,1) exten => test,2,Hangup() exten => madmenu,1,Goto(mainmenu,s,1) exten => madmenu,2,Hangup() exten => silence,1,Monitor(wav,silence-${STRFTIME(${EPOCH},,%C%y%m%d%H%M)}-${CALLERID(num)},m) same => n,Answer same => n,Set(detectedsilence=0) same => n,Goto(silence,s,1) same => n,Hangup() [mainmenu] exten => s,1,Monitor(wav,${STRFTIME(${EPOCH},,%C%y%m%d%H%M)},m) exten => s,n,Answer exten => s,n,Playback(custom/lilly_pond_main_menu) ;exten => s,n,Playback(en_US_f_Allison/queue-youarenext) exten => s,n,Set(TIMEOUT(response)=10) exten => s,n,Set(TIMEOUT(digit)=10) exten => s,n,WaitExten(5) ;exten => 2,1,Playback(en_US_f_Allison/queue-callswaiting) ;exten => s,n,Set(FUTURETIME=$[${EPOCH}]) ;exten => s,n,SayUnixTime(${FUTURETIME},Zulu,HNS) exten => 1,1,Ringing exten => 1,n,Wait(20) exten => 1,n,Goto(farmproducts,s,1) exten => 2,1,Ringing exten => 2,n,Wait(20) exten => 2,n,Playback(en_US_f_Allison/queue-callswaiting) exten => 2,n,WaitExten(5) exten => 2,n,Goto(mainmenu,s,1) exten => 3,1,Ringing exten => 3,n,Wait(20) exten => 3,n,Playback(en_US_f_Allison/followme/pls-hold-while-try) exten => 3,n,WaitExten(5) exten => 3,n,Goto(mainmenu,s,1) exten => 7,1,Goto(extensionmenu,s,1) ; invalid selection, goto start exten => i,1,Goto(mainmenu,s,1) exten => t,1,Goto(mainmenu,s,1) [farmproducts] exten => s,1,Set(TIMEOUT(digit)=5) exten => s,n,Playback(custom/lilly_pond_farm_products) exten => s,n,Set(TIMEOUT(response)=10) exten => s,n,Set(TIMEOUT(digit)=10) exten => s,n,WaitExten(5) ; invalid selection, goto start exten => i,1,Goto(mainmenu,s,1) exten => t,1,Goto(mainmenu,s,1) [extensionmenu] exten => s,1,Playback(en_US_f_Allison/vm-enter-num-to-call) exten => s,n,WaitExten(1) ; invalid selection, goto start exten => i,1,Goto(mainmenu,s,1) exten => t,1,Goto(mainmenu,s,1) [silence] exten => s,1,Wait(3) same => n,Playback(custom/ast_hello) same => n,WaitForSilence(2000,2,10) same => n,GotoIf($["${WAITSTATUS}" = "TIMEOUT"]?timeout) same => n,GotoIf($["${WAITSTATUS}" = "SILENCE"]?silence) same => n(timeout),Gosub(randmessage,msg${RAND(1,10)},1) same => n,Set(detectedsilence=0) same => n,Goto(silence,s,1) same => n(silence),Goto(silence-detected,s,1) [silence-detected] exten => s,1,Set(detectedsilence=${INC(detectedsilence)}) same => n,GotoIf($["${detectedsilence}" = "1"]?silencelevel1) same => n,GotoIf($["${detectedsilence}" = "2"]?silencelevel2) same => n,GotoIf($["${detectedsilence}" = "3"]?silencelevel3) same => n(silencelevel1),Playback(custom/ast_errh) same => n,Goto(silence,s,1) same => n(silencelevel2),Playback(custom/ast_i_didnt_get_that_last_bit_can_you_say_that_again) same => n,Goto(silence,s,1) same => n(silencelevel3),Playback(custom/ast_mmmm) same => n,Set(detectedsilence=0) same => n,Goto(silence,s,1) [randmessage] exten => msg1,1,Playback(custom/ast_could_you_go_over_that_again_please) same => n,Return exten => msg2,1,Playback(custom/ast_errh) same => n,Return exten => msg3,1,Playback(custom/ast_hang_on_i_dont_follow) same => n,Return exten => msg4,1,Playback(custom/ast_hello) same => n,Return exten => msg5,1,Playback(custom/ast_i_didnt_get_that_last_bit_can_you_say_that_again) same => n,Return exten => msg6,1,Playback(custom/ast_i_think_youre_breaking_up_can_you_say_that_louder) same => n,Return exten => msg7,1,Playback(custom/ast_mmmm) same => n,Return exten => msg8,1,Playback(custom/ast_well_uh_i_still_dont_understand_what_you_just_said) same => n,Return exten => msg9,1,Playback(custom/ast_w_w_i_still_dont_understand) same => n,Return exten => msg10,1,Playback(custom/ast_y-yess) same => n,Return