|
Откуда: Уфа
Сообщений: 5856
|
Re: факс одним нажатием
вот мое, много нагорожено, не помню что и за что отвечает, но работает в триксбоксе:
[macro-fax-start]
exten => s,1,Macro(user-callerid,)
exten => s,n,NoOp(${user-callerid})
exten => s,n,set(sipname=${CDR(src)})
exten => s,n,NoOp(${SIPCHANINFO(useragent)})
exten => s,n,NoOp(${SIPCHANINFO(peername)})
exten => s,n,transfer,666
[iaxmodem]
;include=>from-internal
exten => _X.,1,dial(LOCAL/${EXTEN}@from-internal,60,M(say-fax))
[macro-say-fax]
exten => s,1,Background(silence/5)
exten => s,n,Background(custom/start-fax)
exten => s,1,Background(silence/2)
exten => s,n,Background(custom/start-fax)
exten => s,1,Background(silence/2)
exten => s,n,Background(custom/start-fax)
exten => s,n,Background(silence/2)
[macro-faxrecive-start]
exten => s,1,noop(${BRIDGEPEER})
exten => s,n,noop(${CDR(dstchannel)})
exten => s,n,noop(${SIPCHANINFO(peername)})
exten => s,n,ChannelRedirect(${BRIDGEPEER},macro-fax,f-${SIPCHANINFO(peername)},1)
[macro-fax]
exten => _f-XX.,1,Set(EXT=${EXTEN:2})
exten => _f-XX.,n,Goto(s,start)
exten => s,1,NoOp(${user-callerid})
exten => s,n,answer()
exten => s,n,Macro(user-callerid,)
exten => s,n,Set(EXT=${CDR(src)})
exten => s,n(start),Background(custom/start-fax)
exten => s,n,MYSQL(Connect connid localhost asteriskuser 4nccnuQcYbD4VZRc asterisk)
exten => s,n,MYSQL(Query resultid ${connid} SELECT\ `faxemail`\ FROM\ `users`\ WHERE\ `extension`=\'${EXT}\')
exten => s,n,MYSQL(Fetch foundRow ${resultid} faxemail) ; fetch row
exten => s,n,Set(faxemail=${IF($["${faxemail}" = ""]?${FAX_RX_EMAIL}:${faxemail})})
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,Goto(in_fax,1)
exten => in_fax,1,StopPlayTones
;exten => in_fax,n,GotoIf($["${FAX_RX}" = "system"]?3:analog_fax,1)
exten => in_fax,n,Set(FAXFILE=/tmp/${UNIQUEID}.tif)
exten => in_fax,n,set(__call-from=${CALLERID(number)})
exten => in_fax,n,set(CALLERID(number)=${UNIQUEID})
exten => in_fax,n,Dial(IAX2/iaxmodem1/${UNIQUEID})
exten => in_fax,n,Dial(IAX2/iaxmodem2/${UNIQUEID})
exten => in_fax,n,Dial(IAX2/iaxmodem3/${UNIQUEID})
exten => in_fax,n,Dial(IAX2/iaxmodem4/${UNIQUEID})
exten => in_fax,n,wait(3)
exten => in_fax,n,Hangup
exten => analog_fax,1,GotoIf($["${FAX_RX}" = "disabled"]?4:2) ;if fax is disabled, just hang up
exten => analog_fax,2,Set(DIAL=${DB(DEVICE/${FAX_RX}/dial)});
exten => analog_fax,3,Dial(${DIAL},20,d)
exten => analog_fax,4,Hangup
exten => h,1,noop(--------------)
;exten => h,n,background(silence/5);wait(3)
exten => h,n,system(/var/lib/asterisk/bin/fax2ftp.php -h 192.168.123.221 -u ftpuser -p ang.pth -l ${FAXFILE} -d ${EXT} -r "${call-from}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID}.tiff")
exten => h,n,background(silence/10)
exten => h,n,system(/var/lib/asterisk/bin/fax-process.pl --to ${faxemail} --from ${FAX_RX_FROM} --subject "Fax from ${call-from} ${CALLERID(name)}" --attachment ${CALLERID(number)}.pdf --type application/pdf --file ${FAXFILE});
exten => h,n,background(silence/10)
;exten => h,1,system(mime-construct --to ${faxemail} --subject "Fax from ${call-from} ${CALLERID(name)}" --attachment ${CALLERIDNUM} --type application/pdf --file ${FAXFILE})
;exten => h,n,system(rm -f ${FAXFILE})
;exten => h,n,Hangup
;you must modify [macro-dial]:
;exten => s,n+2(normdial),Dial(${ds}M(unset-notify^${EXTTOCALL}))
и не забудь dynamic features сделать вот для этого:
fax-start => *6,caller,Macro,faxrecive-start
|