Hello All,

 

I have a problem with Fax For Asterisk, the Successful Rate when sending Fax 
are very Low especially when we send the Fax just once. Now I’m trying to 
modify the dialplan so it will keep trying to send the fax for maximum 5 times 
at once and it only retry if the Sending Status has Error in it.

 

Here is the dialplan :

 

[fax-tx]

;Fax For Asterisk - Digium

exten => s,1,NoOp(**** SENDING FAX ****)

exten => s,n,Wait(6)

;zoel : Insert to MySQL

exten => s,n,MySQL(Connect connid localhost zzzz zzzz asterisk)

exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1)

exten => s,n,MYSQL(Query resultid ${connid} INSERT INTO fax_activity SET 
date=now(),faxfile="${FAXFILE}",faxtxnumber="${FAXTXNUMBER}",faxresult="Sent to 
Spooler",faxpages="${FAXPAGES}",faxstatus="${FAXERROR}",faxline="${CHANNEL}")

exten => s,n,MYSQL(Disconnect ${connid})

;zoel : End Insert to MySQL

; Set FAXOPTs

exten => s,n,NoOp(**** SETTING FAXOPT ****)

exten => s,n,Set(FAXOPT(ecm)=yes)

exten => s,n,Set(FAXOPT(headerinfo)=TEST FAX)

exten => s,n,Set(FAXOPT(localstationid)=1234567)

exten => s,n,Set(FAXOPT(maxrate)=14400)

exten => s,n,Set(FAXOPT(minrate)=2400)

; Send the fax

exten => s,n,NoOp(**** SENDING FAX RETRY ATTEMPT 1 : ${FAXFILE} : 
${FAXOPT(error)} ****)

exten => s,n,SendFAX(${FAXFILE})

;zoel : Add Retry Attempt 2

exten => s,n,GotoIf($["${FAXOPT(error)}" = "NO_ERROR"]?FaxStop:RetryAttempt2)

;===================== The Call Stop Here … L

exten => s,n,Wait(6)

exten => s,n,NoOp(**** SENDING FAX RETRY ATTEMPT 2 : ${FAXFILE} : 
${FAXOPT(error)} ****)

exten => s,n,SendFAX(${FAXFILE})

;zoel : Add Retry Attempt 3

exten => s,n,GotoIf($["${FAXOPT(error)}" = "NO_ERROR"]?FaxStop:RetryAttempt3)

exten => s,n(RetryAttempt3),Wait(6)

exten => s,n,NoOp(**** SENDING FAX RETRY ATTEMPT 3 : ${FAXFILE} : 
${FAXOPT(error)} ****)

exten => s,n,SendFAX(${FAXFILE})

;zoel : Add Retry Attempt 4

exten => s,n,GotoIf($["${FAXOPT(error)}" = "NO_ERROR"]?FaxStop:RetryAttempt4)

exten => s,n(RetryAttempt4),Wait(6)

exten => s,n,NoOp(**** SENDING FAX RETRY ATTEMPT 4 : ${FAXFILE} : 
${FAXOPT(error)} ****)

exten => s,n,SendFAX(${FAXFILE})

;zoel : Add Retry Attempt 5

exten => s,n,GotoIf($["${FAXOPT(error)}" = "NO_ERROR"]?FaxStop:RetryAttempt5)

exten => s,n(RetryAttempt5),Wait(6)

exten => s,n,NoOp(**** SENDING FAX RETRY ATTEMPT 5 : ${FAXFILE} : 
${FAXOPT(error)} ****)

exten => s,n,SendFAX(${FAXFILE})

; Hangup! Print FAXOPTs

exten => s,n(FaxStop),NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})

exten => s,n,NoOp(FAXOPT(filename) : ${FAXOPT(filename)})

exten => s,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})

exten => s,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})

exten => s,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})

exten => s,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})

exten => s,n,NoOp(FAXOPT(pages) : ${FAXOPT(pages)})

exten => s,n,NoOp(FAXOPT(rate) : ${FAXOPT(rate)})

exten => s,n,NoOp(FAXOPT(remotestationid) : ${FAXOPT(remotestationid)})

exten => s,n,NoOp(FAXOPT(resolution) : ${FAXOPT(resolution)})

exten => s,n,NoOp(FAXOPT(status) : ${FAXOPT(status)})

exten => s,n,NoOp(FAXOPT(statusstr) : ${FAXOPT(statusstr)})

exten => s,n,NoOp(FAXOPT(error) : ${FAXOPT(error)})

;zoel : Insert to MySQL fax_activity

exten => s,n,MySQL(Connect connid localhost zzzz zzzz asterisk)

exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1)

exten => s,n,MYSQL(Query resultid ${connid} INSERT INTO fax_activity SET 
date=now(),faxfile="${FAXOPT(filename)}",faxtxnumber="${FAXTXNUMBER}",faxresult="${FAXOPT(status)}",faxpages="${FAXOPT(pages)}",faxstatus="${FAXOPT(error)}",faxline="${CHANNEL}")

exten => s,n,MYSQL(Disconnect ${connid})

;zoel : Insert to MySQL fax_activity

exten => mysql_error,1,Noop("Error Connection Mysql")

exten => mysql_error,n,Macro(hangupcall)

 

 

I know the dialplan above is not working cause it keep hangup after SendFax for 
the 1st time, and it just stop.

 

So is there any of you guys know how to fix this or is there any otherway so I 
can achieve it ?

 

Thanks 

 

Regards,

ZH

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to