Fax2mail: Difference between revisions

From KlavoWiki
Jump to navigationJump to search
No edit summary
 
(25 intermediate revisions by the same user not shown)
Line 3: Line 3:


The latest version of the fax2mail script can be downloaded from [http://www.ocg.ca/generationd/Pages/Downloads/Files.php?downloads=asterisk here].
The latest version of the fax2mail script can be downloaded from [http://www.ocg.ca/generationd/Pages/Downloads/Files.php?downloads=asterisk here].
= CPAN Prerequisite =
For fax2mail to be able to send emails mime-construct requires to be installed.
<pre>
yum -y install perl cpan libyaml perl-YAML perl-Time-HiRes libtiff-tools
cd /usr/src
wget http://search.cpan.org/CPAN/authors/id/R/RO/ROSCH/mime-construct-1.11.tar.gz
tar xzvf mime-construct-1.11.tar.gz
cd mime-construct-1.11
perl Makefile.PL
make install
</pre>
== Patch ==
Install LWP.  For a list of [http://mirrors.cpan.org/ CPAN mirrors]
<pre>
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Bundle::LWP"
</pre>
For mime-construct to be configured correctly on a CentOS installation a patch must be run.
<pre>
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Proc::WaitStat"
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install MIME::Types"
</pre>
== Testing ==
<pre>
mime-construct
</pre>
You should see:
<pre>
mime-construct: no recipients specified
</pre>
Simple email sending
<pre>
mime-construct --to "your@mail.com" --subject 'hi there' --string "test"
</pre>
Email with attachment
<pre>
/usr/local/bin/mime-construct --header 'Sender: MOR_FAX@TEST.COM' --header 'From: MOR_FAX@TEST.COM' --to your@mail.com --subject 'Email test' --file-attach /var/spool/asterisk/faxes/fax_test.pdf
</pre>
= fax extensions =
<pre>
[prifax]
exten => s,1,GotoIf($["${CALLERID(name)}"="${CALLERID(number)}"]?:3)
same  =>  2,Set(CALLERID(name)=)
same  =>  3,AGI(cid-lookup-v4.agi)
same  =>  4,Set(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID})
same  =>  5,Answer()
same  =>  6,Wait(2)
same  =>  7,ReceiveFAX(${FAXFILE}.tif)
exten => h,1,System(/usr/sbin/fax2mail -f ${FAXFILE} --cid-name "${CALLERID(name)}" --cid-number ${CALLERID(num)})
</pre>


= fax2mail v2.3 script =
= fax2mail v2.3 script =
Slight formatting edits to the logfile.
<pre>
<pre>
#!/bin/bash
#!/bin/bash
Line 103: Line 164:
LOGFILE="/var/log/asterisk/faxlog"  #Set to /dev/null to disable logging
LOGFILE="/var/log/asterisk/faxlog"  #Set to /dev/null to disable logging
DATETIME=$(date +"%A, %B %d %Y, at %I:%M %p")
DATETIME=$(date +"%A, %B %d %Y, at %I:%M %p")
FROMEMAIL="Asterisk PBX <asterisk@spinen.com>"
FROMEMAIL="AsterFAX <do-not-reply@mypbx.com>"
DEFAULTTO="info@spinen.com"
DEFAULTTO="myaddress@somewhere.com"


echo >>$LOGFILE
echo >>$LOGFILE
echo $VERSION >>$LOGFILE
echo $VERSION >>$LOGFILE
echo " Triggered on $DATETIME">>$LOGFILE
echo "Triggered on $DATETIME" >>$LOGFILE
echo " Called with $*">>$LOGFILE
echo "Called with $*" >>$LOGFILE


if [ ${#} -le 1 ]; then
if [ ${#} -le 1 ]; then
Line 174: Line 235:
if [ "$FILE" = "" ]; then
if [ "$FILE" = "" ]; then
   echo "Error: A file is required"
   echo "Error: A file is required"
   echo "  No file was given.">>>>$LOGFILE
   echo "  No file was given.">>$LOGFILE
   exit 1;
   exit 1;
fi
fi


echo " CallerID number of fax sender = $CID_NUMBER">>$LOGFILE
echo "         CallerID number of fax sender = $CID_NUMBER">>$LOGFILE
echo " CallerID name of fax sender = $CID_NAME">>$LOGFILE
echo "           CallerID name of fax sender = $CID_NAME">>$LOGFILE
echo " Fax number called = $DEST_EXTEN">>$LOGFILE
echo "                     Fax number called = $DEST_EXTEN">>$LOGFILE
echo " Destination name = $DEST_NAME">>$LOGFILE
echo "                     Destination name = $DEST_NAME">>$LOGFILE
echo " Destination email address = $DEST_EMAIL">>$LOGFILE
echo "             Destination email address = $DEST_EMAIL">>$LOGFILE
echo " Fax file name (without .tif extension) = $FILE">>$LOGFILE
echo "Fax file name (without .tif extension) = $FILE">>$LOGFILE
echo " Attachment format conversion = $FORMAT">>$LOGFILE
echo "         Attachment format conversion = $FORMAT">>$LOGFILE
echo "" >>$LOGFILE


# Correct for missing info
# Correct for missing info
if [ "$CID_NUMBER" = "" ] ; then
if [ "$CID_NUMBER" = "" ] ; then
   CID_NUMBER="<unknown number>"
   CID_NUMBER="<hidden number>"
   echo "   Set CallerID number of fax sender to $CID_NUMBER">>$LOGFILE
   echo "   Set CallerID number of fax sender to $CID_NUMBER">>$LOGFILE
fi
fi
# Must surround in quotes in case name is preceded by a !
# Must surround in quotes in case name is preceded by a !
Line 195: Line 257:
if [ "$CID_NAME" = "" ] ; then
if [ "$CID_NAME" = "" ] ; then
   CID_NAME="<unknown name>"
   CID_NAME="<unknown name>"
   echo "   Set CallerID name of fax sender to $CID_NAME">>$LOGFILE
   echo "     Set CallerID name of fax sender to $CID_NAME">>$LOGFILE
fi
fi
if [ "$DEST_EXTEN" = "" ] ; then
if [ "$DEST_EXTEN" = "" ] ; then
   DEST_EXTEN="<unknown number>"
   DEST_EXTEN="<unknown number>"
   echo "   Set Fax number called to $DEST_EXTEN">>$LOGFILE
   echo "               Set Fax number called to $DEST_EXTEN">>$LOGFILE
fi
fi


Line 205: Line 267:
if [ "$DEST_NAME" = "" ] ; then
if [ "$DEST_NAME" = "" ] ; then
   DEST_NAME=`egrep "^$DEST_EXTEN\s*=>\s*" /etc/asterisk/voicemail.conf | cut -d, -f2`
   DEST_NAME=`egrep "^$DEST_EXTEN\s*=>\s*" /etc/asterisk/voicemail.conf | cut -d, -f2`
   echo "   Set Destination name to $DEST_NAME">>$LOGFILE
   echo "               Set Destination name to $DEST_NAME">>$LOGFILE
fi
fi


Line 214: Line 276:
     DEST_EMAIL=$DEFAULTTO
     DEST_EMAIL=$DEFAULTTO
   fi
   fi
   echo "   Set Destination email address to $DEST_EMAIL">>$LOGFILE
   echo "       Set Destination email address to $DEST_EMAIL">>$LOGFILE
fi
fi
echo "" >>$LOGFILE


SOURCEFILE=$FILE.tif
SOURCEFILE=$FILE.tif
Line 262: Line 326:
esac
esac


echo -n >$INFOFILE
echo "" >$INFOFILE
echo "Dear $DEST_NAME,">>$INFOFILE
echo "Dear $DEST_NAME," >>$INFOFILE
echo >>$INFOFILE
echo "" >>$INFOFILE
echo "You have just received a $COUNT page fax from $CID_NAME <$CID_NUMBER>, at phone number $DEST_EXTEN, on $DATETIME.  The original fax document is attached in $FORMAT format.">>$INFOFILE
echo "You have just received a $COUNT page fax:" >>$INFOFILE
echo >>$INFOFILE
echo "" >>$INFOFILE
echo >>$INFOFILE
echo "    From : $CID_NAME <$CID_NUMBER>" >>$INFOFILE
echo >>$INFOFILE
echo "      To : $DEST_EXTEN" >>$INFOFILE
echo "    Date : $DATETIME" >>$INFOFILE
echo "" >>$INFOFILE
echo "The original fax document is attached in $FORMAT format." >>$INFOFILE
cat $DESTFILE | mime-construct --subpart --attachment fax.$FORMAT --type application/$FORMAT --file - >$FILE.part1
cat $DESTFILE | mime-construct --subpart --attachment fax.$FORMAT --type application/$FORMAT --file - >$FILE.part1
cat $INFOFILE | mime-construct --header "From: $FROMEMAIL" --to $DEST_EMAIL --subject "[PBX]: New fax from $CID_NAME <$CID_NUMBER>" --subpart-file $FILE.part1 --file -
cat $INFOFILE | mime-construct --header "From: $FROMEMAIL" --to $DEST_EMAIL --subject "[PBX]: New fax from $CID_NAME <$CID_NUMBER>" --subpart-file $FILE.part1 --file -
echo "  E-mailed file to $DEST_EMAIL">>$LOGFILE
echo "  E-mailed file to $DEST_EMAIL">>$LOGFILE


# Delete the destination file
# Delete the source and destination file
echo "  Removing destination file $DESTFILE">>$LOGFILE
echo "  Removing destination file $DESTFILE">>$LOGFILE
rm -f $DESTFILE
rm -f $DESTFILE
echo "  Removing source file $SOURCEFILE">>$LOGFILE
rm -f $SOURCEFILE


# Exit with OK status code
# Exit with OK status code
Line 299: Line 372:
# exit with failure code
# exit with failure code
exit $RETVAL
exit $RETVAL
</pre>
== Installation ==
<pre>
wget http://klaverstyn.com.au/david/asterisk/files/fax2mail -O /usr/sbin/fax2mail
chmod +x /usr/sbin/fax2mail
mkdir /var/spool/asterisk/fax
</pre>
</pre>


[[Category : Asterisk]]
[[Category : Asterisk]]

Latest revision as of 03:35, 18 November 2014

What is fax2mail

A bash script to accept inbound faxes and forward them (in PDF/EPS/TIFF format) to the desired email addresses. This script links to Asterisk PBX.

The latest version of the fax2mail script can be downloaded from here.

CPAN Prerequisite

For fax2mail to be able to send emails mime-construct requires to be installed.

yum -y install perl cpan libyaml perl-YAML perl-Time-HiRes libtiff-tools

cd /usr/src
wget http://search.cpan.org/CPAN/authors/id/R/RO/ROSCH/mime-construct-1.11.tar.gz
tar xzvf mime-construct-1.11.tar.gz
cd mime-construct-1.11
perl Makefile.PL
make install 

Patch

Install LWP. For a list of CPAN mirrors

PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Bundle::LWP"

For mime-construct to be configured correctly on a CentOS installation a patch must be run.

PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Proc::WaitStat"
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install MIME::Types"

Testing

mime-construct

You should see:

mime-construct: no recipients specified

Simple email sending

mime-construct --to "your@mail.com" --subject 'hi there' --string "test"

Email with attachment

/usr/local/bin/mime-construct --header 'Sender: MOR_FAX@TEST.COM' --header 'From: MOR_FAX@TEST.COM' --to your@mail.com --subject 'Email test' --file-attach /var/spool/asterisk/faxes/fax_test.pdf

fax extensions

[prifax]
exten => s,1,GotoIf($["${CALLERID(name)}"="${CALLERID(number)}"]?:3)
same  =>   2,Set(CALLERID(name)=)
same  =>   3,AGI(cid-lookup-v4.agi)
same  =>   4,Set(FAXFILE=/var/spool/asterisk/fax/${UNIQUEID})
same  =>   5,Answer()
same  =>   6,Wait(2)
same  =>   7,ReceiveFAX(${FAXFILE}.tif)

exten => h,1,System(/usr/sbin/fax2mail -f ${FAXFILE} --cid-name "${CALLERID(name)}" --cid-number ${CALLERID(num)})

fax2mail v2.3 script

Slight formatting edits to the logfile.

#!/bin/bash
#=========================================================================|
#                                                                         |
# File: fax2mail                                                          |
# Type: BASH script                                                       |
# Summary: fax to E-Mail helper application for asterisk PBX              |
# Description: fax2mail is a helper application which sits between        |
#   asterisk and a MTA.  Is is designed to be called by asterisk upon the |
#   receipt of a new fax.  It will forward the received fax to the email  |
#   address of choice, and will convert the file the one of several       |
#   formats.                                                              |
#                                                                         |
#=========================================================================|
#                                                                         |
# Usage:                                                                  |
#   fax2mail allows these parameters from asterisk as follows:            |
#     -p = To attach in pdf format (default)                              |
#     -e = To attach in eps format                                        |
#     -t = To attach in tif format                                        |
#     -f = absolute path to file w/out .tif extension                     |
#     --cid-name <CID Name> = Set CID Name of caller to <CID Name>        |
#     --cid-number <CID Number> = Set CID Number of caller to <CID Number>|
#     --dest-exten <Exten Called> = Used to look up destination info      |
#         from voicemail.conf.                                            |
#     --dest-email <Destination Email> = Used to send teh email to.       |
#         optional if --dest-exten is provided so that the email address  |
#         can be looked up in voicemail.conf                              |
#                                                                         |
#=========================================================================|
#                                                                         |
# Examples:                                                               |
#   fax2mail -f /absolute/path/file                                       |
#     file.tif in /absolute/path/ would be coverted to a pdf and sent to  |
#     the email address specified in the "DEFAULTTO" global variable      |
#   fax2mail -f /absolute/path/file --dest-exten 100                      |
#     file.tif in /absolute/path/ would be converted to a pdf and sent to |
#     the email address associated with the exten 100 in voicemail.conf   |
#   fax2mail -t -f /absolute/path/file --dest-email user@domain.tld       |
#     file.tif in /absolute/path/ would be emailed in tif format to       |
#     user@domain.tld                                                     |
#                                                                         |
#=========================================================================|
#                                                                         |
#  Astrerisk config:                                                      |
#    [default]                                                            |
#    ...Unimportant stuff removed for this...                             |
#    ;Detected fax call                                                   |
#    exten => fax,1,Goto(fax,s,1)                                         |
#                                                                         |
#    [fax]                                                                |
#    exten => s,1,Macro(recvfax)                                          |
#    exten => h,1,System('/usr/bin/fax2mail --cid-number "${CALLERIDNUM}" |
#             --cid-name "${CALLERIDNAME}" --dest-exten "${INIT_EXTEN}"   |
#             -f "${FAXFILE}"')                                           |
#    NOTE: INIT_EXTEN has to be set with something similar to...          |
#          exten => s,n,Set(INIT_EXTEN=${EXTEN})                          |
#                                                                         |
#  [macro-recvfax]                                                        |
#    ;                                                                    |
#    ;  Receive incoming fax macro:                                       |
#    ;                                                                    |
#    exten => s,1,Set(FAXFILE=/var/spool/asterisk/fax/${STRFTIME(${EPOCH} |
#              ,,%Y%m%M%S)}-${CALLERIDNUM}-${INIT_EXTEN})                 |
#    exten => s,2,rxfax(${FAXFILE}.tif)                                   |
#                                                                         |
#=========================================================================|
#                                                                         |
# Dependencies:                                                           |
#   This application requires asterisk, ast_fax, app_rxfax, tifflib       |
#   mime-construct                                                        |
#                                                                         |
#=========================================================================|
#                                                                         |
# Author:                                                                 |
#   Designed and written by Michelle Dupuis on October 7, 2005            |
#   Michelle can be reached at support@ocgca                              |
#   This script and other related tools are available for download        |
#   at www.generationd.com                                                |
#                                                                         |
#=========================================================================|
#                                                                         |
# DATE         VER  AUTHOR        DESCRIPTION                             |
# Oct 7 2005   1.0  M Dupuis      Original coding                         |
# Oct 9 2005   1.8  M Dupuis      Better parameter & email checking       |
# Oct 23 2005  1.9  M Dupuis      Syntax error fixes, hand ! in ID name   |
# Oct 25 2005  2.0  M Dupuis      Improved page count mechanism           |
# Nov 23 2006  2.1  J Puckett     Generalized the script & pulled vars    |
#                                 from voicemail.conf                     |
# Nov 29 2006  2.2  J Puckett     Made grep use regex to find exten and   |
#                                 modified documentation                  |
# May 1 2008   2.3  Asif Iqbal    Fix comment error, fix double redirect  |
#                                                                         |
#=========================================================================|

VERSION="fax2mail v2.3"
LOGFILE="/var/log/asterisk/faxlog"  #Set to /dev/null to disable logging
DATETIME=$(date +"%A, %B %d %Y, at %I:%M %p")
FROMEMAIL="AsterFAX <do-not-reply@mypbx.com>"
DEFAULTTO="myaddress@somewhere.com"

echo >>$LOGFILE
echo $VERSION >>$LOGFILE
echo "Triggered on $DATETIME" >>$LOGFILE
echo "Called with $*" >>$LOGFILE

if [ ${#} -le 1 ]; then
  echo "Usage: $CMD_SCRIPT [-p | -e | -t] -f File [--cid-name <CID Name>] [--cid-number <CID Number>] [--dest-exten <Extension Called>] [--dest-name <Destination Name>] [--dest-email <Destination Email>]"
  echo "  No parameters were given.">>$LOGFILE
  exit 1;
fi

CID_NAME=""
CID_NUMBER=""
DEST_NAME=""
DEST_EMAIL=""
DEST_EXTEN=""
FILE=""
FORMAT="pdf"

while [ ${#} -gt 0 ]; do
  case "${1}" in
    "--cid-name" )
      CID_NAME=${2}
      shift
      ;;

    "--cid-number" )
      CID_NUMBER=${2}
      shift
      ;;

    "--dest-name" )
      DEST_NAME=${2}
      shift
      ;;

    "--dest-email" )
      DEST_EMAIL=${2}
      shift
      ;;
    "--dest-exten" )
      DEST_EXTEN=${2}
      shift
      ;;
    "--file" | "-f" )
      FILE=${2}
      shift
      ;;

    "-e" )
      FORMAT="eps"
      ;;

    "-t" )
      FORMAT="tif"
      ;;

    "-p" )
      FORMAT="pdf"
      ;;

  esac

  shift
done

if [ "$FILE" = "" ]; then
  echo "Error: A file is required"
  echo "  No file was given.">>$LOGFILE
  exit 1;
fi

echo "         CallerID number of fax sender = $CID_NUMBER">>$LOGFILE
echo "           CallerID name of fax sender = $CID_NAME">>$LOGFILE
echo "                     Fax number called = $DEST_EXTEN">>$LOGFILE
echo "                      Destination name = $DEST_NAME">>$LOGFILE
echo "             Destination email address = $DEST_EMAIL">>$LOGFILE
echo "Fax file name (without .tif extension) = $FILE">>$LOGFILE
echo "          Attachment format conversion = $FORMAT">>$LOGFILE
echo "" >>$LOGFILE

# Correct for missing info
if [ "$CID_NUMBER" = "" ] ; then
  CID_NUMBER="<hidden number>"
  echo "   Set CallerID number of fax sender to $CID_NUMBER">>$LOGFILE
fi
# Must surround in quotes in case name is preceded by a !

if [ "$CID_NAME" = "" ] ; then
  CID_NAME="<unknown name>"
  echo "     Set CallerID name of fax sender to $CID_NAME">>$LOGFILE
fi
if [ "$DEST_EXTEN" = "" ] ; then
  DEST_EXTEN="<unknown number>"
  echo "               Set Fax number called to $DEST_EXTEN">>$LOGFILE
fi

# Get destination name if empty
if [ "$DEST_NAME" = "" ] ; then
  DEST_NAME=`egrep "^$DEST_EXTEN\s*=>\s*" /etc/asterisk/voicemail.conf | cut -d, -f2`
  echo "                Set Destination name to $DEST_NAME">>$LOGFILE
fi

# Get destination email if empty
if [ "$DEST_EMAIL" = "" ] ; then
  DEST_EMAIL=`grep "^$DEST_EXTEN\s*=>\s*" /etc/asterisk/voicemail.conf | cut -d, -f3-`
  if [ "$DEST_EMAIL" = "" ] ; then
    DEST_EMAIL=$DEFAULTTO
  fi
  echo "       Set Destination email address to $DEST_EMAIL">>$LOGFILE
fi

echo "" >>$LOGFILE

SOURCEFILE=$FILE.tif
DESTFILE=$FILE.$FORMAT
INFOFILE=$FILE.txt
if [ -e $SOURCEFILE ]
  then
  echo "  Fax file $SOURCEFILE found.">>$LOGFILE

  # Read data from TIFF file
  PAGES=$(tiffinfo $SOURCEFILE | grep "Page" | cut -d " " -f 1)
  DT=$(tiffinfo $SOURCEFILE | grep "Date")
  DTFAX=${DT#*:}
  COUNT=${PAGES#*-}
  if [ -z $COUNT ]
  then
    # If didn't find a page count, use the number of occurrences of "spandsp"
    COUNT=$(grep -c "spandsp" $SOURCEFILE)
    if [ -z $COUNT ]
    then
      COUNT="<unknown>"
    fi
  fi

# Do any conversions requested
case "$FORMAT" in
  # Check if PDF conversion required
  "pdf" )
    tiff2pdf -f -p letter $SOURCEFILE > $DESTFILE
    #I like to keep around for a few days & use tmpwatch to clean up
#    rm -f $SOURCEFILE
    echo "  Converted $SOURCEFILE to $DESTFILE.">>$LOGFILE
    ;;

  # Check if EPS conversion required
  "eps" )
    tiff2ps -2eaz -w 8.3 -h 11.7 $SOURCEFILE > $DESTFILE
#    rm -f $SOURCEFILE
    echo "  Converted $SOURCEFILE to $DESTFILE.">>$LOGFILE
    ;;

  # Default to leave as tif
  *)
    echo "  No conversion of $SOURCEFILE required.">>$LOGFILE
    ;;
esac

echo "" >$INFOFILE
echo "Dear $DEST_NAME," >>$INFOFILE
echo "" >>$INFOFILE
echo "You have just received a $COUNT page fax:" >>$INFOFILE
echo "" >>$INFOFILE
echo "     From : $CID_NAME <$CID_NUMBER>" >>$INFOFILE
echo "       To : $DEST_EXTEN" >>$INFOFILE
echo "     Date : $DATETIME" >>$INFOFILE
echo "" >>$INFOFILE
echo "The original fax document is attached in $FORMAT format." >>$INFOFILE
cat $DESTFILE | mime-construct --subpart --attachment fax.$FORMAT --type application/$FORMAT --file - >$FILE.part1
cat $INFOFILE | mime-construct --header "From: $FROMEMAIL" --to $DEST_EMAIL --subject "[PBX]: New fax from $CID_NAME <$CID_NUMBER>" --subpart-file $FILE.part1 --file -
echo "  E-mailed file to $DEST_EMAIL">>$LOGFILE

# Delete the source and destination file
echo "  Removing destination file $DESTFILE">>$LOGFILE
rm -f $DESTFILE

echo "  Removing source file $SOURCEFILE">>$LOGFILE
rm -f $SOURCEFILE




# Exit with OK status code
RETVAL=0

# Else tif file is missing
else
echo "  Fax file $SOURCEFILE not found.">>$LOGFILE
echo -n > $INFOFILE
echo "Dear $DEST_NAME,">>$INFOFILE
echo >>$INFOFILE
echo "You have just received a fax attempt from $CID_NAME <$CID_NUMBER>, at phone number $DEST_EXTEN, on $DATETIME.  There was a problem receiving the fax.">>$INFOFILE
echo >>$INFOFILE
echo >>$INFOFILE
cat $INFOFILE | mime-construct --header "From: $FROMEMAIL" --to $DEST_EMAIL --subject "[PBX]: Failed fax attempt from $CID_NAME <$CID_NUMBER>" --file -
echo "  "E-mailed warning to $DEST_EMAIL >>$LOGFILE
RETVAL=1
fi
# Delete the temporary message file
rm -f $FILE.part1
rm -f $INFOFILE
echo >>$LOGFILE
# exit with failure code
exit $RETVAL

Installation

wget http://klaverstyn.com.au/david/asterisk/files/fax2mail -O /usr/sbin/fax2mail
chmod +x /usr/sbin/fax2mail
mkdir /var/spool/asterisk/fax