HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug in Hylafax with FPTS ? (Retrain problem)



Hi all,

I had a problem with an Olitec modem which have a Rockwell chip.
This modem can't do the copy quality checking.

When receiving a fax it returns FPTS:2,2219,0,0 to the sender after
the AT+FDR command is issued. As you can read in the 'Modem Bugs and
Gotchas'
on the hylafax web site, the modems based on a rockwell chip (Suprafax,
Olitec, ...)
return a total nonsense AT+FPTS message...
For my modem it always returns +FPTS: 2,2219,0,0 whereas the fax is
good. And It results
in an error on the fax machine sender :(

As it is Hylafax which does the quality checking it should modify the
FPTS message to say
to the sender the fax is good. As I could read in the "Supra/Rockwell
Class 2 documentation":

  "The DCE holds the post page response message to the remote facsimile
station (MCF, etc.), represented
  in the +FPTS parameter until the next +FDR command. The DTE may modify
the +FPTS parameter before
  issuing the +FDR command which releases that message. The DTE must
issue a +FDR command to release
  Post Page Messages."

But Hylafax doesn't send the FPTS command to the modem :(
I think this is a bug (I'm right ?).
Here's the modification I've done in the Class 2 driver of Hylafax.

Function recvPage file Class2Recv.C++
     ...
     if (ppr & 1)   // page good, work complete
    {
         class2Cmd(ptsCmd, ppr);   // Added this function call to send
the FPTS computed by Hylafax
         return (TRUE);
    }
} while (!hostDidCQ || class2Cmd(ptsCmd, ppr));
bad:
    ...

What do you think of this modification ? It works for me...
I join the patch of my modification.

Thanks for your advices.

Regards,
Benoit Foucher.
-----------------------------------
Imprimerie Vincent
29 av Charles Bedaux
37042 Tours Cedex
FRANCE
Index: hylafax/faxd/Class2Recv.c++
diff -c hylafax/faxd/Class2Recv.c++:1.1 hylafax/faxd/Class2Recv.c++:1.2
*** hylafax/faxd/Class2Recv.c++:1.1	Thu Feb 11 15:38:27 1999
--- hylafax/faxd/Class2Recv.c++	Tue Mar  9 15:26:39 1999
***************
*** 218,224 ****
--- 218,227 ----
  	    recvResetPage(tif);		// reset to overwrite data
  	tracePPR("RECV send", ppr);
  	if (ppr & 1)			// page good, work complete
+ 	  {
+ 	    class2Cmd(ptsCmd, ppr);
  	    return (TRUE);
+ 	  }
      } while (!hostDidCQ || class2Cmd(ptsCmd, ppr));
  bad:
      if (hangupCode[0] == 0)



Project hosted by iFAX Solutions