Small company logo:
Advertising banner:

Flow control and handshaking
Most high speed modems can still connect to older, lower speed modems. When they do, they receive information from the computer at high speed, and send the data out at a lower speed. Therefore, they may have to instruct the computer to slow down periodically.
Flow control is the method a modem uses to control the quantity of data the computer sends to the modem. It ensures that data is not lost if it is sent to the modem faster than the modem can accept it.
There are two widely recognized standard methods for flow control: software handshaking (using XON/XOFF) and hardware handshaking (using RTS/CTS).
Software handshaking (XON/XOFF)
You cannot use software handshaking with FirstClass. However, most high speed modems default to RTS/CTS handshaking, as do many other programs. Therefore, you must ensure that any modem setup strings you create do not turn on XON/XOFF handshaking.
Hardware handshaking (RTS/CTS)
If you use a high-speed modem or a modem with error correction or data compression, you must enable hardware handshaking. Hardware handshaking uses the Clear to Send (CTS) and Request to Send (RTS) pins on the modem cable to control data flow.
To use hardware handshaking, you must have a hardware handshaking cable (that is, a cable with the RTS and CTS lines enabled at both ends).

Baud rate
The measure of how fast a modem transfers data. The faster the baud rate, the faster the data transfer. If you divide the baud rate by 10, you get a rough estimate of the number of bytes (or characters) transferred per second, and this provides an idea of how long a file transfer will take.
For example, a 2400 bps modem can transfer about 240 bytes per second (that is, about 1Kb every four seconds). Therefore, a 25Kb file would take about 100 (25x4) seconds to transfer.

Fall back
When two modems first connect, they negotiate to find the best communication speed they can both use for the connection. Often this speed is less than the maximum speed supported by one of the modems. In this case, the faster modem "falls back" to the lower rate.
For example, if modems with speeds of 9600 bps and 14400 bps try to connect, they would negotiate a connection at the speed of 9600 bps. The modem whose speed is 14400 bps would then fall back to 9600 bps.

Hardware carrier detection
FirstClass detects that the connection to a server has been dropped using one of the following methods:
•       it monitors the length of time before it receives a response from the server
•       it monitors the state of the Carrier Detect pin on the modem cable.
The second method identifies a dropped connection most accurately. To use this method, you must enable hardware carrier detection when you configure your modem connection. The modem turns this pin on when it receives a special tone, called the carrier, from the remote modem. When the modem stops receiving this tone, it turns this pin off, and FirstClass reports that the connection has been dropped.

DTR hangup
A computer can tell a modem to hang up a call in the following ways:
•       send the Attention string followed by the Hangup string
•       configure the modem to monitor the Data Terminal Ready (DTR) pin, then turn off the DTR pin.
We recommend that you do not use the Attention string method. If the modem speed does not match the computer speed, the Attention string will not be received correctly, and the modem might not hang up. Since speeds can easily get out of sync during some negotiations, the DTR line is more reliable.
If you select the DTR pin method, FirstClass tries to hang up the modem by turning off the DTR line, waiting for an OK, then sending the Hangup command.

Modem standards
The standards described here fall into three categories:
•       modulation (speed)
•       error correction
•       data compression.
Most modem standards are referred to by a code assigned by the Consultive Committee for International Telephony and Telegraphy (CCITT).
81203_42521_14.png        Note
Take care when choosing modems with proprietary standards for high-speed communication, error correction, or data compression. These features only work when the modems at both ends of the connection support the same standards.
Modulation (speed) standards
Modulation (or speed) standards involve the rates and ways modems communicate with each other, and how they negotiate the best communication speed they can both use for the connection. These are common modulation standards:

The CCITT standard for data transmission at speeds up to 2400 bps.
The USR proprietary standard for data transmission at speeds from 9600 to 16800 bps, depending on the model.
The reverse channel is much slower. If you are connecting to another type of modem, the best speed you can expect is 2400 bps.
Hayes V-series
The Hayes proprietary standard for data transmission at speeds up to 9600 bps.
The reverse channel is much slower. If you are connecting to another type of modem, the best speed you can expect is 2400 bps.
The CCITT standard for data transmission at speeds up to 9600 bps.
The CCITT standard for data transmission at speeds up to 14400 bps.
The AT&T proprietary standard for data transmission at speeds up to 19200 bps.
The Rockwell chip set proprietary standard for data transmission at speeds up to 28800 bps.
The CCITT standard for data transmission at speeds up to 28800 bps.
The Lucent and Rockwell proprietary standard for 56K modems.
The US Robotics proprietary standard for 56K modems.
The CCITT standard for 56K modems.

Error correction standards
Error correction standards provide a way of correcting errors that result from outside interference, such as noise on the phone line. Error correction ensures that data coming out of the receiving modem is exactly the same as data going into the sending modem.
Error correction standards correct only those errors occurring between the two modems. They cannot correct errors occurring between the modem and the computer (a connection which is considerably more reliable when proper cables are used and connections secured).
These are common error correction standards:

The CCITT error correction standard.
This standard is partly based on MNP.
MNP Error Control
The Microcom Networking Protocol (an early error correction standard).

Data compression standards
Data compression standards provide a way of compressing data at the sending modem, transmitting it across the modem link in compressed form, and then expanding it at the receiving modem.
If the data can be compressed, data compression increases the effective throughput. If the data cannot be compressed (for example, if it has already been compressed with a utility such as Stuffit or PKZip), then modems with data compression give little benefit.
These are common data compression standards:

V.42 bis
The CCITT data compression standard.
This standard has a theoretical maximum compression ratio of four to one.
MNP Level 5 Compression
The Microcom data compression standard.
This standard, part of the V.42bis standard, has a lower maximum compression ratio (two to one). MNP 5 actually slows down the transfer of already compressed files.

How FirstClass works with your modem
The interaction of FirstClass with your modem begins when you connect to a server. FirstClass automates the stages of the login process, using the connection configuration stored in the connection file.
At each stage of the process, two status lines appear on the FirstClass Login form. The first line shows the action in progress. The second line shows the commands sent to the modem and the responses from the modem.
The following stages occur during login:

Stage 1
FirstClass sends the Reset string to the modem on the COM port specified in the connection file and waits for the modem to return an OK response. The status line displays "Resetting modem" followed by the Reset string sent to the modem.
Stage 2
When the server receives the OK response, it sends the Setup string and waits for an OK. The status line displays "Setting up modem" followed by the Setup string sent to the modem.
Because each modem requires a different Setup string, you must select the correct modem type on the Connection form.
Stage 3
If any optional settings (such as Speaker, H/W Handshake, DTR Hangup, or Carrier Detect) are set in the MODEM.FCP file, FirstClass sends the Option string to the modem. The status line displays "Sending modem options" followed by any optional commands sent to the modem.
Stage 4
FirstClass sends the Dial String to the modem and waits for a CONNECT response from the modem. The Dial string contains the phone number defined in the settings file. The status line displays "Dialing the number" followed by the Dial string sent to the modem. After the Dial string has been sent, the first status line displays "Waiting for connection".
Make sure the phone number on the status line is correct, including any prefixes (such as 9 or 1) and area codes.
Stage 5
If the modem is able to negotiate a connection, the status line displays the messages "Negotiating connection" and "Connected". When the connection is established, your user ID and password are sent to the server. If they are correct, your FirstClass Desktop opens.
If all server modems are busy, your modem returns a BUSY response and the login fails. If your modem is unable to connect, it returns a NO CARRIER response and the login fails.

If any stage in the login process fails, the login stops.