[general] static=yes writeprotect=no [globals] DIR_RECORDS=/mnt/calls/ [default] [recording-in] exten => s,1,Set(fname=in_${ARG1}_${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}) exten => s,n,Set(CDR(filename)=${fname}.gsm) exten => s,n,Set(CDR(userfield)=in) exten => s,n,MixMonitor(${DIR_RECORDS}${fname}.gsm,b) exten => s,n(no),Verbose(Exit record) exten => s,n,Return() [recording-out] exten => s,1,Set(fname=out_${ARG2}_${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}) exten => s,n,Set(CDR(filename)=${fname}.gsm) exten => s,n,Set(CDR(userfield)=out) exten => s,n,MixMonitor(${DIR_RECORDS}${fname}.gsm,b) exten => s,n(no),Verbose(Exit record) exten => s,n,Return() [handup-sip] exten => _X!,1,HangUp() ; Outcoming calls [call-out] ;Debug and testing extensions exten => 334,1,Goto(ivr-main,s,1) exten => 333,1,Queue(techsupport,t) ; internal num call exten => _XXX,1,Dial(SIP/${EXTEN}) ; external number call via 0800 exten => _XXX.,1,Set(VOLUME(RX)=8) exten => _XXX.,2,Set(VOLUME(RX)=8) exten => _XXX.,3,GoSub(recording-out,s,1,(${CALLERID(num)},${EXTEN})) exten => _XXX.,4,Dial(SIP/${EXTEN}@0333333333) ;zadarma test exten => 1111,1,Dial(SIP/${EXTEN}@444444) include => handup-sip ;Incoming calls [call-in] exten => 0333333333,1,Goto(ivr-main,s,1) exten => 444444,1,Goto(ivr-main,s,1) [ivr-main] exten => s,1,Answer() exten => s,n,Set(VOLUME(TX)=8) exten => s,n,Set(VOLUME(RX)=8) ;comment following line to disable nightmode exten => s,n,GotoIfTime(20:00-08:00,*,*,*?nightmode,s,1) exten => s,n,GoSub(notifybilling,s,1,(${CALLERID(num)})) exten => s,n,Wait(3) exten => s,n,Background(/usr/local/etc/asterisk/ivr_media/greeting) exten => s,n,GoSub(recording-in,s,1,(${CALLERID(num)},${EXTEN})) exten => s,n,Queue(techsupport,t) [nightmode] exten => s,1,Wait(2) exten => s,2,Playback(/usr/local/etc/asterisk/ivr_media/nighttime) exten => s,3,Wait(3) exten => s,4,Hangup() [notifybilling] exten => s,1,system(/usr/local/etc/asterisk/notifybilling ${ARG1}) exten => s,n,Return()