Lonnie, David:
I hadn't realized that tiff2pdf was included in AstLinux... I made the changes
suggested and am now using the following dialplan to e-mail received faxes as
pdf files:
exten => fax,1,Verbose(3,Incoming fax)
same => n,Set(FAXDEST=/tmp)
same => n,Set(tempfax=${STRFTIME(,,%C%y%m%d%H%M)})
same => n,ReceiveFax(${FAXDEST}/${tempfax}.tif)
same => n,Verbose(3,- Fax receipt completed with status: ${FAXSTATUS})
same => n,System(tiff2pdf -j -o ${FAXDEST}/${tempfax}.pdf
${FAXDEST}/${tempfax}.tif)
same => n,System(echo -e "To: [email protected]\nSubject: FAX from
${CALLERID(all)}" | mime-pack "new fax" "${FAXDEST}/${tempfax}.pdf"
"application/pdf" | sendmail -t)
same => n,system(rm ${FAXDEST}/${tempfax}.*)
same => n,Hangup
So far I haven't had any problems with the System() command; I don't receive a
tonne of faxes, but it has worked every time.
Many thanks for your help,
Shamus
> Message: 2
> Date: Tue, 14 Feb 2012 17:11:12 -0600
> From: Lonnie Abelbeck <[email protected]>
> Subject: Re: [Astlinux-users] fax - command to e-mail attachment
> To: AstLinux Users Mailing List <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=us-ascii
>
> Hi Shamus,
>
> Great to hear you got it working.
>
> As an optimization you might try also using tiff2pdf as David did before
> mailing, it should reduce the file size somewhat.
>
> I haven't tried it, but the "tiff2pdf -j ..." option will definitely reduce
> the file size. Play with some samples manually before changing your dialplan.
>
> $ tiff2pdf -j -o file_name.pdf file_name.tiff
>
> Lonnie
>
>
> On Feb 14, 2012, at 1:26 PM, Shamus Rask wrote:
>
>> David,
>>
>> Many thanks... I wanted to keep everything "in Asterisk" for ease of
>> portability. I appropriated some of your code and am now using the following
>> successfully:
>>
>> exten => fax,1,Verbose(3,Incoming fax)
>> same => n,Set(FAXDEST=/tmp)
>> same => n,Set(tempfax=${STRFTIME(,,%C%y%m%d%H%M)})
>> same => n,ReceiveFax(${FAXDEST}/${tempfax}.tif)
>> same => n,Verbose(3,- Fax receipt completed with status: ${FAXSTATUS})
>> same => n,System(echo -e "To: [email protected]\nSubject: FAX from
>> ${CALLERID(all)}" | mime-pack "new fax" "${FAXDEST}/${tempfax}.tif"
>> "application/tif" | sendmail -t)
>> same => n,system(rm ${FAXDEST}/${tempfax}.tif)
>> same => n,Hangup
>>
>> Many thanks for your suggestion!
>> Shamus
>>
>> ------------------------------
>>
>> Message: 4
>> Date: Sun, 12 Feb 2012 14:47:07 -0500
>> From: David Kerr <[email protected]>
>> Subject: Re: [Astlinux-users] fax - command to e-mail attachment
>> To: AstLinux Users Mailing List <[email protected]>
>> Message-ID:
>> <CAJJxGdGcuKJjD0om3ADsv_74=dnoe9gzkuz_yxnr+g5mz5r...@mail.gmail.com>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> I have moved the task of emailing received faxes outside of the asterisk
>> dialplan. Here is how I do it...
>> In the dialplan...
>>
>> [DID_trunk]
>> ;place following somewhere in your DID dialplan...
>> exten = fax,1,Gosub(fax-rx,s,1)
>> exten = fax,n,Hangup()
>>
>> [fax-rx]
>> exten = s,1,NoOp(Receive FAX)
>> exten =
>> s,n,Set(emailaddr=${IF(${DB_EXISTS(actionlist/fax${CALLERID(dnid)})}?${DB_RESULT}:${DB(actionlist/fax)})})
>> exten =
>> s,n,Set(FAXFILE=/tmp/fax~${CALLERID(NUM)}~${emailaddr}~${FILTER(0123456789,${UNIQUEID})})
>> exten = s,n,Set(LOCALHEADERINFO=My Name)
>> exten = s,n,Set(LOCALSTATIONID=My Name)
>> exten = s,n,ReceiveFAX(${FAXFILE}.tiff) ;Asterisk 1.8
>> ;exten = s,n,RxFAX(${FAXFILE}.tiff) ;Asterisk 1.4
>> exten = s,n,Log(NOTICE,New FAX: ${FAXPAGES} page(s) from ${CALLERID(NUM)}
>> (${REMOTESTATIONID}) to ${CALLERID(dnid)})
>> exten = s,n,Hangup()
>> exten = s,n,Return()
>>
>>
>> Notice how the destination email address is pulled from the astdb
>> actionlist, and that you can have different email destinations based on the
>> destination in callerid. This email address is then saved as part of the
>> .tiff filename created in /tmp, along with the CallerID number and a unique
>> identifier.
>>
>> Then I have a task running in the background on my astlinux box. I call it
>> check_fax...
>>
>> #!/bin/bash
>> #
>>
>> background () {
>> while true;
>> do
>> for f in /tmp/*.tiff
>> do
>> if [ -f $f ]
>> then
>> fuser -s $f
>> if [ $? -ne 0 ]
>> then
>> tiff2pdf -o "${f%\.*}".pdf "$f"
>> mv -f "$f" /mnt/kd/fax
>> fi
>> fi
>> done
>>
>> for f in /tmp/*.pdf
>> do
>> if [ -f $f ]
>> then
>> cidemail="${f%~*}"
>> cidemail="${cidemail#*~}"
>> email="${cidemail#*~}"
>> cid="${cidemail%~*}"
>> shortf="${f##*~}"
>> mv -f "$f" "/tmp/fax-$shortf"
>> echo "Subject: New FAX from $cid
>> From: AsteriskPBX
>> To: $email" | \
>> mime-pack "New FAX received from $cid" "/tmp/fax-$shortf" "application/pdf"
>> | \
>> sendmail -t
>> rm -f "/tmp/fax-$shortf"
>> fi
>> done
>>
>> sleep 30
>> done
>> }
>>
>> background&
>> echo $! > /tmp/check_fax.pid
>>
>> This script is fired of every time astlinux boots by placing it in
>> rc.local...
>>
>> #!/bin/bash
>> #
>> # /etc/rc.local - run once at boot time
>> # Put any local setup commands in here:
>> # inadyn --input_file /etc/inadyn2.conf
>> # mkdir /root/usb
>> /mnt/kd/bin/check_fax
>>
>> Looking at the check_fax script... it looks for new faxes (.tiff files) in
>> /tmp. It converts all .tiff's into .pdf's (and moves the .tiff into
>> /mnt/kd/fax for backup/archive... you should erase those from time-to-time.
>> Then for all .pdf's created it emails them to the email address embedded
>> into the filename. Then erases the .pdf. Then it sleeps for 30 seconds
>> before checking again for more faxes.
>>
>> David.
>
>
>
> ------------------------------
>
> Message: 3
> Date: Wed, 15 Feb 2012 09:36:36 -0500
> From: David Kerr <[email protected]>
> Subject: Re: [Astlinux-users] fax - command to e-mail attachment
> To: AstLinux Users Mailing List <[email protected]>
> Message-ID:
> <CAJJxGdFEXP0yTiRv83JmekMgSadYc=wuly+ytcxm9vqzic4...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> There was a reason I moved all the fax emailing out of the dialplan. When
> I was first trying this out (over a year ago now I think) I found using the
> System() call in the asterisk dialplan unreliable. I could never pin down
> exactly what was going on and things may have improved now. Symptoms were
> that it would appear that the linux system process would kick off and for
> some reason never exit. Using multiple System() calls back-to-back seemed
> to make things worse.
>
> David
>
> On Tue, Feb 14, 2012 at 6:11 PM, Lonnie Abelbeck
> <[email protected]>wrote:
>
>> Hi Shamus,
>>
>> Great to hear you got it working.
>>
>> As an optimization you might try also using tiff2pdf as David did before
>> mailing, it should reduce the file size somewhat.
>>
>> I haven't tried it, but the "tiff2pdf -j ..." option will definitely
>> reduce the file size. Play with some samples manually before changing your
>> dialplan.
>>
>> $ tiff2pdf -j -o file_name.pdf file_name.tiff
>>
>> Lonnie
>>
>>
>> On Feb 14, 2012, at 1:26 PM, Shamus Rask wrote:
>>
>>> David,
>>>
>>> Many thanks... I wanted to keep everything "in Asterisk" for ease of
>> portability. I appropriated some of your code and am now using the
>> following successfully:
>>>
>>> exten => fax,1,Verbose(3,Incoming fax)
>>> same => n,Set(FAXDEST=/tmp)
>>> same => n,Set(tempfax=${STRFTIME(,,%C%y%m%d%H%M)})
>>> same => n,ReceiveFax(${FAXDEST}/${tempfax}.tif)
>>> same => n,Verbose(3,- Fax receipt completed with status: ${FAXSTATUS})
>>> same => n,System(echo -e "To: [email protected]\nSubject: FAX from
>> ${CALLERID(all)}" | mime-pack "new fax" "${FAXDEST}/${tempfax}.tif"
>> "application/tif" | sendmail -t)
>>> same => n,system(rm ${FAXDEST}/${tempfax}.tif)
>>> same => n,Hangup
>>>
>>> Many thanks for your suggestion!
>>> Shamus
>>>
>>> ------------------------------
>>>
>>> Message: 4
>>> Date: Sun, 12 Feb 2012 14:47:07 -0500
>>> From: David Kerr <[email protected]>
>>> Subject: Re: [Astlinux-users] fax - command to e-mail attachment
>>> To: AstLinux Users Mailing List <[email protected]>
>>> Message-ID:
>>> <CAJJxGdGcuKJjD0om3ADsv_74=
>> [email protected]>
>>> Content-Type: text/plain; charset="iso-8859-1"
>>>
>>> I have moved the task of emailing received faxes outside of the asterisk
>>> dialplan. Here is how I do it...
>>> In the dialplan...
>>>
>>> [DID_trunk]
>>> ;place following somewhere in your DID dialplan...
>>> exten = fax,1,Gosub(fax-rx,s,1)
>>> exten = fax,n,Hangup()
>>>
>>> [fax-rx]
>>> exten = s,1,NoOp(Receive FAX)
>>> exten =
>>>
>> s,n,Set(emailaddr=${IF(${DB_EXISTS(actionlist/fax${CALLERID(dnid)})}?${DB_RESULT}:${DB(actionlist/fax)})})
>>> exten =
>>>
>> s,n,Set(FAXFILE=/tmp/fax~${CALLERID(NUM)}~${emailaddr}~${FILTER(0123456789,${UNIQUEID})})
>>> exten = s,n,Set(LOCALHEADERINFO=My Name)
>>> exten = s,n,Set(LOCALSTATIONID=My Name)
>>> exten = s,n,ReceiveFAX(${FAXFILE}.tiff) ;Asterisk 1.8
>>> ;exten = s,n,RxFAX(${FAXFILE}.tiff) ;Asterisk 1.4
>>> exten = s,n,Log(NOTICE,New FAX: ${FAXPAGES} page(s) from ${CALLERID(NUM)}
>>> (${REMOTESTATIONID}) to ${CALLERID(dnid)})
>>> exten = s,n,Hangup()
>>> exten = s,n,Return()
>>>
>>>
>>> Notice how the destination email address is pulled from the astdb
>>> actionlist, and that you can have different email destinations based on
>> the
>>> destination in callerid. This email address is then saved as part of the
>>> .tiff filename created in /tmp, along with the CallerID number and a
>> unique
>>> identifier.
>>>
>>> Then I have a task running in the background on my astlinux box. I call
>> it
>>> check_fax...
>>>
>>> #!/bin/bash
>>> #
>>>
>>> background () {
>>> while true;
>>> do
>>> for f in /tmp/*.tiff
>>> do
>>> if [ -f $f ]
>>> then
>>> fuser -s $f
>>> if [ $? -ne 0 ]
>>> then
>>> tiff2pdf -o "${f%\.*}".pdf "$f"
>>> mv -f "$f" /mnt/kd/fax
>>> fi
>>> fi
>>> done
>>>
>>> for f in /tmp/*.pdf
>>> do
>>> if [ -f $f ]
>>> then
>>> cidemail="${f%~*}"
>>> cidemail="${cidemail#*~}"
>>> email="${cidemail#*~}"
>>> cid="${cidemail%~*}"
>>> shortf="${f##*~}"
>>> mv -f "$f" "/tmp/fax-$shortf"
>>> echo "Subject: New FAX from $cid
>>> From: AsteriskPBX
>>> To: $email" | \
>>> mime-pack "New FAX received from $cid" "/tmp/fax-$shortf"
>> "application/pdf"
>>> | \
>>> sendmail -t
>>> rm -f "/tmp/fax-$shortf"
>>> fi
>>> done
>>>
>>> sleep 30
>>> done
>>> }
>>>
>>> background&
>>> echo $! > /tmp/check_fax.pid
>>>
>>> This script is fired of every time astlinux boots by placing it in
>>> rc.local...
>>>
>>> #!/bin/bash
>>> #
>>> # /etc/rc.local - run once at boot time
>>> # Put any local setup commands in here:
>>> # inadyn --input_file /etc/inadyn2.conf
>>> # mkdir /root/usb
>>> /mnt/kd/bin/check_fax
>>>
>>> Looking at the check_fax script... it looks for new faxes (.tiff files)
>> in
>>> /tmp. It converts all .tiff's into .pdf's (and moves the .tiff into
>>> /mnt/kd/fax for backup/archive... you should erase those from
>> time-to-time.
>>> Then for all .pdf's created it emails them to the email address embedded
>>> into the filename. Then erases the .pdf. Then it sleeps for 30 seconds
>>> before checking again for more faxes.
>>>
>>> David.
>>
>>
>> ------------------------------------------------------------------------------
>> Keep Your Developer Skills Current with LearnDevNow!
>> The most comprehensive online learning library for Microsoft developers
>> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
>> Metro Style Apps, more. Free future releases when you subscribe now!
>> http://p.sf.net/sfu/learndevnow-d2d
>> _______________________________________________
>> Astlinux-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/astlinux-users
>>
>> Donations to support AstLinux are graciously accepted via PayPal to
>> [email protected].
>>
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
>
> ------------------------------
>
> _______________________________________________
> Astlinux-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/astlinux-users
>
> Donations to support AstLinux are graciously accepted via PayPal to
> [email protected].
>
> End of Astlinux-users Digest, Vol 67, Issue 9
> *********************************************
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Astlinux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/astlinux-users
Donations to support AstLinux are graciously accepted via PayPal to
[email protected].