What really happens when you fax (1 of many)

Class 1

(a quick editorial comment.  Duncan wrote this, primarily to get familiar with what happens during faxing so he could answer questions in the newsgroup. Oddly enough, this venture made him decide to stay away from faxing, and we haven't seen him in the fax newsgroup since.)

The CCITT TR29.2 committee accepted the Class 1 standard for faxing in 1988.  At the same time the Class 2 standard was voted on, but not accepted.  Some software and hardware manufacturers then unofficially adopted the Class 2 standard.  Since the unofficial Class 2 standard was so widely used, the CCITT TR29.2 committee declared the official Class 2 standard would be designated as Class 2.0. 

In the Class 1 standard, most of the work of sending the fax is done by the application.  In class 2 and 2.0, the modems handle a large part of the negotiation.

In this tech tip, I will focus on the Class 1 standard (Class 2 and Class 2.0 will be visited in later documents).

Before getting into the details of a Class 1 fax transmission, here are a few quirks about faxing to keep in mind.

bulletThe only time you are operating at the requested baud rate is when the training data is sent and during page transmissions.  For the negotiations, other baud rates (usually 300 baud) are used.
bulletCarrier will not be maintained for the entire duration.  It is dropped and restarted frequently during a fax.  This means that the DCD line is not relevant.
bulletThe traditional lines (RTS, CTS, etc) used in serial communications either have no meaning or may have different meanings in faxing.
bulletThe receiver is not required t respond while page data is being sent.
bulletError checking is minimal at best.

These quirks in the faxing protocol can lead to some rather interesting behavior.   Since carrier is dropped and raised many times during a fax session and is not actually required during the page send, you can end up with a situation in which the connection has dropped and the sender keeps on sending the fax with no way of realizing what happened.

Sending a fax

The process of sending a fax using the Class 1 standard can be broken into six steps: configuring your modem for faxing, dialing, negotiation, sending a page, ending the page, and hanging up.  

Configuring your modem for faxing

To set up your fax to send or receive according to the class 1 standard, you need to send the command:

AT+FCLASS=1

Dialing

After setting the fax class, the dialing is accomplished by sending the ATDTxxxxx command.  When you dial with the intention of faxing, it will automatically assume a baud rate of 300 baud.  This is the rate that is used for negotiating the fax.

Negotiation

In the negotiation stage, things are starting to get a little tricky.  Once the connection is made, the remote fax will send the NSF frame.  The NSF frame contains user requirements that are not part of the fax class 1 standard.  After receiving the NSF frame, the sender will send the AT+FRH=3 command.

The +FRH and +FTH (receive and transmit HDLC) commands are used for negotiating the fax session.  The parameter specified on the command determines the baud rate that will be used as well as the training time required and some assumptions about the hardware involved. 

+FRH= value

Baud Rate

3

300

24

2400

48

4800

72

7200

96

9600

121

12000

145

14400

Not all fax machines are required to support all the baud rates.  Only the lower ones are required.  The normal baud rate for the negotiations is 300 baud, so you will see +FRH=3 and +FTH=3 more any of the other values.

When the +FRH command is sent, the carrier is dropped (you may receive a NO CARRIER from the modem at this point) and is raised again at the new baud rate (You should receive a CONNECT from the modem at this point).  In addition, the +FRH command tells the other end that it should send some information.  There is now parameter to +FRH that indicates what information should be sent.  What you get depends on where you are in the faxing process.

After the AT+FRH=3 command is sent in response to receiving the NSF frame, the remote fax will then send the CSI (Call Station ID) frame.  This frame is transmitted backwards.  The local fax will send AT+FRH=3 again causing the remote fax to send the DIS (Digital Identification Signal) frame.  The DIS frame contains a bitmask that describes the capabilities of fax sender and receiver.  The contents of the DIS frame are:

Bit Number

Meaning

1

Transmitter T.2 Operation

2

Receiver T.2 Operation

3

T.2, IOC = 176

4

Transmitter T.3 Operation

5

Receiver T.3 Operation

6-8

Reserved for future T.3 features

9

Transmitter RS 465 Operation

10

Receiver RS 465 Operation

11-12

Baud Rate

0, 0

2400 baud

0, 1

4800 baud

1, 0

7200 baud

1, 1

9600 baud

13-14

Reserved

15

Vertical resolution is 7.7 lines per millimeter

16

Two-dimensional coding capability

17

Maximum paper width is 256mm

18

Maximum paper width is 297mm

19

Maximum paper width is 364mm

20

Unlimited paper length

21-23

Scan time

0,0,0

20msec

0,0,1

40msec

0,1,0,

10msec

0,1,1

5msec

1,0,0

10msec

1,0,1

20msec

1,1,0

40msec

1,1,1

0msec (APRO uses this)

24

Extend field

25

2400 baud handshaking

26

Uncompressed data

27-31

Unassigned

32

Extend field

At this point, we will transmit the AT+FTH=3 which will cause the remote fax to drop the carrier twice.  The modem will reply with CONNECT when it is time for us to send the information.  The first time we will send the TSI frame.  The second time we will send the DCS frame.  After the last frame has been sent, we will send the AT+FTS=8 (fax transmit silence – it will transmit 80ms of silence) command.  This command will drop the carrier and wait 80ms.

After waiting 80ms, we can send the training data.  This is just a series of NULLS lasting for 1.5 seconds plus or minus 10%.  The AT+FTM=xx command is sent to drop the carrier and negotiate a new baud rate (this takes the same parameter for the baud rate as the +FRH command) and after the modem returns “CONNECT”, the training data is sent.  The baud rate used here is the same baud rate that will be used to send the data.

After the training data has been sent, the AT+FRH=3 command is sent again and then we get the CFR frame.

Sending a page

Finally, after all the negotiations, we can send a page of the fax.  Compared to the fax negotiation, this is easy. 

First we will send the AT+FTM=xx command to drop the carrier and negotiate the baud rate.  After the modem replies with CONNECT, and we can transmit the page. 

Ending the page

After the page has been sent, send the AT+FTS=8 command to wait 80ms and then the AT+FTH=3 command to drop the drop the speed to 300 baud.  When we get the “CONNECT” response from the modem, we can send the end of page frame. 

After sending the last line of a page frame, we send the AT+FRH=3 command so that we can receive the MCF frame.  The MCF frame is the receiver telling the sender whether it received the page successfully or not.  Once we have received that frame, we send the AT+FTH=3 command, when the modem responds with “CONNECT”, we can send the DCN frame.

The “Sending a page” and “Ending a page” steps will be performed for each page of the fax.

Hanging up

This is probably the easiest step of the entire process.  Just send the ATH0 command to the modem to hang it up.

Receiving a fax

Receiving a fax is very similar to the sending process.  Again, it can be broken into six steps: configuring your modem for faxing, answering, negotiation, receiving a page, ending the page, and hanging up.  

Configuring your modem for faxing

This step is the same as it is for sending a fax, send the AT+FCLASS=1 command to your modem.

Answering

After configuring your modem for Class 1 faxing, answering the call is just like answering a data call.  APRO will wait for a “RING” response from the modem indicating an incoming call.  It will then send the ATA command to tell the modem to answer the call.

Negotiation

As with sending, when the connection is made, we will assume it was made at 300 baud.  We will send the NSF frame and drop and the modem to connect twice.  The first reconnect, we will send the CSI frame, the second we will send the DSI frame. 

After sending the required frames, send the AT+FRH=3 and receive the TSI frame.  Send the AT+FRH=3 command again, and send the DCS frame. 

Now, we can send the AT+FRM=xx command to set the baud rate for receiving the training data.  Wait for the CONNECT; when we get it, it will be followed by the training data, then the carrier will drop.  Once that happens, Send the AT+FTH=3 command, and send the CFR frame.

Receiving a page

Receiving a page is fairly simple. Send the AT+FRM=xx command to receive data.  The data will follow once the modems reconnect.  After the page is sent, the carrier will drop.

Ending the page

Once the carrier drops after receiving a page, send the AT+FRH=3 command and wait for the EOP frame.  Once the EOP frame has been received, send the AT+FTH=3 command and send the MCF frame.  After that, send the AT+FRH=3 command and wait for the DCN frame.

Hanging up

This is probably the easiest step of the entire process.  We send the ATH0 command to the modem to hang it up.

Summary of Class 1 fax commands

Here is a summary of all the commands used by the Class 1 faxing standard.

+FCLASS

The +FCLASS command is used for inquiring and setting the fax class. 

If you call it with an AT+FCLASS?, the modem will return the current state of the modem.  For example, a return value of 1 indicates the modem is ready for Class 1 faxing.

Response

Meaning

0

Data Modem

1

Class 1

1.0   

Reserved

2

Manufacturer specific (Class 2)

2.0   

Class 2.0

4

Reserved

8

Voice DCE

If you call it with an AT+FCLASS=?, the modem will return a comma separated list of supported fax classes.  For example, a modem might return “0,1” to indicate data and class 1 faxing.

The AT+FCLASS=x value will set the modem to use the specified fax class.

+FTS and +FRS

The +FTS and +FRS commands will transmit and receive silence respectively.  They take a single parameter that specifies the tens of milliseconds of silence that is expected.  For example, AT+FTS=8 will transmit 80ms of silence.  After transmitting silence, an OK is returned from the modem.  When receiving silence, an OK will be returned only if the expected amount of silence is heard on the line.

+FTH and +FRH

These commands are used at 300 baud to handle all the negotiation between the two faxes.

The +FTH command will cause data framed in the HDLC protocol to be transmitted at the baud rate specified.  The end of the data transmitted is indicated by the <DLE><ETX> characters. 

+FRH= value

Baud Rate

3

300

24

2400

48

4800

72

7200

96

9600

121

12000

145

14400

The +FRH command will receive data framed in the HDLC protocol at the specified baud rate.

+FTM and +FRM

The +FTM and +FRM commands transmit and receive the fax respectively.  They will set the baud rate to the parameter specified (AT+FRM=96 to receive a fax at 9600 baud).  The <DLE> <ETX> characters will indicate the end of the data.  After the fax as has finished, the carrier will be dropped.

There is really no error checking at all while the page is sending or being received.

+FCERROR and +F4

The +FCERROR is used to indicate when a carrier other than what is expected on a +FTM, +FRM, +FTH or +FRH command is found.

+FMI, +FMM and +FMR

The +FMI, +FMM and +FMR commands are used to request information about the modem.  AT+FMI? will request the manufacturer, AT+FMM? will request the model, and AT+FMR? will request the revision number.  The commands are optional and are not supported on all modems.

+FLO

The +FLO is an optional command used to set the flow control.  It takes a single parameter that indicates the flow control:

+FLO=x value

Meaning

0

Turn off XON/XOFF and 133/106 flow control

1

Use XON/XOFF flow control

2

Use CCITT Circuit 133 and 106 for flow control

For example, AT+FLO=0 would turn XON/XOFF off.  +FLO is not supported on all modems and +FLO=2 is very optional.

+FPR

The +FPR command allows the baud rate to be fixed at a specific rate.  This command can be given at the same time as the +FCLASS=1 command.  The command may not be supported on all modems.

+FPR Value

Baud Rate

0

Autobaud (includes 9600 and 19200)

1

2400

2

4800

4

9600

8

19200

10

38400

18

57600

Example: +FPR=0 to set the baud rates to be automatically determined.

How does this show up in the dispatch log?

Now that we have covered the theory, let’s see how the faxing process works from the point of the dispatch log.  You can generate a dispatch log by setting the Logging property of your port to tlOn and then specifying an explicit path and file name for you LogName property.  For faxing, the default log size is too small; you will need to adjust it up (add a couple of zeros to the end of the log size – that should suffice).

In the dispatch logs, the various states of the faxing process are shown on the dispatch log lines with a type field of “Fax”.  Fax class 1 receiving states start with “rf1” and fax class 1 transmitting states start with “tf1”.  The full list of the fax subtypes is in the AwFax.pas unit.

Receiving a fax

APRO v3.03
Compiler : Delphi 5
Operating System : Windows NT 5.0 
Time      Type      SubType       Data      OtherData
--------  --------  ------------  --------  ---------
0000.012  TrDatChg  Avail         00000001  
0000.013  TrgHdAlc  Window        003A0326  
0001.032  User                    00000000  Receive_one_page,_Class1
0001.032  TrDatChg  Avail         00000001  
0001.032  TrigAllc  Timer         00000008  
0001.032  TrigAllc  Timer         00000010  
0001.032  TrigAllc  Status        0000001B  (Output buffer free)
0001.032  TrigAllc  Status        00000024  (Output buffer used)
0001.032  TrigAllc  Status        00000029  (Modem status)
 
The default INIT string sent before all faxes.  If you have a custom modem init, 
it would show up before this one.
 
0001.132  Dispatch  WriteCom      00000001  A
0001.132  Dispatch  WriteCom      00000001  T
0001.132  Dispatch  WriteCom      00000001  E
0001.132  Dispatch  WriteCom      00000001  0
0001.132  Dispatch  WriteCom      00000001  Q
0001.132  Dispatch  WriteCom      00000001  0
0001.132  Dispatch  WriteCom      00000001  V
0001.132  Dispatch  WriteCom      00000001  1
0001.132  Dispatch  WriteCom      00000001  X
0001.132  Dispatch  WriteCom      00000001  4
0001.132  Dispatch  WriteCom      00000001  S
0001.133  Dispatch  WriteCom      00000001  0
0001.133  Dispatch  WriteCom      00000001  =
0001.133  Dispatch  WriteCom      00000001  0
0001.133  Dispatch  WriteCom      00000001  S
0001.133  Dispatch  WriteCom      00000001  2
0001.133  Dispatch  WriteCom      00000001  =
0001.133  Dispatch  WriteCom      00000001  4
0001.133  Dispatch  WriteCom      00000001  3
0001.133  Dispatch  WriteCom      00000001  [0D]
0001.133  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.133  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.149  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
 
Set fax class 1
 
0001.251  Dispatch  WriteCom      00000001  A
0001.251  Dispatch  WriteCom      00000001  T
0001.251  Dispatch  WriteCom      00000001  +
0001.251  Dispatch  WriteCom      00000001  F
0001.251  Dispatch  WriteCom      00000001  C
0001.251  Dispatch  WriteCom      00000001  L
0001.251  Dispatch  WriteCom      00000001  A
0001.251  Dispatch  WriteCom      00000001  S
0001.251  Dispatch  WriteCom      00000001  S
0001.251  Dispatch  WriteCom      00000001  =
0001.251  Dispatch  WriteCom      00000001  1
0001.252  Dispatch  WriteCom      00000001  [0D]
0001.252  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.252  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.262  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
 
Find out what receive modes the modem supports?
 
0001.475  Dispatch  WriteCom      00000001  A
0001.475  Dispatch  WriteCom      00000001  T
0001.475  Dispatch  WriteCom      00000001  +
0001.475  Dispatch  WriteCom      00000001  F
0001.475  Dispatch  WriteCom      00000001  R
0001.475  Dispatch  WriteCom      00000001  M
0001.475  Dispatch  WriteCom      00000001  =
0001.475  Dispatch  WriteCom      00000001  ?
0001.475  Dispatch  WriteCom      00000001  [0D]
 
In this case we support 300 baud, 2400 up to 14400.
 
0001.475  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.487  Dispatch  ReadCom       0000000E  [0D][0A]3,24,48,72,7
0001.494  Dispatch  ReadCom       0000000E  3,74,96,97,98,
0001.503  Dispatch  ReadCom       0000000E  121,122,145,14
0001.509  Dispatch  ReadCom       00000009  6[0D][0A][0D][0A]OK[0D][0A]
0001.509  TrgHdAlc  Procedure     00000000  
0001.509  Fax       rfInit        00000000  
 
We reset the fax class as a safeguard
 
0001.612  Dispatch  WriteCom      00000001  A
0001.612  Dispatch  WriteCom      00000001  T
0001.612  Dispatch  WriteCom      00000001  +
0001.612  Dispatch  WriteCom      00000001  F
0001.612  Dispatch  WriteCom      00000001  C
0001.612  Dispatch  WriteCom      00000001  L
0001.612  Dispatch  WriteCom      00000001  A
0001.612  Dispatch  WriteCom      00000001  S
0001.613  Dispatch  WriteCom      00000001  S
0001.613  Dispatch  WriteCom      00000001  =
0001.613  Dispatch  WriteCom      00000001  1
0001.613  Dispatch  WriteCom      00000001  [0D]
0001.613  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.613  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.613  TrDatChg  Timer         00000010  [12][00][00][00]
0001.624  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0001.624  Trigger   Avail         00000006  
0001.624  Fax       rf1Init1      00000000  
0001.624  Fax       rf1Init1      00000000
 
Wait for the phone to ring
 
0001.624  TrDatChg  Timer         00000008  Deactivated
0002.627  Trigger   Timer         00000010
0002.627  Fax       rfWaiting     00000000
0002.627  TrDatChg  Timer         00000010  [12][00][00][00]
0003.680  Trigger   Timer         00000010
...
0071.644  TrDatChg  Timer         00000010  [12][00][00][00]
0072.647  Trigger   Timer         00000010
0072.647  Fax       rfWaiting     00000000
0072.647  TrDatChg  Timer         00000010  [12][00][00][00]
0073.700  Trigger   Timer         00000010
0073.700  Fax       rfWaiting     00000000  
0073.700  TrDatChg  Timer         00000010  [12][00][00][00]
0074.590  Dispatch  ReadCom       00000008  [0D][0A]RING[0D][0A]
0074.590  Trigger   Avail         00000008
0074.590  Fax       rfWaiting     00000000
0074.590  Fax       rfWaiting     00000000
0074.590  TrDatChg  Timer         00000008  [B6][00][00][00]
0074.590  Fax       rfWaiting     00000000
0074.590  Fax       rfWaiting     00000000
0074.590  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We got a ring, tell the modem to answer the call.
 
0074.590  Fax       rfAnswer      00000000
0074.690  Dispatch  WriteCom      00000001  A
0074.690  Dispatch  WriteCom      00000001  T
0074.690  Dispatch  WriteCom      00000001  A
0074.690  Dispatch  WriteCom      00000001  [0D]
0074.690  TrDatChg  Timer         00000008  [B6][00][00][00]
0074.690  TrDatChg  Timer         00000008  D[04][00][00]
0074.740  Trigger   Timer         00000010
 
Every second, we have a status timer that fires.  You can see
here that it’s taken 5 seconds to see that there is a fax on the other end.
 
0074.740  Fax       rf1SendCSI    00000000
0074.740  TrDatChg  Timer         00000010  [12][00][00][00]
0075.793  Trigger   Timer         00000010
0075.793  Fax       rf1SendCSI    00000000  
0075.794  TrDatChg  Timer         00000010  [12][00][00][00]
0076.847  Trigger   Timer         00000010
0076.847  Fax       rf1SendCSI    00000000  
0076.848  TrDatChg  Timer         00000010  [12][00][00][00]
0077.902  Trigger   Timer         00000010
0077.902  Fax       rf1SendCSI    00000000  
0077.902  TrDatChg  Timer         00000010  [12][00][00][00]
0078.956  Trigger   Timer         00000010
0078.956  Fax       rf1SendCSI    00000000
0078.956  TrDatChg  Timer         00000010  [12][00][00][00]
0079.959  Trigger   Timer         00000010
0079.959  Fax       rf1SendCSI    00000000
0079.959  TrDatChg  Timer         00000010  [12][00][00][00]
 
The local fax acknowledges that the remote is a fax and generates a “CONNECT”.
 
0080.163  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0080.163  Trigger   Avail         0000000B
 
We send the CSI frame (Call Station ID) property.  It is sent backwards.  
In this case we sent “MY STATION ID”.  It is padded to 20 characters and 
ends with an “C” followed by an ETX (0x03) and an 0xFF.
 
0080.163  Fax       rf1SendCSI    00000000  
0080.163  Fax       rf1SendCSI    00000000  
0080.183  Dispatch  WriteCom      00000001  [FF]
0080.183  Dispatch  WriteCom      00000001  [03]
0080.183  Dispatch  WriteCom      00000001  C
0080.183  Dispatch  WriteCom      00000001  [20]
0080.183  Dispatch  WriteCom      00000001  [20]
0080.183  Dispatch  WriteCom      00000001  [20]
0080.183  Dispatch  WriteCom      00000001  [20]
0080.183  Dispatch  WriteCom      00000001  [20]
0080.183  Dispatch  WriteCom      00000001  [20]
0080.183  Dispatch  WriteCom      00000001  [20]
0080.183  Dispatch  WriteCom      00000001  D
0080.184  Dispatch  WriteCom      00000001  I
0080.184  Dispatch  WriteCom      00000001  [20]
0080.184  Dispatch  WriteCom      00000001  N
0080.184  Dispatch  WriteCom      00000001  O
0080.184  Dispatch  WriteCom      00000001  I
0080.184  Dispatch  WriteCom      00000001  T
0080.184  Dispatch  WriteCom      00000001  A
0080.184  Dispatch  WriteCom      00000001  T
0080.184  Dispatch  WriteCom      00000001  S
0080.184  Dispatch  WriteCom      00000001  [20]
0080.184  Dispatch  WriteCom      00000001  Y
0080.184  Dispatch  WriteCom      00000001  M
0080.184  Dispatch  WriteCom      00000001  [10]
0080.184  Dispatch  WriteCom      00000001  [03]
0080.184  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The modems will reconnect after the CSI frame was sent.
 
0081.037  Trigger   Timer         00000010  
0081.037  Fax       rf1SendDIS    00000000  
0081.037  TrDatChg  Timer         00000010  [12][00][00][00]
0082.045  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0082.045  Trigger   Avail         0000000B  
 
Now we send the DIS (Digital Identification Signal) frame.  The DIS 
is a bitmask that describes what our capabilities are. This is not reversed.
 
 
0082.045  Fax       rf1SendDIS    00000000  
0082.045  Fax       rf1SendDIS    00000000  
0082.066  Dispatch  WriteCom      00000001  [FF]
0082.066  Dispatch  WriteCom      00000001  [13]
0082.066  Dispatch  WriteCom      00000001  [80]
0082.066  Dispatch  WriteCom      00000001  [00]
0082.066  Dispatch  WriteCom      00000001  N
0082.066  Dispatch  WriteCom      00000001  [F9]
0082.066  Dispatch  WriteCom      00000001  [00]
0082.066  Dispatch  WriteCom      00000001  [10]
0082.066  Dispatch  WriteCom      00000001  [03]
0082.066  TrDatChg  Timer         00000008  [B6][00][00][00]
0082.066  Trigger   Timer         00000010  
0082.066  Fax       rf1SendDIS    00000000  
0082.066  TrDatChg  Timer         00000010  [12][00][00][00]
 
We get an OK after sending the DIS frame
 
0082.463  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0082.463  Trigger   Avail         00000006  
0082.463  Fax       rf1SendDIS    00000000  
0082.463  Fax       rf1SendDIS    00000000  
 
We send an AT+FRH=3 to set the baud rate to 300 and receive HDLC data.
 
0082.906  Dispatch  WriteCom      00000001  A
0082.906  Dispatch  WriteCom      00000001  T
0082.908  Dispatch  WriteCom      00000001  +
0082.908  Dispatch  WriteCom      00000001  F
0082.908  Dispatch  WriteCom      00000001  R
0082.908  Dispatch  WriteCom      00000001  H
0082.908  Dispatch  WriteCom      00000001  =
0082.908  Dispatch  WriteCom      00000001  3
0082.908  Dispatch  WriteCom      00000001  [0D]
0082.908  TrDatChg  Timer         00000008  [B6][00][00][00]
0082.908  TrDatChg  Timer         00000008  6[00][00][00]
0083.109  Trigger   Timer         00000010  
0083.109  Fax       rf1CollFrms   00000000  
0083.109  TrDatChg  Timer         00000010  [12][00][00][00]
 
We have connected at 300 baud, so the modem sends a “CONNECT”.
 
0083.285  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0083.285  Trigger   Avail         0000000B  
0083.285  Fax       rf1CollFrms   00000000  
0083.285  Fax       rf1CollFrms   00000000  
0083.286  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We start getting HDLC data.  In this case we get the remotes 
station ID: “Kl   719 260 7151“.  Again this is backwards and 
ends with the “C” ETX 0xff.  
 
0083.662  Dispatch  ReadCom       00000001  [FF]
0083.662  Trigger   Avail         00000001  
0083.662  Fax       rf1CollFrms   00000000  
0083.662  Fax       rf1CollFrms   00000000  
0083.689  Dispatch  ReadCom       00000001  [03]
0083.689  Trigger   Avail         00000001  
0083.689  Fax       rf1CollFrms   00000000  
0083.689  Fax       rf1CollFrms   00000000  
0083.716  Dispatch  ReadCom       00000001  C
0083.716  Trigger   Avail         00000001  
0083.716  Fax       rf1CollFrms   00000000  
0083.716  Fax       rf1CollFrms   00000000  
0083.742  Dispatch  ReadCom       00000001  1
0083.742  Trigger   Avail         00000001  
0083.742  Fax       rf1CollFrms   00000000  
0083.742  Fax       rf1CollFrms   00000000  
0083.769  Dispatch  ReadCom       00000001  5
0083.769  Trigger   Avail         00000001  
0083.769  Fax       rf1CollFrms   00000000  
0083.769  Fax       rf1CollFrms   00000000  
0083.796  Dispatch  ReadCom       00000001  1
0083.796  Trigger   Avail         00000001  
0083.796  Fax       rf1CollFrms   00000000  
0083.796  Fax       rf1CollFrms   00000000  
0083.822  Dispatch  ReadCom       00000001  7
0083.822  Trigger   Avail         00000001  
0083.822  Fax       rf1CollFrms   00000000  
0083.822  Fax       rf1CollFrms   00000000  
0083.849  Dispatch  ReadCom       00000001  [20]
0083.849  Trigger   Avail         00000001  
0083.849  Fax       rf1CollFrms   00000000  
0083.849  Fax       rf1CollFrms   00000000  
0083.876  Dispatch  ReadCom       00000001  0
0083.876  Trigger   Avail         00000001  
0083.876  Fax       rf1CollFrms   00000000  
0083.876  Fax       rf1CollFrms   00000000  
0083.902  Dispatch  ReadCom       00000001  6
0083.902  Trigger   Avail         00000001  
0083.902  Fax       rf1CollFrms   00000000  
0083.902  Fax       rf1CollFrms   00000000  
0083.929  Dispatch  ReadCom       00000001  2
0083.929  Trigger   Avail         00000001  
0083.929  Fax       rf1CollFrms   00000000  
0083.929  Fax       rf1CollFrms   00000000  
0083.956  Dispatch  ReadCom       00000001  [20]
0083.956  Trigger   Avail         00000001  
0083.956  Fax       rf1CollFrms   00000000  
0083.956  Fax       rf1CollFrms   00000000  
0083.982  Dispatch  ReadCom       00000001  9
0083.982  Trigger   Avail         00000001  
0083.982  Fax       rf1CollFrms   00000000  
0083.982  Fax       rf1CollFrms   00000000  
0084.010  Dispatch  ReadCom       00000001  1
0084.010  Trigger   Avail         00000001  
0084.010  Fax       rf1CollFrms   00000000  
0084.010  Fax       rf1CollFrms   00000000  
0084.036  Dispatch  ReadCom       00000001  7
0084.036  Trigger   Avail         00000001  
0084.036  Fax       rf1CollFrms   00000000  
0084.036  Fax       rf1CollFrms   00000000  
0084.062  Dispatch  ReadCom       00000001  [20]
0084.062  Trigger   Avail         00000001  
0084.062  Fax       rf1CollFrms   00000000  
0084.062  Fax       rf1CollFrms   00000000  
0084.089  Dispatch  ReadCom       00000001  [20]
0084.089  Trigger   Avail         00000001  
0084.089  Fax       rf1CollFrms   00000000  
0084.089  Fax       rf1CollFrms   00000000  
0084.116  Dispatch  ReadCom       00000001  [20]
0084.116  Trigger   Avail         00000001  
0084.116  Fax       rf1CollFrms   00000000  
0084.116  Fax       rf1CollFrms   00000000  
0084.142  Dispatch  ReadCom       00000001  [20]
0084.142  Trigger   Avail         00000001  
0084.142  Fax       rf1CollFrms   00000000  
0084.142  Fax       rf1CollFrms   00000000  
0084.142  Trigger   Timer         00000010  
0084.142  Fax       rf1CollFrms   00000000  
0084.142  TrDatChg  Timer         00000010  [12][00][00][00]
0084.169  Dispatch  ReadCom       00000001  [20]
0084.169  Trigger   Avail         00000001  
0084.169  Fax       rf1CollFrms   00000000  
0084.169  Fax       rf1CollFrms   00000000  
0084.196  Dispatch  ReadCom       00000001  [20]
0084.196  Trigger   Avail         00000001  
0084.196  Fax       rf1CollFrms   00000000  
0084.196  Fax       rf1CollFrms   00000000  
0084.222  Dispatch  ReadCom       00000001  [20]
0084.222  Trigger   Avail         00000001  
0084.222  Fax       rf1CollFrms   00000000  
0084.222  Fax       rf1CollFrms   00000000  
0084.249  Dispatch  ReadCom       00000001  [20]
0084.249  Trigger   Avail         00000001  
0084.249  Fax       rf1CollFrms   00000000  
0084.249  Fax       rf1CollFrms   00000000  
0084.276  Dispatch  ReadCom       00000001  1
0084.276  Trigger   Avail         00000001  
0084.276  Fax       rf1CollFrms   00000000  
0084.276  Fax       rf1CollFrms   00000000  
0084.302  Dispatch  ReadCom       00000001  K
0084.302  Trigger   Avail         00000001  
0084.302  Fax       rf1CollFrms   00000000  
0084.302  Fax       rf1CollFrms   00000000  
0084.333  Dispatch  ReadCom       00000008  [10][03][0D][0A]OK[0D][0A]
0084.333  Trigger   Avail         00000008  
0084.333  Fax       rf1CollFrms   00000000  
0084.333  Fax       rf1CollFrms   00000000  
0084.333  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We renegotiate to 300 baud (again) and expect to receive HDLC data.
 
0084.373  Dispatch  WriteCom      00000001  A
0084.373  Dispatch  WriteCom      00000001  T
0084.373  Dispatch  WriteCom      00000001  +
0084.373  Dispatch  WriteCom      00000001  F
0084.373  Dispatch  WriteCom      00000001  R
0084.373  Dispatch  WriteCom      00000001  H
0084.373  Dispatch  WriteCom      00000001  =
0084.373  Dispatch  WriteCom      00000001  3
0084.373  Dispatch  WriteCom      00000001  [0D]
0084.373  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The renegotiation was successful
 
0084.386  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0084.386  Trigger   Avail         0000000B  
0084.386  Fax       rf1CollFrms   00000000  
0084.387  TrDatChg  Timer         00000010  [12][00][00][00]
0084.387  Fax       rf1CollFrms   00000000  
0084.387  TrDatChg  Timer         00000008  [B6][00][00][00]
 
This time we will get the bitmask indicating the remotes capabilities.  
This is FF 13 83 00 06 2A 95 00 followed by 10 03 to indicate the end.  This is not reversed.
 
0084.409  Dispatch  ReadCom       00000001  [FF]
0084.409  Trigger   Avail         00000001  
0084.409  Fax       rf1CollFrms   00000000  
0084.409  Fax       rf1CollFrms   00000000  
0084.436  Dispatch  ReadCom       00000001  [13]
0084.436  Trigger   Avail         00000001  
0084.436  Fax       rf1CollFrms   00000000  
0084.436  Fax       rf1CollFrms   00000000  
0084.462  Dispatch  ReadCom       00000001  [83]
0084.462  Trigger   Avail         00000001  
0084.462  Fax       rf1CollFrms   00000000  
0084.462  Fax       rf1CollFrms   00000000  
0084.489  Dispatch  ReadCom       00000001  [00]
0084.489  Trigger   Avail         00000001  
0084.489  Fax       rf1CollFrms   00000000  
0084.489  Fax       rf1CollFrms   00000000  
0084.516  Dispatch  ReadCom       00000001  [06]
0084.516  Trigger   Avail         00000001  
0084.516  Fax       rf1CollFrms   00000000  
0084.516  Fax       rf1CollFrms   00000000  
0084.542  Dispatch  ReadCom       00000001  x
0084.542  Trigger   Avail         00000001  
0084.542  Fax       rf1CollFrms   00000000  
0084.542  Fax       rf1CollFrms   00000000  
0084.569  Dispatch  ReadCom       00000001  [95]
0084.569  Trigger   Avail         00000001  
0084.569  Fax       rf1CollFrms   00000000  
0084.569  Fax       rf1CollFrms   00000000  
0084.595  Dispatch  ReadCom       00000001  [00]
0084.595  Trigger   Avail         00000001  
0084.595  Fax       rf1CollFrms   00000000  
0084.595  Fax       rf1CollFrms   00000000  
0084.623  Dispatch  ReadCom       00000002  [10][03]
0084.623  Trigger   Avail         00000002  
0084.623  Fax       rf1CollFrms   00000000  
0084.623  Fax       rf1CollFrms   00000000  
0084.623  TrDatChg  Timer         00000008  [B6][00][00][00]
 
And the modem gives us an OK.
 
0084.632  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0084.632  Trigger   Avail         00000006  
0084.632  Fax       rf1CollFrms   00000000  
0084.633  TrDatChg  Timer         00000010  [12][00][00][00]
0084.633  Fax       rf1CollFrms   00000000  
 
We are planning on receiving the fax at 9600 baud, so we renegotiate to 
9600 baud in preparation of receiving training data.
 
0084.673  Dispatch  WriteCom      00000001  A
0084.673  Dispatch  WriteCom      00000001  T
0084.673  Dispatch  WriteCom      00000001  +
0084.673  Dispatch  WriteCom      00000001  F
0084.673  Dispatch  WriteCom      00000001  R
0084.673  Dispatch  WriteCom      00000001  M
0084.673  Dispatch  WriteCom      00000001  =
0084.673  Dispatch  WriteCom      00000001  9
0084.673  Dispatch  WriteCom      00000001  6
0084.673  Dispatch  WriteCom      00000001  [0D]
0084.673  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The renegotiation was successful.  We are at 9600 baud.
 
0085.215  Dispatch  ReadCom       0000000E  [0D][0A]CONNECT[0D][0A][FF][FF]
                                            [FF]
0085.215  Trigger   Avail         0000000E  
 
We will get about 1.5 seconds a nulls.  After the connect, we get 5 0xFFs 
followed by a lots of nulls.  I have cut out a large section of the reception 
of the training data. 
 
0085.215  Fax       rf1StrtTrn    00000000  
0085.215  Fax       rf1StrtTrn    00000000  
0085.222  Dispatch  ReadCom       0000000E  [FF][FF][00][00][00][00][00][00]
                                            [00][00][00][00][00][00]
0085.222  Trigger   Avail         00000011  
0085.222  Fax       rf1CollTrn    00000000  
0085.233  Dispatch  ReadCom       0000000E  [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00]
0085.233  Trigger   Avail         0000000E  
0085.233  Fax       rf1CollTrn    00000000  
0085.245  Dispatch  ReadCom       0000000E  [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00]
<snip>
 
0086.528  Trigger   Avail         0000000E  
0086.528  Fax       rf1CollTrn    00000000  
0086.539  Dispatch  ReadCom       0000000E  [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00]
0086.539  Trigger   Avail         0000000E  
0086.539  Fax       rf1CollTrn    00000000  
0086.551  Dispatch  ReadCom       0000000E  [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00]
0086.551  Trigger   Avail         0000000E  
0086.551  Fax       rf1CollTrn    00000000  
0086.563  Dispatch  ReadCom       0000000E  [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00]
0086.563  Trigger   Avail         0000000E  
0086.563  Fax       rf1CollTrn    00000000  
0086.574  Dispatch  ReadCom       0000000E  y[00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00]
0086.574  Trigger   Avail         0000000E  
0086.574  Fax       rf1CollTrn    00000000  
 
The training data terminates with 5 0xFFs followed by B1 BC
 
0086.586  Dispatch  ReadCom       0000000E  [00][F0][FF][FF][FF][FF][FF][B1]
                                            [BC]+[87]H[0E][D2]
0086.586  Trigger   Avail         0000000E  
0086.586  Fax       rf1CollTrn    00000000  
0086.598  Dispatch  ReadCom       0000000E  [AC][FE][C9][C1][CE]z[82]S>[A1]D
                                            [A8][9D][FA]
0086.598  Trigger   Avail         0000000E  
0086.598  Fax       rf1CollTrn    00000000  
0086.610  Dispatch  ReadCom       0000000D  [E0][18]d@$[8D][8E][B2][[90][AA](
                                            [FF]
0086.610  Trigger   Avail         0000000D  
0086.610  Fax       rf1CollTrn    00000000  
0086.637  Dispatch  ReadCom       00000002  [10][03]
0086.637  Trigger   Avail         00000002  
0086.637  Fax       rf1CollTrn    00000000  
0086.647  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The carrier drops.  We have finished training. 
 
0086.647  Dispatch  ReadCom       0000000E  [0D][0A]NO[20]CARRIER[0D][0A]
0086.647  Trigger   Avail         0000000E  
0086.647  Fax       rf1FinTrn     00000000  
0086.647  Fax       rf1FinTrn     00000000  
 
We will drop the speed back down to 300 baud so we can send our response to the training data.
 
0086.707  Dispatch  WriteCom      00000001  A
0086.707  Dispatch  WriteCom      00000001  T
0086.707  Dispatch  WriteCom      00000001  +
0086.707  Dispatch  WriteCom      00000001  F
0086.707  Dispatch  WriteCom      00000001  T
0086.707  Dispatch  WriteCom      00000001  H
0086.708  Dispatch  WriteCom      00000001  =
0086.708  Dispatch  WriteCom      00000001  3
0086.708  Dispatch  WriteCom      00000001  [0D]
0086.708  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We have reconnected at 300 baud.
 
0086.751  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0086.751  Trigger   Avail         0000000B  
 
We send the CFR (Confirmation For Receive) to indicate that we got the training data.
 
0086.751  Fax       rf1SendCFR    00000000  
0086.751  Fax       rf1SendCFR    00000000  
0086.772  Dispatch  WriteCom      00000001  [FF]
0086.772  Dispatch  WriteCom      00000001  [13]
0086.772  Dispatch  WriteCom      00000001  [84]
0086.772  Dispatch  WriteCom      00000001  [10]
0086.772  Dispatch  WriteCom      00000001  [03]
0086.772  TrDatChg  Timer         00000008  [B6][00][00][00]
0086.772  Trigger   Timer         00000010  
0086.772  Fax       rf1SendCFR    00000000  
0086.772  TrDatChg  Timer         00000010  [12][00][00][00]
0087.778  Trigger   Timer         00000010  
0087.778  Fax       rf1SendCFR    00000000  
0087.778  TrDatChg  Timer         00000010  [12][00][00][00]
 
And the fram was sent OK
 
0088.062  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0088.062  Trigger   Avail         00000006  
0088.062  Fax       rf1SendCFR    00000000  
0088.062  Fax       rf1SendCFR    00000000  
 
Now we renegotiate to 9600 baud to get the fax
 
0088.102  Dispatch  WriteCom      00000001  A
0088.102  Dispatch  WriteCom      00000001  T
0088.102  Dispatch  WriteCom      00000001  +
0088.102  Dispatch  WriteCom      00000001  F
0088.102  Dispatch  WriteCom      00000001  R
0088.102  Dispatch  WriteCom      00000001  M
0088.102  Dispatch  WriteCom      00000001  =
0088.102  Dispatch  WriteCom      00000001  9
0088.102  Dispatch  WriteCom      00000001  6
0088.102  Dispatch  WriteCom      00000001  [0D]
0088.102  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We have successfully renegotiated to 9600 baud
 
0088.661  Dispatch  ReadCom       0000000E  [0D][0A]CONNECT[0D][0A][FF][FF]
                                            [FF]
0088.661  Trigger   Avail         0000000E  
0088.661  Fax       rf1WtPgCnnct  00000000  
0088.661  Fax       rf1WtPgCnnct  00000000  
 
We are expecting a page
 
0088.661  Fax       rfStartPage   00000000  
0088.661  TrDatChg  Timer         00000010  [12][00][00][00]
0088.661  TrDatChg  Timer         00000008  [B6][00][00][00]
0088.661  Fax       rfGtPgDta     00000000  
0088.661  TrDatChg  Timer         00000010  [12][00][00][00]
0088.661  TrDatChg  Timer         00000008  [B6][00][00][00]
 
And here it comes.  This is fairly long, so I have cut out most of it.
 
0088.668  Dispatch  ReadCom       0000000E  [FF][FF][FF][FF][FF][FF][FF][FF]
                                            [FF][FF][FF][FF][FF][FF]
0088.668  Trigger   Avail         0000000E  
0088.668  Fax       rfGtPgDta     00000000  
0088.668  TrDatChg  Timer         00000008  [B6][00][00][00]
0088.679  Dispatch  ReadCom       0000000E  [FF][FF][FF][FF][FF][FF][FF][FF]
                                            [FF][FF][FF][FF][FF][FF]
0088.679  Trigger   Avail         0000000E  
0088.679  Fax       rfGtPgDta     00000000  
0088.679  TrDatChg  Timer         00000008  [B6][00][00][00]
0088.691  Dispatch  ReadCom       0000000E  [FF][FF][FF][FF][FF][FF][FF][FF]
                                            [FF][FF][FF][FF][FF][FF]
0088.691  Trigger   Avail         0000000E  
0088.691  Fax       rfGtPgDta     00000000  
0088.691  TrDatChg  Timer         00000008  [B6][00][00][00]
0088.703  Dispatch  ReadCom       0000000E  [FF][FF][FF][FF][FF][FF][FF][FF]
                                            [FF][FF][FF][FF][FF][FF]
0088.703  Trigger   Avail         0000000E  
0088.703  Fax       rfGtPgDta     00000000  
0088.703  TrDatChg  Timer         00000008  [B6][00][00][00]
0088.714  Dispatch  ReadCom       0000000E  [FF][FF][FF][FF][FF][FF][FF][FF]
 
<snip>
                                            [FF][FF][FF][FF][FF][FF]
0108.436  Trigger   Avail         0000000E  
0108.436  Fax       rfGtPgDta     00000000  
0108.436  TrDatChg  Timer         00000008  [B6][00][00][00]
0108.448  Dispatch  ReadCom       0000000E  [00][08][80][00][08][80][00][08]
                                            [80][00][FF][FF][FF][FF]
0108.448  Trigger   Avail         0000000E  
0108.448  Fax       rfGtPgDta     00000000  
0108.448  TrDatChg  Timer         00000008  [B6][00][00][00]
0108.460  Dispatch  ReadCom       0000000E  [FF][FF][FF][FF][FF][FF][FF][FF]
                                            [FF][FF][FF][00][F0][FF]
0108.460  Trigger   Avail         0000000E  
0108.460  Fax       rfGtPgDta     00000000  
0108.460  TrDatChg  Timer         00000008  [B6][00][00][00]
0108.471  Dispatch  ReadCom       0000000E  [FF][FF][FF][7F][D3][A6]Q[E1]$
                                            [CE]b[91]=[8B]
0108.471  Trigger   Avail         0000000E  
0108.471  Fax       rfGtPgDta     00000000  
0108.471  TrDatChg  Timer         00000008  [B6][00][00][00]
0108.483  Dispatch  ReadCom       0000000E  [84][F2][88]S[E1]<[DE]`[CE][F9]h|
                                            [E9][85]
0108.483  Trigger   Avail         0000000E  
0108.483  Fax       rfGtPgDta     00000000  
0108.483  TrDatChg  Timer         00000008  [B6][00][00][00]
0108.491  Dispatch  ReadCom       00000007  $"[E1][E2][A2]|[FF]
0108.491  Trigger   Avail         00000007  
0108.491  Fax       rfGtPgDta     00000000  
0108.491  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The 0x10 0x03 is the end of page marker.
 
0108.514  Dispatch  ReadCom       00000002  [10][03]
0108.514  Trigger   Avail         00000002  
0108.514  Fax       rfGtPgDta     00000000  
0108.514  TrDatChg  Timer         00000008  [B6][00][00][00]
0108.514  Trigger   Timer         00000010  
0108.514  Fax       rf1FinPage    00000000  
0108.515  TrDatChg  Timer         00000010  [12][00][00][00]
 
After the page completes, the carrier will drop
 
0108.521  Dispatch  ReadCom       0000000E  [0D][0A]NO[20]CARRIER[0D][0A]
0108.521  Trigger   Avail         0000000E  
0108.521  Fax       rf1FinPage    00000000  
0108.521  Fax       rf1FinPage    00000000  
 
We drop back down to 300 baud.
 
0108.562  Dispatch  WriteCom      00000001  A
0108.562  Dispatch  WriteCom      00000001  T
0108.562  Dispatch  WriteCom      00000001  +
0108.562  Dispatch  WriteCom      00000001  F
0108.562  Dispatch  WriteCom      00000001  R
0108.562  Dispatch  WriteCom      00000001  H
0108.562  Dispatch  WriteCom      00000001  =
0108.562  Dispatch  WriteCom      00000001  3
0108.562  Dispatch  WriteCom      00000001  [0D]
0108.562  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The speed renegotiation was successful.
 
0108.932  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0108.932  Trigger   Avail         0000000B  
 
The wait EOP here is End of Process.  This is where we find out if there are more pages to receive.
 
0108.932  Fax       rf1WaitEOP    00000000  
0108.932  Fax       rf1WaitEOP    00000000  
0108.932  TrDatChg  Timer         00000008  [B6][00][00][00]
0109.588  Trigger   Timer         00000010  
0109.588  Fax       rf1WaitEOP    00000000  
0109.588  TrDatChg  Timer         00000010  [12][00][00][00]
0109.710  Dispatch  ReadCom       00000001  [FF]
0109.710  Trigger   Avail         00000001  
0109.710  Fax       rf1WaitEOP    00000000  
0109.710  Fax       rf1WaitEOP    00000000  
0109.737  Dispatch  ReadCom       00000001  [13]
0109.737  Trigger   Avail         00000001  
0109.737  Fax       rf1WaitEOP    00000000  
0109.737  Fax       rf1WaitEOP    00000000  
 
The ‘/’ indicates this is the last page.  A ‘0’ would indicate there are more pages to come.
 
0109.764  Dispatch  ReadCom       00000001  /
0109.764  Trigger   Avail         00000001  
0109.764  Fax       rf1WaitEOP    00000000  
0109.764  Fax       rf1WaitEOP    00000000  
0109.791  Dispatch  ReadCom       00000001  3
0109.791  Trigger   Avail         00000001  
0109.791  Fax       rf1WaitEOP    00000000  
0109.791  Fax       rf1WaitEOP    00000000  
0109.817  Dispatch  ReadCom       00000001  f
0109.817  Trigger   Avail         00000001  
0109.817  Fax       rf1WaitEOP    00000000  
0109.817  Fax       rf1WaitEOP    00000000  
 
We get the 0x10 0x03 combination to indicate that there are no more pages.
 
0109.844  Dispatch  ReadCom       00000002  [10][03]
0109.844  Trigger   Avail         00000002  
0109.844  Fax       rf1WaitEOP    00000000  
0109.844  Fax       rf1WaitEOP    00000000  
0109.844  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We get an OK from the modem after the End of Process marker.
 
0109.849  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0109.849  Trigger   Avail         00000006  
0109.849  Fax       rf1WaitEOP    00000000  
0109.849  Fax       rf1WaitEOP    00000000  
0109.849  Fax       rf1WritePage  00000000  
0109.849  TrDatChg  Timer         00000010  [12][00][00][00]
 
We renegotiate to 300 baud and prepare to transmit that we successfully got the page.
 
0109.890  Dispatch  WriteCom      00000001  A
0109.890  Dispatch  WriteCom      00000001  T
0109.890  Dispatch  WriteCom      00000001  +
0109.890  Dispatch  WriteCom      00000001  F
0109.890  Dispatch  WriteCom      00000001  T
0109.890  Dispatch  WriteCom      00000001  H
0109.890  Dispatch  WriteCom      00000001  =
0109.890  Dispatch  WriteCom      00000001  3
0109.890  Dispatch  WriteCom      00000001  [0D]
0109.890  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We have successfully renegotiated the speed.
 
0109.933  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0109.933  Trigger   Avail         0000000B  
0109.933  Fax       rf1SendMCF    00000000  
0109.933  TrDatChg  Timer         00000010  [12][00][00][00]
0109.933  Fax       rf1SendMCF    00000000  
 
Send the MCF (Message Confirmation) frame to indicate the page was successfully received.  
This is also a bitmask with various flags to indicate that we did receive the page ok.
 
0109.953  Dispatch  WriteCom      00000001  [FF]
0109.953  Dispatch  WriteCom      00000001  [13]
0109.953  Dispatch  WriteCom      00000001  [8C]
0109.953  Dispatch  WriteCom      00000001  [10]
0109.953  Dispatch  WriteCom      00000001  [03]
0109.953  TrDatChg  Timer         00000008  [B6][00][00][00]
0111.007  Trigger   Timer         00000010  
0111.007  Fax       rf1SendMCF    00000000  
0111.007  TrDatChg  Timer         00000010  [12][00][00][00]
 
We get an OK from the modem.
 
0111.249  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0111.249  Trigger   Avail         00000006  
0111.249  Fax       rf1SendMCF    00000000  
0111.249  Fax       rf1SendMCF    00000000  
 
We renegotiate to 300 baud and expect to receive the DCN (disconnect) frame.
 
0111.489  Dispatch  WriteCom      00000001  A
0111.489  Dispatch  WriteCom      00000001  T
0111.489  Dispatch  WriteCom      00000001  +
0111.489  Dispatch  WriteCom      00000001  F
0111.489  Dispatch  WriteCom      00000001  R
0111.489  Dispatch  WriteCom      00000001  H
0111.489  Dispatch  WriteCom      00000001  =
0111.489  Dispatch  WriteCom      00000001  3
0111.489  Dispatch  WriteCom      00000001  [0D]
0111.489  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The renegotiation was successful.
 
0111.962  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0111.962  Trigger   Avail         0000000B  
0111.962  Fax       rf1WaitDCN    00000000  
0111.962  TrDatChg  Timer         00000010  [12][00][00][00]
0111.962  Fax       rf1WaitDCN    00000000  
0111.962  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We now start receiving the DCN frame.  This is also a bitmask.  
Like the other frames, it will terminate with an 0x10 0x03.
 
0112.742  Dispatch  ReadCom       00000001  [FF]
0112.742  Trigger   Avail         00000001  
0112.742  Fax       rf1WaitDCN    00000000  
0112.742  Fax       rf1WaitDCN    00000000  
0112.769  Dispatch  ReadCom       00000001  [13]
0112.769  Trigger   Avail         00000001  
0112.769  Fax       rf1WaitDCN    00000000  
0112.769  Fax       rf1WaitDCN    00000000  
0112.795  Dispatch  ReadCom       00000001  [FB]
0112.795  Trigger   Avail         00000001  
0112.795  Fax       rf1WaitDCN    00000000  
0112.795  Fax       rf1WaitDCN    00000000  
0112.822  Dispatch  ReadCom       00000001  [9A]
0112.822  Trigger   Avail         00000001  
0112.822  Fax       rf1WaitDCN    00000000  
0112.822  Fax       rf1WaitDCN    00000000  
0112.848  Dispatch  ReadCom       00000001  [F6]
0112.848  Trigger   Avail         00000001  
0112.848  Fax       rf1WaitDCN    00000000  
0112.848  Fax       rf1WaitDCN    00000000  
 
The modem will respond with an OK.
 
0112.879  Dispatch  ReadCom       00000008  [10][03][0D][0A]OK[0D][0A]
0112.879  Trigger   Avail         00000008  
0112.879  Fax       rf1WaitDCN    00000000  
0112.879  Fax       rf1WaitDCN    00000000  
0112.879  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The faxing is complete, we can now hang up.
 
0112.979  Dispatch  WriteCom      00000001  A
0112.979  Dispatch  WriteCom      00000001  T
0112.979  Dispatch  WriteCom      00000001  H
0112.979  Dispatch  WriteCom      00000001  [0D]
0112.979  TrDatChg  Timer         00000008  [B6][00][00][00]
0112.979  Trigger   Timer         00000010  
0112.979  Fax       rf1WtHngp     00000000  
0112.979  TrDatChg  Timer         00000010  [12][00][00][00]
 
We are disconnected.
 
0113.559  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0113.559  Trigger   Avail         00000006  
0113.559  Fax       rf1WtHngp     00000000  
0113.559  Fax       rf1WtHngp     00000000  
0113.559  Fax       rfComplete    00000000  
0113.559  TrDatChg  Timer         00000010  [12][00][00][00]

 

Sending a fax

APRO v3.03
Compiler : Delphi 5
Operating System : Windows NT 5.0 
Time      Type      SubType       Data      OtherData
--------  --------  ------------  --------  ---------
0000.015  TrDatChg  Avail         00000001  
0000.015  TrgHdAlc  Window        0023037E  
0001.038  User                    00000000  Send_one_page,_Class1
0001.038  TrDatChg  Avail         00000001  
0001.038  TrigAllc  Timer         00000008  
0001.038  TrigAllc  Timer         00000010  
0001.038  TrigAllc  Status        0000001B  (Output buffer free)
0001.038  TrigAllc  Status        00000024  (Output buffer used)
0001.038  TrigAllc  Status        00000029  (Modem status)
 
Send the initialization string to the modem.  If you have a custom modem 
initialization string, it will sent before this one.
 
0001.139  Dispatch  WriteCom      00000001  A
0001.139  Dispatch  WriteCom      00000001  T
0001.139  Dispatch  WriteCom      00000001  E
0001.139  Dispatch  WriteCom      00000001  0
0001.139  Dispatch  WriteCom      00000001  Q
0001.139  Dispatch  WriteCom      00000001  0
0001.139  Dispatch  WriteCom      00000001  V
0001.139  Dispatch  WriteCom      00000001  1
0001.139  Dispatch  WriteCom      00000001  X
0001.140  Dispatch  WriteCom      00000001  4
0001.140  Dispatch  WriteCom      00000001  S
0001.140  Dispatch  WriteCom      00000001  0
0001.140  Dispatch  WriteCom      00000001  =
0001.140  Dispatch  WriteCom      00000001  0
0001.140  Dispatch  WriteCom      00000001  S
0001.140  Dispatch  WriteCom      00000001  2
0001.140  Dispatch  WriteCom      00000001  =
0001.140  Dispatch  WriteCom      00000001  4
0001.140  Dispatch  WriteCom      00000001  3
0001.140  Dispatch  WriteCom      00000001  [0D]
0001.140  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.140  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The modem responds with OK.
 
0001.156  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
 
Set the modem for class 1 faxing
 
0001.256  Dispatch  WriteCom      00000001  A
0001.256  Dispatch  WriteCom      00000001  T
0001.256  Dispatch  WriteCom      00000001  +
0001.256  Dispatch  WriteCom      00000001  F
0001.256  Dispatch  WriteCom      00000001  C
0001.256  Dispatch  WriteCom      00000001  L
0001.257  Dispatch  WriteCom      00000001  A
0001.257  Dispatch  WriteCom      00000001  S
0001.257  Dispatch  WriteCom      00000001  S
0001.257  Dispatch  WriteCom      00000001  =
0001.257  Dispatch  WriteCom      00000001  1
0001.257  Dispatch  WriteCom      00000001  [0D]
0001.257  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.257  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The modem responds with OK.
 
0001.268  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
 
We will see what baud rates the modem supports
 
0001.368  Dispatch  WriteCom      00000001  A
0001.368  Dispatch  WriteCom      00000001  T
0001.368  Dispatch  WriteCom      00000001  +
0001.368  Dispatch  WriteCom      00000001  F
0001.368  Dispatch  WriteCom      00000001  T
0001.368  Dispatch  WriteCom      00000001  M
0001.369  Dispatch  WriteCom      00000001  =
0001.369  Dispatch  WriteCom      00000001  ?
0001.369  Dispatch  WriteCom      00000001  [0D]
0001.369  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.380  Dispatch  ReadCom       0000000E  [0D][0A]3,24,48,72,7
0001.388  Dispatch  ReadCom       0000000E  3,74,96,97,98,
0001.395  Dispatch  ReadCom       0000000E  121,122,145,14
 
This modem supports 300 – 14400 baud.
 
0001.402  Dispatch  ReadCom       00000009  6[0D][0A][0D][0A]OK[0D][0A]
0001.402  TrgHdAlc  Procedure     00000000  
0001.402  Fax       tfGetEntry    00000000  
0001.403  Fax       tfInit        00000000  
0001.453  Trigger   Avail         00000001  
0001.453  Fax       tf1Init1      00000000  
 
We reset the fax class (just to be sure).
 
0001.503  Dispatch  WriteCom      00000001  A
0001.503  Dispatch  WriteCom      00000001  T
0001.503  Dispatch  WriteCom      00000001  +
0001.503  Dispatch  WriteCom      00000001  F
0001.503  Dispatch  WriteCom      00000001  C
0001.503  Dispatch  WriteCom      00000001  L
0001.503  Dispatch  WriteCom      00000001  A
0001.503  Dispatch  WriteCom      00000001  S
0001.503  Dispatch  WriteCom      00000001  S
0001.503  Dispatch  WriteCom      00000001  =
0001.503  Dispatch  WriteCom      00000001  1
0001.504  Dispatch  WriteCom      00000001  [0D]
0001.504  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.504  Fax       tf1Init1      0000000A  
0001.504  TrDatChg  Timer         00000010  [12][00][00][00]
0001.504  TrDatChg  Timer         00000010  [12][00][00][00]
 
We are now using fax class 1
 
0001.515  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0001.515  Trigger   Avail         00000006  
0001.515  Fax       tf1Init1      00000000  
 
We are ready to dial the remote fax.
 
0001.515  Fax       tfDial        00000000  
0001.615  Dispatch  WriteCom      00000001  A
0001.615  Dispatch  WriteCom      00000001  T
0001.615  Dispatch  WriteCom      00000001  D
0001.615  Dispatch  WriteCom      00000001  T
0001.615  Dispatch  WriteCom      00000001  2
0001.615  Dispatch  WriteCom      00000001  6
0001.615  Dispatch  WriteCom      00000001  0
0001.615  Dispatch  WriteCom      00000001  7
0001.615  Dispatch  WriteCom      00000001  1
0001.616  Dispatch  WriteCom      00000001  5
0001.616  Dispatch  WriteCom      00000001  1
0001.616  Dispatch  WriteCom      00000001  [0D]
0001.616  TrDatChg  Timer         00000008  [B6][00][00][00]
0001.616  TrDatChg  Timer         00000008  D[04][00][00]
0002.559  Trigger   Timer         00000010  
 
We’ve dialed and are waiting for the remote to answer.
 
0002.559  Fax       tf1Connect    00000000  
0002.559  TrDatChg  Timer         00000010  [12][00][00][00]
0003.614  Trigger   Timer         00000010  
0003.614  Fax       tf1Connect    00000000  
0003.614  TrDatChg  Timer         00000010  [12][00][00][00]
0004.617  Trigger   Timer         00000010  
0004.617  Fax       tf1Connect    00000000  
0004.617  TrDatChg  Timer         00000010  [12][00][00][00]
0005.671  Trigger   Timer         00000010  
0005.671  Fax       tf1Connect    00000000  
0005.671  TrDatChg  Timer         00000010  [12][00][00][00]
0006.730  Trigger   Timer         00000010  
0006.730  Fax       tf1Connect    00000000  
0006.730  TrDatChg  Timer         00000010  [12][00][00][00]
0007.783  Trigger   Timer         00000010  
0007.783  Fax       tf1Connect    00000000  
0007.783  TrDatChg  Timer         00000010  [12][00][00][00]
0008.802  Trigger   Timer         00000010  
0008.802  Fax       tf1Connect    00000000  
0008.802  TrDatChg  Timer         00000010  [12][00][00][00]
0009.855  Trigger   Timer         00000010  
0009.855  Fax       tf1Connect    00000000  
0009.855  TrDatChg  Timer         00000010  [12][00][00][00]
0010.914  Trigger   Timer         00000010  
0010.914  Fax       tf1Connect    00000000  
0010.915  TrDatChg  Timer         00000010  [12][00][00][00]
0011.970  Trigger   Timer         00000010  
0011.970  Fax       tf1Connect    00000000  
0011.970  TrDatChg  Timer         00000010  [12][00][00][00]
 
We don’t get any indication of any thing until a fax connection is made.
 
0012.164  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0012.165  Trigger   Avail         0000000B  
0012.165  Fax       tf1Connect    00000000  
0012.165  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We start receiving the remote call station ID.  In this case it’s “TURBOPOWER”.  
The call station ID is reversed.
 
0012.908  Dispatch  ReadCom       00000001  [FF]
0012.908  Trigger   Avail         00000001  
0012.908  Fax       tf1Connect    00000000  
0012.934  Dispatch  ReadCom       00000001  [03]
0012.934  Trigger   Avail         00000001  
0012.934  Fax       tf1Connect    00000000  
0012.966  Dispatch  ReadCom       00000001  @
0012.966  Trigger   Avail         00000001  
0012.966  Fax       tf1Connect    00000000  
0012.988  Dispatch  ReadCom       00000001  R
0012.988  Trigger   Avail         00000001  
0012.988  Fax       tf1Connect    00000000  
0012.988  Trigger   Timer         00000010  
0012.988  Fax       tf1Connect    00000000  
0012.988  TrDatChg  Timer         00000010  [12][00][00][00]
0013.014  Dispatch  ReadCom       00000001  E
0013.014  Trigger   Avail         00000001  
0013.014  Fax       tf1Connect    00000000  
0013.041  Dispatch  ReadCom       00000001  W
0013.041  Trigger   Avail         00000001  
0013.041  Fax       tf1Connect    00000000  
0013.067  Dispatch  ReadCom       00000001  O
0013.067  Trigger   Avail         00000001  
0013.067  Fax       tf1Connect    00000000  
0013.094  Dispatch  ReadCom       00000001  P
0013.094  Trigger   Avail         00000001  
0013.094  Fax       tf1Connect    00000000  
0013.121  Dispatch  ReadCom       00000001  O
0013.121  Trigger   Avail         00000001  
0013.121  Fax       tf1Connect    00000000  
0013.148  Dispatch  ReadCom       00000001  B
0013.148  Trigger   Avail         00000001  
0013.148  Fax       tf1Connect    00000000  
0013.174  Dispatch  ReadCom       00000001  R
0013.174  Trigger   Avail         00000001  
0013.174  Fax       tf1Connect    00000000  
0013.201  Dispatch  ReadCom       00000001  U
0013.201  Trigger   Avail         00000001  
0013.201  Fax       tf1Connect    00000000  
0013.227  Dispatch  ReadCom       00000001  T
0013.227  Trigger   Avail         00000001  
0013.227  Fax       tf1Connect    00000000  
0013.254  Dispatch  ReadCom       00000001  [20]
0013.254  Trigger   Avail         00000001  
0013.254  Fax       tf1Connect    00000000  
0013.281  Dispatch  ReadCom       00000001  [20]
0013.281  Trigger   Avail         00000001  
0013.281  Fax       tf1Connect    00000000  
0013.313  Dispatch  ReadCom       00000001  [20]
0013.313  Trigger   Avail         00000001  
0013.313  Fax       tf1Connect    00000000  
0013.335  Dispatch  ReadCom       00000001  [20]
0013.335  Trigger   Avail         00000001  
0013.335  Fax       tf1Connect    00000000  
0013.361  Dispatch  ReadCom       00000001  [20]
0013.361  Trigger   Avail         00000001  
0013.361  Fax       tf1Connect    00000000  
0013.388  Dispatch  ReadCom       00000001  [20]
0013.388  Trigger   Avail         00000001  
0013.388  Fax       tf1Connect    00000000  
0013.414  Dispatch  ReadCom       00000001  [20]
0013.414  Trigger   Avail         00000001  
0013.414  Fax       tf1Connect    00000000  
0013.441  Dispatch  ReadCom       00000001  [20]
0013.441  Trigger   Avail         00000001  
0013.441  Fax       tf1Connect    00000000  
0013.467  Dispatch  ReadCom       00000001  [20]
0013.467  Trigger   Avail         00000001  
0013.468  Fax       tf1Connect    00000000  
0013.494  Dispatch  ReadCom       00000001  [20]
0013.494  Trigger   Avail         00000001  
0013.494  Fax       tf1Connect    00000000  
0013.521  Dispatch  ReadCom       00000001  e
0013.521  Trigger   Avail         00000001  
0013.521  Fax       tf1Connect    00000000  
0013.549  Dispatch  ReadCom       00000001  [E8]
0013.549  Trigger   Avail         00000001  
0013.549  Fax       tf1Connect    00000000  
 
We’ve got the OK from getting the call station ID.
 
0013.578  Dispatch  ReadCom       00000008  [10][03][0D][0A]OK[0D][0A]
0013.578  Trigger   Avail         00000008  
0013.578  Fax       tf1Connect    00000000  
 
We renegotiate the speed to 300 baud so that we can get the remote capabilities bitmask.
 
0013.578  TrDatChg  Timer         00000008  [B6][00][00][00]
0013.618  Dispatch  WriteCom      00000001  A
0013.618  Dispatch  WriteCom      00000001  T
0013.618  Dispatch  WriteCom      00000001  +
0013.618  Dispatch  WriteCom      00000001  F
0013.618  Dispatch  WriteCom      00000001  R
0013.618  Dispatch  WriteCom      00000001  H
0013.618  Dispatch  WriteCom      00000001  =
0013.618  Dispatch  WriteCom      00000001  3
0013.618  Dispatch  WriteCom      00000001  [0D]
0013.618  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The renegotiation of the speed was successful.
 
0013.631  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0013.631  Trigger   Avail         0000000B  
0013.631  Fax       tf1Connect    00000000  
0013.631  TrDatChg  Timer         00000010  [12][00][00][00]
0013.632  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We receive the remote capabilities bitmask.  In this case it’s FF 13 80 00 4E F9 00 30 7B 
followed by a 0x10 0x03 to indicate the end of the data.
 
0013.841  Dispatch  ReadCom       00000001  [FF]
0013.841  Trigger   Avail         00000001  
0013.841  Fax       tf1Connect    00000000  
0013.867  Dispatch  ReadCom       00000001  [13]
0013.867  Trigger   Avail         00000001  
0013.868  Fax       tf1Connect    00000000  
0013.894  Dispatch  ReadCom       00000001  [80]
0013.894  Trigger   Avail         00000001  
0013.894  Fax       tf1Connect    00000000  
0013.921  Dispatch  ReadCom       00000001  [00]
0013.921  Trigger   Avail         00000001  
0013.921  Fax       tf1Connect    00000000  
0013.948  Dispatch  ReadCom       00000001  N
0013.948  Trigger   Avail         00000001  
0013.948  Fax       tf1Connect    00000000  
0013.974  Dispatch  ReadCom       00000001  [F9]
0013.974  Trigger   Avail         00000001  
0013.974  Fax       tf1Connect    00000000  
0014.001  Dispatch  ReadCom       00000001  [00]
0014.001  Trigger   Avail         00000001  
0014.001  Fax       tf1Connect    00000000  
0014.027  Dispatch  ReadCom       00000001  0
0014.028  Trigger   Avail         00000001  
0014.028  Fax       tf1Connect    00000000  
0014.054  Dispatch  ReadCom       00000001  {
0014.054  Trigger   Avail         00000001  
0014.054  Fax       tf1Connect    00000000  
0014.081  Dispatch  ReadCom       00000002  [10][03]
0014.081  Trigger   Avail         00000002  
0014.081  Fax       tf1Connect    00000000  
0014.081  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The modem responds with an OK.
 
0014.089  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0014.089  Trigger   Avail         00000006  
0014.089  Fax       tf1Connect    00000000  
0014.089  TrDatChg  Timer         00000010  [12][00][00][00]
 
We renegotiate to 300 baud so that we can send our call station ID.
 
0014.329  Dispatch  WriteCom      00000001  A
0014.329  Dispatch  WriteCom      00000001  T
0014.329  Dispatch  WriteCom      00000001  +
0014.329  Dispatch  WriteCom      00000001  F
0014.329  Dispatch  WriteCom      00000001  T
0014.329  Dispatch  WriteCom      00000001  H
0014.329  Dispatch  WriteCom      00000001  =
0014.329  Dispatch  WriteCom      00000001  3
0014.329  Dispatch  WriteCom      00000001  [0D]
0014.329  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The renegotiation was successful.
 
0014.370  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0014.370  Trigger   Avail         0000000B  
0014.370  Fax       tf1SendTSI    00000000  
 
We send out the call station ID.  In this case it’s “MY STATION ID”.
 
0014.390  Dispatch  WriteCom      00000001  [FF]
0014.390  Dispatch  WriteCom      00000001  [03]
0014.390  Dispatch  WriteCom      00000001  C
0014.390  Dispatch  WriteCom      00000001  [20]
0014.390  Dispatch  WriteCom      00000001  [20]
0014.390  Dispatch  WriteCom      00000001  [20]
0014.390  Dispatch  WriteCom      00000001  [20]
0014.390  Dispatch  WriteCom      00000001  [20]
0014.390  Dispatch  WriteCom      00000001  [20]
0014.390  Dispatch  WriteCom      00000001  [20]
0014.390  Dispatch  WriteCom      00000001  D
0014.390  Dispatch  WriteCom      00000001  I
0014.391  Dispatch  WriteCom      00000001  [20]
0014.391  Dispatch  WriteCom      00000001  N
0014.391  Dispatch  WriteCom      00000001  O
0014.391  Dispatch  WriteCom      00000001  I
0014.391  Dispatch  WriteCom      00000001  T
0014.391  Dispatch  WriteCom      00000001  A
0014.391  Dispatch  WriteCom      00000001  T
0014.391  Dispatch  WriteCom      00000001  S
0014.391  Dispatch  WriteCom      00000001  [20]
0014.391  Dispatch  WriteCom      00000001  Y
0014.391  Dispatch  WriteCom      00000001  M
0014.391  Dispatch  WriteCom      00000001  [10]
0014.391  Dispatch  WriteCom      00000001  [03]
0014.391  TrDatChg  Timer         00000008  [B6][00][00][00]
0015.121  Trigger   Timer         00000010  
0015.121  Fax       tf1TSIRespns  00000000  
0015.122  TrDatChg  Timer         00000010  [12][00][00][00]
0016.170  Trigger   Timer         00000010  
0016.170  Fax       tf1TSIRespns  00000000  
0016.170  TrDatChg  Timer         00000010  [12][00][00][00]
 
We get a connect to indicate that it is all OK.  The remote could disconnect 
at this point if we were not on its list.  In this case, we would get a 
NO CARRIER and the transmit would fail.
 
0016.221  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0016.221  Trigger   Avail         0000000B  
0016.221  Fax       tf1TSIRespns  00000000  
 
We send out a bitmask indicating our capabilities.
 
0016.243  Dispatch  WriteCom      00000001  [FF]
0016.243  Dispatch  WriteCom      00000001  [13]
0016.243  Dispatch  WriteCom      00000001  [83]
0016.243  Dispatch  WriteCom      00000001  [00]
0016.243  Dispatch  WriteCom      00000001  [06]
0016.243  Dispatch  WriteCom      00000001  [F8]
0016.243  Dispatch  WriteCom      00000001  [00]
0016.243  Dispatch  WriteCom      00000001  [10]
0016.243  Dispatch  WriteCom      00000001  [03]
0016.243  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The modem responds with an OK.
 
0016.646  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0016.646  Trigger   Avail         00000006  
0016.646  Fax       tf1DCSRspns   00000000  
 
We will adjust the speed up to 9600 baud in order to send training data.
 
0016.701  Dispatch  WriteCom      00000001  A
0016.701  Dispatch  WriteCom      00000001  T
0016.701  Dispatch  WriteCom      00000001  +
0016.701  Dispatch  WriteCom      00000001  F
0016.701  Dispatch  WriteCom      00000001  T
0016.701  Dispatch  WriteCom      00000001  M
0016.701  Dispatch  WriteCom      00000001  =
0016.701  Dispatch  WriteCom      00000001  9
0016.701  Dispatch  WriteCom      00000001  6
0016.702  Dispatch  WriteCom      00000001  [0D]
0016.702  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We are at 9600 baud, send the training data.  The training data consists of 1.5 
seconds of nulls.  Some of the training data was removed from this example.
 
0016.737  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0016.737  Trigger   Avail         0000000B  
0016.737  Fax       tf1TrainStrt  00000000  
0016.737  Dispatch  WriteCom      000006C0  [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
 
<snip>
 
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
0016.737  Dispatch  WriteCom      00000001  [10]
0016.737  Dispatch  WriteCom      00000001  [03]
0016.737  TrDatChg  Timer         00000008  [B6][00][00][00]
0017.253  Trigger   Timer         00000010  
 
We wait for the output buffer to empty.
 
0017.253  Fax       tf1TrainFnsh  000006C2  
0017.253  TrDatChg  Timer         00000010  [12][00][00][00]
0018.294  Trigger   Timer         00000010  
0018.295  Fax       tf1TrainFnsh  00000000  
0018.295  TrDatChg  Timer         00000010  [12][00][00][00]
 
All the training data was sent.  We get an OK back.
 
0018.628  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0018.628  Trigger   Avail         00000006  
0018.628  Fax       tf1TrainFnsh  00000000  
 
We will go back to 300 baud and expect the confirmation of the training data.
 
0018.868  Dispatch  WriteCom      00000001  A
0018.868  Dispatch  WriteCom      00000001  T
0018.868  Dispatch  WriteCom      00000001  +
0018.868  Dispatch  WriteCom      00000001  F
0018.868  Dispatch  WriteCom      00000001  R
0018.868  Dispatch  WriteCom      00000001  H
0018.868  Dispatch  WriteCom      00000001  =
0018.868  Dispatch  WriteCom      00000001  3
0018.868  Dispatch  WriteCom      00000001  [0D]
0018.868  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We are at 300 baud.  We will get the CFR (Confirmation For Receive) frame from the remote.
 
0019.249  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0019.249  Trigger   Avail         0000000B  
0019.249  Fax       tf1WaitCFR    00000000  
0019.249  TrDatChg  Timer         00000008  [B6][00][00][00]
0019.299  Trigger   Timer         00000010  
0019.299  Fax       tf1WaitCFR    00000000  
0019.299  TrDatChg  Timer         00000010  [12][00][00][00]
We get the CFR frame.  This is a bitmask that indicates that the remote received the training data.
 
0019.811  Dispatch  ReadCom       00000001  [FF]
0019.811  Trigger   Avail         00000001  
0019.811  Fax       tf1WaitCFR    00000000  
0019.837  Dispatch  ReadCom       00000001  [13]
0019.837  Trigger   Avail         00000001  
0019.837  Fax       tf1WaitCFR    00000000  
0019.864  Dispatch  ReadCom       00000001  [84]
0019.864  Trigger   Avail         00000001  
0019.864  Fax       tf1WaitCFR    00000000  
0019.891  Dispatch  ReadCom       00000001  [EA]
0019.891  Trigger   Avail         00000001  
0019.891  Fax       tf1WaitCFR    00000000  
0019.944  Dispatch  ReadCom       00000001  }
0019.944  Trigger   Avail         00000001  
0019.944  Fax       tf1WaitCFR    00000000  
 
The CFR frame, like the others, ends with the 0x10 0x03.
 
0019.971  Dispatch  ReadCom       00000002  [10][03]
0019.971  Trigger   Avail         00000002  
0019.971  Fax       tf1WaitCFR    00000000  
0019.971  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The modem responds with an OK.
 
0019.977  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0019.977  Trigger   Avail         00000006  
0019.977  Fax       tf1WaitCFR    00000000  
 
We can now go back to 9600 baud in order to send the page data.
 
0020.217  Dispatch  WriteCom      00000001  A
0020.217  Dispatch  WriteCom      00000001  T
0020.217  Dispatch  WriteCom      00000001  +
0020.217  Dispatch  WriteCom      00000001  F
0020.217  Dispatch  WriteCom      00000001  T
0020.217  Dispatch  WriteCom      00000001  M
0020.217  Dispatch  WriteCom      00000001  =
0020.217  Dispatch  WriteCom      00000001  9
0020.217  Dispatch  WriteCom      00000001  6
0020.217  Dispatch  WriteCom      00000001  [0D]
0020.217  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We are back at 9600 baud.
 
0020.253  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0020.253  Trigger   Avail         0000000B  
0020.253  Fax       tf1WaitPgCn   00000000  
0020.253  TrDatChg  Timer         00000008  [12][00][00][00]
0020.353  Trigger   Timer         00000010  
0020.353  Fax       tfWaitXon     00000000  
0020.354  TrDatChg  Timer         00000010  [12][00][00][00]
0021.306  Trigger   Timer         00000008  
0021.306  Fax       tfWaitXon     00000000  
0021.306  TrDatChg  Status        0000001B  [00][10][00][00]
0021.306  TrDatChg  Timer         00000008  D[04][00][00]
0021.306  Trigger   Status        0000001B  
0021.306  Fax       tfWaitFrHead  00000000  
0021.306  Fax       tfSndPgeHdr   00000000  
 
We start sending the page.  This first section is several blank lines (00 80 B2 59 01 00).
 
0021.307  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.307  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.307  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.307  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.307  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.307  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.307  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.307  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
 
We are still sending page stuff.  Some of this has been removed.
 
0021.307  Dispatch  WriteCom      000003BE  [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
 
<snip>
 
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00][00][00]
                                            [00][00][00][00][00][00]
0021.308  Fax       tfPrepPage    000003E8  
0021.308  TrDatChg  Timer         00000008  D[04][00][00]
0021.308  TrDatChg  Status        0000001B  [00][10][00][01]
0021.357  Trigger   Status        0000001B  
0021.357  Fax       tfSendPage    000003E2  
0021.358  TrDatChg  Timer         00000010  [12][00][00][00]
 
There are a couple more blank lines
 
0021.358  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.358  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.358  TrDatChg  Status        0000001B  [00][10][00][01]
 
Wait for the buffer to drain
 
0021.358  Trigger   Status        0000001B  
0021.358  Fax       tfSendPage    000003EE  
0021.359  TrDatChg  Status        0000001B  [00][10][00][01]
0021.409  Trigger   Status        0000001B  
0021.409  Fax       tfSendPage    000003EE  
0021.409  TrDatChg  Status        0000001B  [00][10][00][01]
0021.409  Trigger   Status        0000001B  
0021.409  Fax       tfSendPage    000003EE  
0021.409  TrDatChg  Status        0000001B  [00][10][00][01]
0021.459  Trigger   Status        0000001B  
0021.459  Fax       tfSendPage    000003EE  
0021.459  TrDatChg  Status        0000001B  [00][10][00][01]
0021.459  Trigger   Status        0000001B  
0021.459  Fax       tfSendPage    000003EE  
0021.459  TrDatChg  Status        0000001B  [00][10][00][01]
0021.509  Trigger   Status        0000001B  
0021.509  Fax       tfSendPage    000003EE  
0021.509  TrDatChg  Status        0000001B  [00][10][00][01]
0021.509  Trigger   Status        0000001B  
0021.509  Fax       tfSendPage    000003EE  
0021.509  TrDatChg  Status        0000001B  [00][10][00][01]
0021.559  Trigger   Status        0000001B  
0021.559  Fax       tfSendPage    000003EE  
0021.559  TrDatChg  Status        0000001B  [00][10][00][01]
0021.559  Trigger   Status        0000001B  
0021.559  Fax       tfSendPage    000003EE  
0021.559  TrDatChg  Status        0000001B  [00][10][00][01]
0021.609  Trigger   Status        0000001B  
0021.609  Fax       tfSendPage    000003EE  
0021.609  TrDatChg  Status        0000001B  [00][10][00][01]
0021.609  Trigger   Status        0000001B  
0021.609  Fax       tfSendPage    000003EE  
0021.609  TrDatChg  Status        0000001B  [00][10][00][01]
0021.659  Trigger   Status        0000001B  
0021.659  Fax       tfSendPage    000003EE  
0021.659  TrDatChg  Status        0000001B  [00][10][00][01]
0021.659  Trigger   Status        0000001B  
0021.660  Fax       tfSendPage    000003EE  
0021.660  TrDatChg  Status        0000001B  [00][10][00][01]
0021.709  Trigger   Status        0000001B  
0021.710  Fax       tfSendPage    000003EE  
0021.710  TrDatChg  Status        0000001B  [00][10][00][01]
0021.710  Trigger   Status        0000001B  
0021.710  Fax       tfSendPage    000003EE  
0021.710  TrDatChg  Status        0000001B  [00][10][00][01]
0021.760  Trigger   Status        0000001B  
0021.760  Fax       tfSendPage    000003EE  
0021.760  TrDatChg  Status        0000001B  [00][10][00][01]
0021.760  Trigger   Status        0000001B  
0021.760  Fax       tfSendPage    000003EE  
0021.760  TrDatChg  Status        0000001B  [00][10][00][01]
0021.810  Trigger   Status        0000001B  
0021.810  Fax       tfSendPage    000003EE  
0021.810  TrDatChg  Status        0000001B  [00][10][00][01]
0021.810  Trigger   Status        0000001B  
0021.810  Fax       tfSendPage    000003EE  
0021.810  TrDatChg  Status        0000001B  [00][10][00][01]
0021.860  Trigger   Status        0000001B  
0021.860  Fax       tfSendPage    00000000  
 
Send more page data
 
0021.860  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.861  Dispatch  WriteCom      0000000A  [00][80];[1B][BC][F6]2[B1][01]
                                            [00]
0021.861  Dispatch  WriteCom      0000000B  [00][80][9A]W'[D5][B5][B7][ED]
                                            [00][00]
0021.861  Dispatch  WriteCom      0000000B  [00][80][9A]W'[D5][B5][B7][ED]
                                            [00][00]
0021.861  Dispatch  WriteCom      0000001E  [00][80][AA]p[BE][9B][A0][05][02]
                                            L[0B][04][18][05][86][13]D@2[9C]a
                                            7[81].vs[B2]I[06][00]
 
<snip>
 
0021.865  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.865  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.865  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.865  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.866  Dispatch  WriteCom      00000006  [00][80][B2]Y[01][00]
0021.866  Dispatch  WriteCom      0000000C  [00][80][00][08][80][00][08][80]
                                            [00][08][80][00]
 
Send the end of page marker (0x10 0x03).
 
0021.866  Dispatch  WriteCom      00000001  [10]
0021.866  Dispatch  WriteCom      00000001  [03]
0021.866  TrDatChg  Timer         00000008  D[04][00][00]
0021.866  TrDatChg  Status        00000024  [00][00][00][00]
 
Wait for the output buffer to drain, and we will get an OK back.
 
0022.067  Trigger   Status        00000024  
0022.067  Fax       tfDrainPage   00000000  
0022.418  Trigger   Timer         00000010  
0022.418  Fax       tf1PageEnd    00000000  
0022.418  TrDatChg  Timer         00000010  [12][00][00][00]
0022.498  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0022.498  Trigger   Avail         00000006  
0022.498  Fax       tf1PageEnd    00000000  
0022.498  TrDatChg  Timer         00000008  [B6][00][00][00]
0022.498  Fax       tf1PageEnd    00000000  
0022.498  Fax       tf1PrepEOP    00000000  
 
Negotiate back to 300 baud so we can send the End Of Process to indicate there are no further pages.
 
0023.038  Dispatch  WriteCom      00000001  A
0023.038  Dispatch  WriteCom      00000001  T
0023.038  Dispatch  WriteCom      00000001  +
0023.038  Dispatch  WriteCom      00000001  F
0023.038  Dispatch  WriteCom      00000001  T
0023.038  Dispatch  WriteCom      00000001  H
0023.038  Dispatch  WriteCom      00000001  =
0023.039  Dispatch  WriteCom      00000001  3
0023.039  Dispatch  WriteCom      00000001  [0D]
0023.039  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We are back at 300 baud.
 
0023.082  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0023.082  Trigger   Avail         0000000B  
0023.082  Fax       tf1SendEOP    00000000  
 
Send the EOP frame.
 
0023.102  Dispatch  WriteCom      00000001  [FF]
0023.102  Dispatch  WriteCom      00000001  [13]
 
The ‘/’ indicates this is the last page.  A ‘0’ would indicate there are more pages to send.
 
0023.102  Dispatch  WriteCom      00000001  /
0023.102  Dispatch  WriteCom      00000001  [10]
0023.102  Dispatch  WriteCom      00000001  [03]
0023.102  TrDatChg  Timer         00000008  [B6][00][00][00]
0023.453  Trigger   Timer         00000010  
0023.453  Fax       tf1WaitMPS    00000000  
0023.453  TrDatChg  Timer         00000010  [12][00][00][00]
 
The modem responds with an OK.
 
0024.399  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0024.399  Trigger   Avail         00000006  
0024.399  Fax       tf1WaitMPS    00000000  
 
We renegotiate back to 300 baud and expect to receive the MCF (Message Confirmation) 
frame.  This will let us know if the page was received successfully.
 
0024.640  Dispatch  WriteCom      00000001  A
0024.640  Dispatch  WriteCom      00000001  T
0024.640  Dispatch  WriteCom      00000001  +
0024.640  Dispatch  WriteCom      00000001  F
0024.640  Dispatch  WriteCom      00000001  R
0024.640  Dispatch  WriteCom      00000001  H
0024.640  Dispatch  WriteCom      00000001  =
0024.641  Dispatch  WriteCom      00000001  3
0024.641  Dispatch  WriteCom      00000001  [0D]
0024.641  TrDatChg  Timer         00000008  [B6][00][00][00]
0024.641  TrDatChg  Timer         00000008  6[00][00][00]
0024.641  Trigger   Timer         00000010  
0024.641  Fax       tf1WaitMCF    00000007  
0024.641  TrDatChg  Timer         00000010  [12][00][00][00]
 
The CONNECTED response indicates that we have dropped down to 300 baud.
 
0025.099  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0025.099  Trigger   Avail         0000000B  
0025.099  Fax       tf1WaitMCF    00000000  
0025.099  TrDatChg  Timer         00000008  [B6][00][00][00]
0025.710  Trigger   Timer         00000010  
0025.710  Fax       tf1WaitMCF    00000000  
0025.710  TrDatChg  Timer         00000010  [12][00][00][00]
 
We start receiving the MCF.
 
0025.844  Dispatch  ReadCom       00000001  [FF]
0025.844  Trigger   Avail         00000001  
0025.844  Fax       tf1WaitMCF    00000000  
0025.871  Dispatch  ReadCom       00000001  [13]
0025.871  Trigger   Avail         00000001  
0025.871  Fax       tf1WaitMCF    00000000  
0025.898  Dispatch  ReadCom       00000001  [8C]
0025.898  Trigger   Avail         00000001  
0025.898  Fax       tf1WaitMCF    00000000  
0025.924  Dispatch  ReadCom       00000001  [A2]
0025.924  Trigger   Avail         00000001  
0025.924  Fax       tf1WaitMCF    00000000  
0025.951  Dispatch  ReadCom       00000001  [F1]
0025.951  Trigger   Avail         00000001  
0025.951  Fax       tf1WaitMCF    00000000  
 
The MCF frame ends with a 0x10 0x13.
 
0025.978  Dispatch  ReadCom       00000002  [10][03]
0025.978  Trigger   Avail         00000002  
0025.978  Fax       tf1WaitMCF    00000000  
0025.978  TrDatChg  Timer         00000008  [B6][00][00][00]
 
The modem responds with an OK.
 
0025.986  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0025.986  Trigger   Avail         00000006  
0025.986  Fax       tf1WaitMCF    00000000  
 
Renegotiate to 300 baud and send the DCN (Disconnect) frame.
 
0026.026  Dispatch  WriteCom      00000001  A
0026.026  Dispatch  WriteCom      00000001  T
0026.026  Dispatch  WriteCom      00000001  +
0026.026  Dispatch  WriteCom      00000001  F
0026.026  Dispatch  WriteCom      00000001  T
0026.026  Dispatch  WriteCom      00000001  H
0026.026  Dispatch  WriteCom      00000001  =
0026.026  Dispatch  WriteCom      00000001  3
0026.026  Dispatch  WriteCom      00000001  [0D]
0026.026  TrDatChg  Timer         00000008  [B6][00][00][00]
 
We are now at 300 baud.
 
0026.067  Dispatch  ReadCom       0000000B  [0D][0A]CONNECT[0D][0A]
0026.067  Trigger   Avail         0000000B  
0026.068  Fax       tf1SendDCN    00000000  
 
We can now send the DCN frame.
 
0026.088  Dispatch  WriteCom      00000001  [FF]
0026.088  Dispatch  WriteCom      00000001  [13]
0026.088  Dispatch  WriteCom      00000001  [FB]
0026.088  Dispatch  WriteCom      00000001  [10]
0026.088  Dispatch  WriteCom      00000001  [03]
0026.088  TrDatChg  Timer         00000008  [B6][00][00][00]
0026.742  Trigger   Timer         00000010  
0026.742  Fax       tf1Hangup     00000000  
0026.742  TrDatChg  Timer         00000010  [12][00][00][00]
 
The modem responds with an OK.
 
0027.385  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0027.385  Trigger   Avail         00000006  
0027.385  Fax       tf1Hangup     00000000  
 
The faxing is complete.  We can now hang up.
 
0027.485  Dispatch  WriteCom      00000001  A
0027.485  Dispatch  WriteCom      00000001  T
0027.485  Dispatch  WriteCom      00000001  H
0027.485  Dispatch  WriteCom      00000001  [0D]
0027.485  TrDatChg  Timer         00000008  [B6][00][00][00]
0027.485  TrDatChg  Timer         00000008  [1A][00][00][00]
0027.798  Trigger   Timer         00000010  
0027.799  Fax       tf1WaitHngp   00000000  
0027.799  TrDatChg  Timer         00000010  [12][00][00][00]
 
The modem responds with an OK.  We are now disconnected.
 
0028.075  Dispatch  ReadCom       00000006  [0D][0A]OK[0D][0A]
0028.075  Trigger   Avail         00000006  
0028.075  Fax       tf1WaitHngp   00000000  
0028.075  Fax       tfClose       00000000  
0028.076  Fax       tfGetEntry    00000000  
0028.076  TrDatChg  Timer         00000010  [12][00][00][00]
0028.076  Fax       tfCompleteOK  00000000  
0028.076  TrigDisp  Timer         00000008  
0028.076  TrigDisp  Timer         00000010  
0028.076  TrigDisp  Status        0000001B  (Output buffer free)
0028.076  TrigDisp  Status        00000024  (Output buffer used)
0028.076  TrigDisp  Status        00000029  (Modem status)
0028.076  TrgHdDsp  Procedure     00000000  
0028.076  Fax       Status        00000000  ErrorCode:0

 

This site is not affiliated, endorsed, or otherwise associated with the entity formerly known as TurboPower Software. The owners and maintainers of Aprozilla.com were merely meager employees of the aforementioned organization, providing this site out of the pure goodness of their collective hearts. SourceForge.net Logo

Last updated: July 22, 2003.