HylaFAX The world's most advanced open source fax server

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

[hylafax-users] fax batching



I just was reminded by another HylaFAX administrator that fax batching (faxq support, faxsend capability was added in 4.2.0 without any way to queue a batch) was included in 4.2.1, and that reminded me that I wanted to make a few comments about it to everyone so that there was a general awareness of how fax batching works.

Fax batching is the sending of two or more different fax jobs to the same destination in one call.

When a modem becomes available for faxq to allocate a job to it faxq will go through the rest of the queue looking for other jobs to the same destination. It will then "batch" all of these jobs together, provided that there is not a job of a higher priority to a different destination that should precede the additional jobs. Then faxq will invoke faxsend for the entire batch of jobs.

Batching was done this way primarily because it was the most straight-forward approach with the way that faxq and faxsend currently function together. There really wasn't a feasible way to get faxq to send another job to faxsend after faxsend had already been invoked. Likewise, there really wasn't an easy way to get faxsend to "look back" into the queue for other jobs, because faxq does not prepare them until it is ready to allocate the job to a modem.

I think that this is okay, though. One of the nice things that this does is that it provides a limit to how many jobs can be batched together: it is limited to the number in the queue at the time. This prevents a modem from being tied up indefinitely while faxing an infinite set of batched jobs. The downside to this, of course, is that if multiple jobs are submitted to hfaxd in rapid succession that they will only be batched after faxq can no longer allocate modems to them as they come in (so that when a modem does become available they all then are already in the queue). The workaround to this is to send them all with a set time-to-send that will occur after all of them are already in the queue. In any case, I don't expect this to be too much of an annoyance. Fax batching was mainly intended for busy outbound servers where all of the outbound modems are regularly in-use and many jobs frequently are sent to the same destination as others. Most of the rest of the community will likely never notice that fax batching exists.

In the fax protocol fax documents are "batched" (tied together) by the EOM signal, which tells the receiver that "one document has ended and that another one is coming". This usage of the EOM signal is consistent with the T.30 specification and is consistent with how many other fax products work. Unfortunately, there were some typos in some of the older revisions of the T.30 recommendation that caused some issues with the compatibility of the EOM signal with various fax equipment (for the curious, this is another one of the shortcomings in some older USR Class 2.0 firmware). For this reason there is an "info" setting called "supportsBatching" (see 'man hylafax-info'). If, for some reason, we encounter a problem when trying to send batched faxes to a destination and the problem appears to be a result of batching, then batching to that destination will be disabled via the supportsBatching info entry for that destination, and no further calls to that destination will be batched.

As I don't administer any servers where fax batching is really used much (I don't run any servers as I described above), I would certainly appreciate feedback on how well or how poorly fax batching support works for you.

Lee.

____________________ 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@xxxxxxxxxxx < /dev/null
 *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*




Project hosted by iFAX Solutions