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.*



Home
Report any problems to webmaster@hylafax.org

HylaFAX is a trademark of Silicon Graphics Corporation.
Internet connectivity for hylafax.org is provided by:
VirtuALL Private Host Services