XFERFAXLOG(${MANNUM4_5})

NAME
xferfaxlog - HylaFAX activity log

DESCRIPTION
The file etc/xferfaxlog contains information about inbound and outbound activities. The file contains one line per inbound facsimile document or outbound job. The file also contains one line per expired job and one line per job submitted. If the modem config setting LogCalls is set to true, then the file also contains one line per received call. Lines are fixed-format, tab-separated ASCII strings. Each record of a facsimile transmission is of the form:

date SEND commid modem jobid jobtag sender ``dest-number'' ``CSI'' params #pages jobtime conntime ``reason'' ``faxname'' ``faxnumber'' <null> ``owner'' ``dcs'' jobinfo

A facsimile document reception record is of the form:

date RECV commid modem qfile <null> fax ``local-number'' ``TSI'' params #pages jobtime conntime ``reason'' ``CIDName'' ``CIDNumber'' ``callid'' <null> ``dcs'' <null>

Call records are of the form:

date CALL commid modem <null> <null> fax ``local-number'' ``<null>'' 0 0 jobtime conntime ``<null>'' ``CIDName'' ``CIDNumber'' ``callid'' ....

Each facsimile document retrieved by polling has a record of the form:

date POLL commid modem jobid jobtag sender ``dest-number'' ``TSI'' params #pages jobtime conntime ``reason'' ``faxname'' ``faxnumber'' <null>

An alphanumeric pager request has a record of the form:

date PAGE commid modem jobid jobtag sender ``dest-number'' ``<null>'' 0 0 jobtime conntime ``reason'' <null> <null> ``owner'' <null> jobinfo

Expired job records are of the form:

date UNSENT ``<null>'' ``<null>'' jobid ....

Job submission records are of the form:

date SUBMIT ``<null>'' ``<null>'' jobid ....

The following describes the fields in the above records:

date
    The date and time of the transaction in the format MM/DD/YY HH:MM , where MM is the numeric month, DD the numeric day, YY the last two digits of the year, and HH:MM is the time in 24-hour format.

commid
    The communication identifier for the call.

modem
    The device identifier for the modem that was used to do the send or receive.

jobid
    The job number for outbound calls.

jobtag
    The client-specified job tag for outbound calls.

qfile
    The associated queue file for the event.

sender
    The sender/receiver's electronic mailing address (facsimile receptions are always attributed to the ``fax'' user).

dest-number
    The phone number dialed for outgoing calls.

TSI The Transmitter Subscriber Identification string (as received) for incoming calls.

CSI The Caller Subscriber Identification string of the remote machine (as reported) for outgoing calls.

local-number
    The local phone number on which the data was received.

params
    The negotiated facsimile session parameters used for transferring data encoded as described below.

#pages
    The total number of pages transferred.

jobtime
    The duration of the session; in the format HH:MM:SS. This time includes setup overhead and any time spent cleaning up after a call.

conntime
    The time spent on the phone; in the format HH:MM:SS. This should be the time used by the PTT to calculate usage charges.

reason
    A string that indicates if any problem occurred during the session.

CIDName
    The received CIDName value for the session.

CIDNumber
    The received CIDNumber value for the session.

owner
    The login name of the job owner.

callid
    The CallID values other than CIDName and CIDNumber formatted by ``::'' delimiters.

dcs The T.30 DCS string that was used in the facsimile communication.

jobinfo
    Other formatted information about the job: totpages, ntries, ndials, totdials, maxdials, tottries, and maxtries separated by slashes (``/'')

Note that fields may have embedded blanks. Session parameters are encoded as a decimal number that contains a packed set of Class 2 session parameter values. The format is found in the source code in the Class2Params::decode function. The page counts are always integral numbers. Partial pages that are to be retransmitted are not included in the page count.

The simple ASCII format was designed to be easy to process with programs like awk(1).

If an executable named ${SPOOL}/etc/FaxAccounting exists then it will be executed every time a record is written to etc/xferfaxlog. The record fields will each serve as separate command arguments. This is designed to allow attachment to external databases and other accounting mechanisms. In earlier versions of HylaFAX FaxAccounting would block the HylaFAX process invoking it; however, this is no longer the case.

NOTES
The sender field does not necessarily represent the submitter's actual identity. For example, it reflects the value given by the sendfax(${MANNUM1_8}) ``-f'' option. Be cautious that this field is not utilized for auditing if the fax user base is not trusted. Use owner instead, if possible.

BUGS
The date format will ``break'' in the year 2000. Information should be recorded on a per-page basis for facsimile communications.

SEE ALSO
faxq(${MANNUM1_8}) faxsend(${MANNUM1_8}) faxgetty(${MANNUM1_8})