[macro-Routein_FaxOut1]
exten = s,1,Set(CDR(userfield)=Inbound)
exten = s,n,GotoIf(${DB_EXISTS(blacklist/${CALLERID(num)})}?Blacklist-Handle,s,1)
exten = s,n,Set(TRUNKDID=${IF($[${ARG2}=s]?${CALLERID(name)}:${ARG2})})
exten = s,n,Goto(Routeout_FaxOut1,${ARG2},1)
exten = s,102,Goto(Blacklist-Handle,s,1)
[macro-Routein_FaxIn1]
exten = s,1,Set(CDR(userfield)=Inbound)
exten = s,n,GotoIf(${DB_EXISTS(blacklist/${CALLERID(num)})}?Blacklist-Handle,s,1)
exten = s,n,Set(TRUNKDID=${IF($[${ARG2}=s]?${CALLERID(name)}:${ARG2})})
exten = s,n,Goto(Routeout_FaxIn1,${ARG2},1)
exten = s,102,Goto(Blacklist-Handle,s,1)
[Routeout_FaxOut1]
exten = h,1,Hangup
exten = _.,1,Set(ORGINEXTEN=${EXTEN})
exten = _.,n,Set(ORGINCONTEXT=${IF($[${LEN(${ORGINCONTEXT})} > 0]?${ORGINCONTEXT}: ${CONTEXT})})
exten = _.,n,GetNextOutRouter(${ORGINCONTEXT},)
exten = _.,n,Macro(Dial_Out,1,,${EXTEN:0},DAHDI/g21,)
exten = _.,100,Hangup()
exten = T,1,Goto(${ORGINEXTEN},100)
exten = e,1,Goto(${ORGINEXTEN},100)
[Routeout_FaxIn1]
exten = h,1,Hangup
exten = _.,1,Set(ORGINEXTEN=${EXTEN})
exten = _.,n,Set(ORGINCONTEXT=${IF($[${LEN(${ORGINCONTEXT})} > 0]?${ORGINCONTEXT}: ${CONTEXT})})
exten = _.,n,GetNextOutRouter(${ORGINCONTEXT},)
exten = _.,n,Macro(RecvFax,1,,${EXTEN:0},trunk-acc-Account1,)
exten = _.,100,Hangup()
exten = T,1,Goto(${ORGINEXTEN},100)
exten = e,1,Goto(${ORGINEXTEN},100)
[macro-Dial_Out]
exten = s,1,NoOp(do call out)
exten = s,n,set(CALLERID(num)=30001)
exten = s,n,Dial(${ARG4}/${ARG3},15,M(snd_fax))
exten = s,n,Hangup()
[macro-snd_fax]
exten = s,1,Set(faxlocation=/persistent)
exten = s,n,Set(faxfile=fax.tiff)
exten = s,n,SendFAX(${faxlocation}/${faxfile})
exten = s,n,NoOp(FAX has been sent)
exten = s,n,Hangup()
[macro-RecvFax]
exten = _.,1,Answer()
exten
= _.,n,Wait(3)
exten = _.,n,Set(FAXFROM=${IF($[${LEN(${CALLERID(num)})} > 0]?${CALLERID(num)}: Unknown)})
'exten = _.,n,Set(FAXFILE=/persistent/tmp/fax/${EXTEN}-${STRFTIME(,,%Y%m%d-%H%M)}-${RAND(1)}.tiff)
exten = _.,n,Set(FAXFILE=/persistent/tmp/fax/fax_in.tiff)
exten = _.,n,ReceiveFAX(${FAXFILE})
exten = _.,n,Hangup()
[Voip-Account-30001]
exten = _.,1,GotoIfTime(00:00-23:59,mon-sun,*,*?outgoing_Account-30001,${EXTEN},1)
exten = h,1,hangup
[DID_trunk-bri-SPAN1]
exten = _.,1,GotoIfTime(00:00-23:59,mon-sun,*,*?outgoing_trunk-bri-SPAN1,${EXTEN},1)
exten = h,1,hangup
[outgoing_Account-30001]
exten = _1.,1,Macro(Routein_FaxOut1,1,${EXTEN})
[outgoing_trunk-bri-SPAN1]
exten = _.,1,Macro(Routein_FaxIn1,1,${EXTEN})