Hylafax Mailing List Archives
|
[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
Re: [hylafax-users] Automatic fax printing....!?!
>>>Fax received and calling '/var/spool/fax/bin/faxrcvd
>>>"recvq/fax00001.tif" "faxCAPI" "00000002" "" "+49 40 77291010" "" "50"'.
>>
>>faxrcvd is called with 7 parameters. This is the case since version 4.1.3.
>
>
> I thought if it would really affect this issue, when there is a $FILE
> then print it to the printer mentioned in the script. is that right?
Yes, printing should work anyway, the $5 / $7 issue affects only the
routing based on the MSN.
>
>
>>>My faxrcvd script looks like this ( where i've included a line
>>>/usr/bin/tiff2ps -a $FILE | /usr/bin/lpr -P Verkauf to print the
>>>incoming fax)
>>>
>>>#! /bin/sh
>>># $Id: faxrcvd.sh.in,v 1.1 2001/04/15 03:48:16 darren Exp $
>>>#
>>># faxrcvd file devID commID error-msg destination
>>>#
>>>if [ $# -lt 5 ]; then
>>> echo "Usage: $0 file devID commID error-msg destination"
>>> exit 1
>>>fi
>
>
> Should I change 5 to 7 here as well ?
As there are minimum 5 parameters passed to faxrcvd you can change it or
leave it as is, it will work in both cases.
>
>
>>Your faxrcvd-script just demands 5 parameters!
>>You have a version conflict.
>>
>
>
> I'm not sure where lies the version conflict or between what? I've
> installed hylafax 4.1 and capi4hylafax for SuSe 7.3. Faxes are send
> using the command sendfax.
>
The conflict is that the number of parameters, that faxrcvd expects, has
been changed from 5 to 7. Since you use an older version of hylafax,
where only 5 parameters were passed to the script, but a newer version
of C4H (i assume), that already uses 7, the old faxrcvd script doesn't
get the correct variables as expected. The MSN has in earlier versions
been $5 and is now $7. New $5 and $6 are CIDNumber and CIDName.
This is, i think, documented in the C4H installation instructions.
>
>>>test -f etc/setup.cache || {
>>> SPOOL=`pwd`
>>> cat<<EOF
>>>
>>>FATAL ERROR: $SPOOL/etc/setup.cache is missing!
>>>
>>>The file $SPOOL/etc/setup.cache is not present. This
>>>probably means the machine has not been setup using the faxsetup(8C)
>>>command. Read the documentation on setting up HylaFAX before you
>>>startup a server system.
>>>
>>>EOF
>>> exit 1
>>>}
>>>. etc/setup.cache
>>>
>>>INFO=$SBIN/faxinfo
>>>FAX2PS=$TIFFBIN/fax2ps
>>>TOADDR=FaxMaster
>>>#
>>># There is no good portable way to find out the fully qualified
>>># domain name (FQDN) of the host or the TCP port for the hylafax
>>># service so we fudge here. Folks may want to tailor this to
>>># their needs; e.g. add a domain or use localhost so the loopback
>>># interface is used.
>>>#
>>>HOSTNAME=`hostname` # XXX no good way to find FQDN
>>>PORT=4559 # XXX no good way to lookup service
>>>
>>>FILE="$1"
>>>DEVICE="$2"
>>>COMMID="$3"
>>>MSG="$4"
>>>
>>>if [ -f $FILE ]; then
>>> #
>>> # Check the sender's TSI and setup to dispatch
>>> # facsimile received from well-known senders.
>>> #
>>> SENDER="`$INFO $FILE | $AWK -F: '/Sender/ { print $2 }'
>>>2>/dev/null`"
>>> SENDTO=
>>> if [ -f bin/FaxDispatch ]; then
>>> . bin/FaxDispatch # NB: FaxDispatch sets SENDTO based on $5
>>> fi
>>> (echo "To: $TOADDR"
>>> echo "From: The HylaFAX Receive Agent <fax>"
>>> echo "Subject: facsimile received from $SENDER";
>>> echo ""
>>> echo "$FILE (ftp://$HOSTNAME:$PORT/$FILE):"; $INFO -n $FILE
>>> echo "ReceivedOn: $DEVICE"
>>> if [ "$MSG" ]; then
>>> echo ""
>>> echo "The full document was not received because:"
>>> echo ""
>>> echo " $MSG"
>>> echo ""
>>> echo " ---- Transcript of session follows ----"
>>> echo ""
>>> if [ -f log/c$COMMID ]; then
>>> $SED -e '/-- data/d' \
>>> -e '/start.*timer/d' -e '/stop.*timer/d' \
>>> log/c$COMMID
>>> elif [ -n "$COMMID" ]; then
>>> echo " No transcript available (CommID c$COMMID)."
>>> else
>>> echo " No transcript available."
>>> fi
>>> else
>>> echo "CommID: c$COMMID (ftp://$HOSTNAME:$PORT/log/c$COMMID)"
>>> fi
>>> if [ -n "$SENDTO" ]; then
>>> echo ""
>>> echo "The facsimile was automatically dispatched to: $SENDTO."
>>> else
>>> /usr/bin/tiff2ps -a $FILE | /usr/bin/lpr -P Verkauf
>>> fi
>
>
> I tried the above statement earlier as well.
>
>
>>> ) | 2>&1 $SENDMAIL -ffax -oi $TOADDR
>>> if [ -n "$SENDTO" ]; then
>>> (MIMEBOUNDARY="NextPart$$"
>>> echo "Mime-Version: 1.0"
>>> echo "Content-Type: Multipart/Mixed; Boundary=\"$MIMEBOUNDARY\""
>>> echo "Content-Transfer-Encoding: 7bit"
>>> echo "To: $SENDTO"
>>> echo "From: The HylaFAX Receive Agent <fax>"
>>> echo "Subject: facsimile received from $SENDER";
>>> echo ""
>>> echo "--$MIMEBOUNDARY"
>>> echo "Content-Type: text/plain; charset=us-ascii"
>>> echo "Content-Transfer-Encoding: 7bit"
>>> echo ""
>>> echo "$FILE (ftp://$HOSTNAME:$PORT/$FILE):"; $INFO -n $FILE
>>> echo "ReceivedOn: $DEVICE"
>>> if [ "$MSG" ]; then
>>> echo ""
>>> echo "The full document was not received because:"
>>> echo ""
>>> echo " $MSG"
>>> echo ""
>>> echo " ---- Transcript of session follows ----"
>>> echo ""
>>> if [ -f log/c$COMMID ]; then
>>> $SED -e '/-- data/d' \
>>> -e '/start.*timer/d' -e '/stop.*timer/d' \
>>> log/c$COMMID
>>> elif [ -n "$COMMID" ]; then
>>> echo " No transcript available (CommID c$COMMID)."
>>> else
>>> echo " No transcript available."
>>> fi
>>> else
>>> echo "CommID: c$COMMID (ftp://$HOSTNAME:$PORT/log/c$COMMID)"
>>> fi
>>> echo ""
>>> echo "--$MIMEBOUNDARY"
>>> echo "Content-Type: application/postscript"
>>> echo "Content-Description: FAX document"
>>> echo "Content-Transfer-Encoding: 7bit"
>>> echo ""
>>> $FAX2PS $FILE 2>/dev/null
>>> echo ""
>>> echo "--$MIMEBOUNDARY--"
>>> ) | 2>&1 $SENDMAIL -ffax -oi $SENDTO
>>> fi
>>>else
>>> #
>>> # Generate notification mail for a failed attempt.
>>> #
>>> (echo "To: $TOADDR"
>>> echo "From: The HylaFAX Receive Agent <fax>"
>>> echo "Subject: facsimile not received"
>>> echo ""
>>> echo "An attempt to receive facsimile on $DEVICE failed because:"
>>> echo ""
>>> echo " $MSG"
>>> echo ""
>>> echo " ---- Transcript of session follows ----"
>>> echo ""
>>> if [ -f log/c$COMMID ]; then
>>> $SED -e '/-- data/d' \
>>> -e '/start.*timer/d' -e '/stop.*timer/d' \
>>> log/c$COMMID
>>> elif [ -n "$COMMID" ]; then
>>> echo " No transcript available (CommID c$COMMID)."
>>> else
>>> echo " No transcript available."
>>> fi
>>> ) | 2>&1 $SENDMAIL -ffax -oi $TOADDR
>>>fi
>>>
>>>Even after that i don't get any fax printer to this printer. Then I
>>>tried the FaxDispatch script as told in reply to my mail;
>>>
>>>#! /bin/sh
>>># Dispatch fax to email depending on own MSN or extention (ISDN lines)
>>># sourced from faxrcvd
>>>#
>>>if [ "$5" != "" ]; then
>>> PHONEMATCH=$5\$
>>
>>use $7 here.
>
>
> Ok I'll do that. Isn't this to assign the username to $SENDTO ?
Yes. This hint was according to the fact that you don't get email. A
mail to FaxMaster should be sent anyway.
The FaxDispatch should be located in bin-directory on SuSE distribution.
HylaFax standard is etc-directory.
>
>>> USERENTRY=`grep -v "^#" etc/users | grep "$PHONEMATCH"`
>>> if [ "$USERENTRY" != "" ]; then
>>> USERNAME=`echo $USERENTRY | awk '{print $1}'`
>>> SENDTO="$USERNAME"
>>> fi
>>>fi
>>># Dispatch fax to the shared network printer
>>>case "$DEVICE" in
>>>faxCAPI) /usr/bin/tiff2ps -a $FILE | lpr -PVerkauf
Do you have a ";;" at the end of the statement?
>>
>>Is it a postscript printer?
>
>
> Yes. I can do this to print the fax file manually to the printer. Does
> the above statement to change $5 to $7 affect this?
No.
Is it printing if you call the faxrcvd manually with the parameters in
the log? Can you print manually as user "fax"?
Hope this helps.
--
Holger
____________________ HylaFAX(tm) Users Mailing List _______________________
To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
On UNIX: mail -s unsubscribe hylafax-users-request@hylafax.org < /dev/null
*To learn about commercial HylaFAX(tm) support, mail sales@hylafax.org.*