[general] static=yes writeprotect=yes autofallthrough=yes clearglobalvars=no priorityjumping=no [globals] DialPlanModeAvailable=0 DialPlanModeTempAway=1 DialPlanModeNight=2 [external] exten => fax,1,Verbose(Start Fax) exten => fax,n,Goto(fax-rx,receive,1) exten => s,1,Answer() exten => s,n(afterans),GotoIf($[${DB(BrandliLaw/DialPlanMode)}!=0]?closed,s,1) exten => s,n,Dial(SIP/61&SIP/63&SIP/65,15,t) exten => s,n(noanswer),Background(unavailable-normal) exten => s,n,VoiceMail(60@default,s) exten => s,n,Hangup() exten => 5,1,Goto(configure-secure,s,1) exten => 9,1,Dial(SIP/61&SIP/63&SIP/65,60,t) exten => 9,2,Goto(noanswer) exten => i,1,Playback(invalid-menu-item) exten => i,n,Wait(1) exten => i,n,Goto(s,noanswer) [closed] exten => fax,1,Verbose(Start Fax) exten => fax,n,Goto(fax-rx,receive,1) exten => s,1,GotoIf($[${DB(BrandliLaw/DialPlanMode)}=1]?away) exten => s,n,Background(closed-normal) exten => s,n,Goto(cont) exten => s,n(away),Background(away-normal) exten => s,n(cont),VoiceMail(60@default,s) exten => s,n,Hangup() exten => 5,1,Goto(configure-secure,s,1) exten => 9,1,Goto(emergency,s,1) exten => i,1,Playback(invalid-menu-item) exten => i,n,Wait(1) exten => i,n,Goto(s,1) [configure-secure] exten => s,1,GotoIf($[${DB(BrandliLaw/Passcode)}=""]?configure,s,1) exten => s,n(loop),Read(Passcode,enter-passcode) exten => s,n,GotoIf($["${DB(BrandliLaw/Passcode)}"=""]?configure,s,1) exten => s,n,GotoIf($["${Passcode}"="${DB(BrandliLaw/Passcode)}"]?configure,s,1) exten => s,n,Playback(invalid-passcode) exten => s,n,Goto(loop) [configure] exten => s,1,Background(configure-menu) exten => s,n,WaitExten(6) exten => s,n,Goto(1) exten => 1,1,Goto(configure-mode,s,1) exten => 5,1,Read(Passcode,enter-new-passcode) exten => 5,n,Set(DB(BrandliLaw/Passcode)=${Passcode}) exten => 5,n,Goto(s,1) exten => 6,1,VoiceMailMain(60@default,s) exten => 6,n,Hangup() exten => 9,1,Goto(ring-internal,s,1) exten => i,1,Playback(invalid-menu-item) exten => i,n,Wait(1) exten => i,n,Goto(s,1) [configure-mode] exten => s,1,Background(config-mode-menu) exten => s,n,WaitExten(6) exten => s,n,Goto(1) exten => 1,1,Set(DB(BrandliLaw/DialPlanMode)=0) exten => 1,n,Goto(configure,s,1) exten => 2,1,Set(DB(BrandliLaw/DialPlanMode)=1) exten => 2,n,Goto(configure,s,1) exten => 3,1,Set(DB(BrandliLaw/DialPlanMode)=2) exten => 3,n,Goto(configure,s,1) exten => i,1,Playback(invalid-menu-item) exten => i,n,Wait(1) exten => i,n,Goto(s,1) [ring-internal] exten => s,1,Dial(SIP/61&SIP/63&SIP/65,,t) [emergency] exten => s,1,VoiceMail(60@default,sU) exten => h,1,System(/root/bin/textsteve) ;exten => s,1,ExternalIVR(/var/lib/asterisk/agi-bin/fndatyivr.py) ;exten => s,n,Hangup() [attyscreen] exten => s,1,Wait(1) exten => s,n,Set(asloopvar=3) exten => s,n(asloop),Background(attyscreen) exten => s,n,WaitExten(3) exten => s,n,Set(asloopvar=$[${asloopvar}-1]) exten => s,n,GotoIf($[${asloopvar}>0]?asloop) exten => s,n,SET(GOSUB_RESULT=CONTINUE) exten => s,n,Return() exten => 1,1,Verbose(Call Accepted) exten => 1,n,SET(GOSUB_RESULT=) exten => 1,n,Return() exten => i,1,Set(GOSUB_RESULT=CONTINUE) exten => i,n,Return() [fax-rx] exten => receive,1,Verbose(Receive fax) exten => receive,n,ReceiveFAX(/var/spool/asterisk/fax/infax) exten => receive,n,Hangup() exten => h,1,Verbose(Fax Hangup Extension) exten => h,n,Verbose(Fax Status: ${FAXOPT(status)}) exten => h,n,Verbose(Fax Error: ${FAXOPT(error)}) [googlein] exten => _[@Xa-z].,1,Verbose(0,Google Incoming) exten => _[@Xa-z].,n,Wait(1) exten => _[@Xa-z].,n,SendDTMF(1) exten => _[@Xa-z].,n,Goto(external,s,afterans) [internal] include => parkedcalls exten => _9X.,1,Answer() exten => _9X.,n(loop),ChanIsAvail(DAHDI/2&DAHDI/3&DAHDI/4,s) exten => _9X.,n,GotoIf($["${AVAILORIGCHAN}"=""]?unavail,1) exten => _9X.,n,Dial(${AVAILORIGCHAN}/${EXTEN:1}) exten => _9X.,n,Verbose(0, DIALSTATUS: ${DIALSTATUS}) exten => _9X.,n,GotoIf($["${DIALSTATUS}"="BUSY"]?loop) exten => _81X.,1,Answer() exten => _81X.,n(loop),ChanIsAvail(DAHDI/2&DAHDI/4,s) exten => _81X.,n,GotoIf($["${AVAILORIGCHAN}"=""]?unavail,1) exten => _81X.,n,Dial(${AVAILORIGCHAN}/${EXTEN:1}) exten => _81X.,n,Verbose(0, DIALSTATUS: ${DIALSTATUS}) exten => _81X.,n,GotoIf($["${DIALSTATUS}"="BUSY"]?loop) exten => _8011X.,1,Answer() exten => _8011X.,n(loop),ChanIsAvail(DAHDI/2&DAHDI/4,s) exten => _8011X.,n,GotoIf($["${AVAILORIGCHAN}"=""]?unavail,1) exten => _8011X.,n,Dial(${AVAILORIGCHAN}/${EXTEN:1}) exten => _8011X.,n,Verbose(0, DIALSTATUS: ${DIALSTATUS}) exten => _8011X.,n,GotoIf($["${DIALSTATUS}"="BUSY"]?loop) exten => _82X.,1,Answer() exten => _82X.,n,Dial(Gtalk/stevebrphone/+1${EXTEN:2}@voice.google.com) exten => unavail,1,Congestion() exten => 60,1,VoiceMailMain(60@default,s) exten => 61,hint,SIP/61 exten => 61,1,SIPAddHeader(Alert-Info: info=internal) exten => 61,n,Dial(SIP/61,,t) exten => 61,n,Hangup() exten => 71,1,SIPAddHeader(Alert-Info: info=intercom) exten => 71,n,Dial(SIP/61,,t) exten => 71,n,Hangup() exten => 63,hint,SIP/63 exten => 63,1,SIPAddHeader(Alert-Info: info=internal) exten => 63,n,Dial(SIP/63,,t) exten => 63,n,Hangup() exten => 73,1,SIPAddHeader(Alert-Info: info=intercom) exten => 73,n,Dial(SIP/63,,t) exten => 73,n,Hangup() exten => 64,hint,SIP/64 exten => 64,1,SIPAddHeader(Alert-Info: info=internal) exten => 64,n,Dial(SIP/64,,t) exten => 64,n,Hangup() exten => 74,1,SIPAddHeader(Alert-Info: info=intercom) exten => 74,n,Dial(SIP/64,,t) exten => 74,n,Hangup() exten => 65,hint,SIP/65 exten => 65,1,SIPAddHeader(Alert-Info: info=internal) exten => 65,n,Dial(SIP/65,,t) exten => 65,n,Hangup() exten => 75,1,SIPAddHeader(Alert-Info: info=intercom) exten => 75,n,Dial(SIP/65,,t) exten => 75,n,Hangup() exten => 69,1,Verbose(Fax Extension) exten => 69,n,Goto(fax-rx,receive,1) exten => 26,1,Set(CONFBRIDGE_JOIN_SOUND=en/beep) exten => 26,n,Set(CONFBRIDGE_LEAVE_SOUND=en/beep) exten => 26,n,Answer() exten => 26,n,ConfBridge(26,1s) exten => 27,1,Set(CONFBRIDGE_JOIN_SOUND=en/beep) exten => 27,n,Set(CONFBRIDGE_LEAVE_SOUND=en/beep) exten => 27,n,Answer() exten => 27,n,ConfBridge(26,1as) exten => 28,1,Answer() exten => 28,n,ConfBridge(28,1as) exten => 29,1,Answer() exten => 29,n,ConfBridge(29,1s) exten => 50,1,Goto(configure,s,1) exten => 55,1,Answer() exten => 55,n,Wait(2) exten => 55,n,Record(cur:gsm) exten => 55,n,Wait(2) exten => 55,n,Playback(cur) exten => 55,n,Hangup exten => 56,1,Answer() exten => 56,n,Playback(cur) exten => 56,n,Hangup() exten => 59,1,Goto(external,s,1)