-
réception de fax
Bonjour,
je n'est plus de problème avec les fax depuis la version 1.8 d'Asterisk.
j'ai peu être déjà poster le script zhs que j'utilise pour la réception sur des numéros sda dédiés.
ce script route les fax soit par mail, soit directement sur des copieurs/imprimantes
++++++++
#!/bin/zsh
tmpfile=$(mktemp)
# Conversion vers pdf dans fichier temporaire
tiffile=$1
tiff2pdf -p A4 $tiffile > $tmpfile
u=(${(s._.)tiffile})
dest=$u[2]
case $dest in
(4321) emele=email1@example.org dest1=mailer
;;
(5432) emele=email1@example.org dest1=mailer
;;
(6543) copieur=copieur-lieu1 dest1=printer
;;
(7654) copieur=copieur-lieu2 dest1=printer
;;
(*) copieur=copieur-lieu1 dest1=printer
;;
esac
if [[ $dest1 == printer ]] then
# Ajout d'un entête (date origine n° de page)
# création d'un pdf contenant la ou les entêtes
pages=`pdfinfo $tmpfile | grep -E 'Pages:'| grep -E -o '[[:digit:]]{1,}'`
tmpps=$(mktemp)
tmpheader=$(mktemp)
if [[ $pages == 1 ]] then
echo "%!PS-Adobe-1.0
%%DocumentMedia: A4 595 842 0 () ()
%%Orientation: Portrait
%%Pages: (atend)
%%DocumentFonts: Times-Roman Helvetica
%%EndComments
%%EndProlog
%%Page: 1 2
0 setgray
15 822 moveto
/Courier-Bold findfont 12 scalefont setfont
("`date +"%d/%m/%Y %X"`" "$2" pages=1) true charpath
0.5 setlinewidth
gsave
1 setgray fill
grestore
stroke
newpath
515 822 moveto
/Courier-Bold findfont 12 scalefont setfont
(Page: 1\/1) true charpath
0.5 setlinewidth
gsave
1 setgray fill
grestore
stroke
showpage
%%Trailer
%%Pages: 1">$tmpps
ps2pdf $tmpps $tmpheader
else
echo "%!PS-Adobe-1.0
%%DocumentMedia: A4 595 842 0 () ()
%%Orientation: Portrait
%%Pages: (atend)
%%DocumentFonts: Times-Roman Helvetica
%%EndComments
%%EndProlog
%%Page: 1 "$pages"
15 822 moveto
/Courier-Bold findfont 12 scalefont setfont
("`date +"%d/%m/%Y %X"`" "$2") true charpath
0.5 setlinewidth
gsave
1 setgray fill
grestore
stroke
newpath
515 822 moveto
/Courier-Bold findfont 12 scalefont setfont
(Page: 1\/"$pages") true charpath
0.5 setlinewidth
gsave
1 setgray fill
grestore
stroke
showpage">$tmpps
for i in {2..$pages};
do
echo "%%Page: "$i" "$pages"
15 822 moveto
/Courier-Bold findfont 12 scalefont setfont
("`date +"%d/%m/%Y %X"`" "$2") true charpath
0.3 setlinewidth
gsave
1 setgray fill
grestore
stroke
newpath
515 822 moveto
/Courier-Bold findfont 12 scalefont setfont
(Page: "$i"\/"$pages") true charpath
0.3 setlinewidth
gsave
1 setgray fill
grestore
stroke
showpage">>$tmpps;
done
echo "%%Trailer
%%Pages: "$pages>>$tmpps
ps2pdf $tmpps $tmpheader
fi
# fusion des entêtes avec le fax
tmpfusion=$(mktemp)
pdftk $tmpfile multistamp $tmpheader output $tmpfusion
# Envoi par FTP
autoload -U zfinit
zfinit
zfopen $copieur user password
zftp type I
zfput "$tmpfusion"
# Nettoyage fichiers temporaires
rm $tmpfile $tmpps $tmpheader $tmpfusion
elif [[ $dest1 == mailer ]] then
# Envoi par mail
# sous debian utiliser le paquet heirloom-mailx
# bsd-mailx ne gére pas les attachements
tmppdf=/tmp/${tiffile:t:r}.pdf
mv $tmpfile $tmppdf
tmpfile2=$(mktemp)
echo "Vous avez reçu le fax joint depuis le $2
SG/DSI
">$tmpfile2
env MAILRC=/dev/null from=faxmaster@domaine.example.org smtp=smtp.example.org /usr/bin/mailx -n -s "fax2mail" -a "$tmppdf" $emele<$tmpfile2
# Nettoyage fichiers temporaires
rm $tmppdf $tmpfile2
fi
++++++
pour asterisk, une macro en ael
++++++
macro m_recept_fax ( ext ) {
Set(CDR(amaflags)=DOCUMENTATION);
_FAXDEST=${ext};
_FAXFICHIER="/var/spool/asterisk/tmp/fax_${FAXDEST}_${UNIQUEID}";
Answer(9000);
Set(FAXOPT(localstationid=3312345${FAXDEST}));
Set(FAXOPT(headerinfo="Identifiant du fax"));
ReceiveFAX(${FAXFICHIER}.tif,dfs);
Congestion(10);
// Noop(Fichier ${FAXFICHIER}.tif reçu);
catch fax {
ReceiveFAX(${FAXFICHIER}.tif,dfs);
Congestion(10);
Noop(Fichier ${FAXFICHIER.tif} reçu);
// Hangup();
}
catch h {
// NoOp(result: ${FAXOPT(status)});
if("${FAXOPT(status)}" = "SUCCESS") {
AGI(fax.zsh,${FAXFICHIER}.tif,${FAXOPT(remotestati onid)});
}
}
return;
}
+++++++++
cordialement
Règles de messages
- Vous ne pouvez pas créer de nouvelles discussions
- Vous ne pouvez pas envoyer des réponses
- Vous ne pouvez pas envoyer des pièces jointes
- Vous ne pouvez pas modifier vos messages
-
Règles du forum