Adaptive Answering Algorithm
The adaptive answering algorithm is implemented in the Microsoft T.30 protocol engine. This algorithm provides for the auto-detection of data and fax calls using a fax modem.
The adaptive answering algorithm proceeds as follows
A call to the modem is initiated.
The modem sends "RING" strings to the system.
TAPI gets "RING" events and passes them to T.30.
T.30 starts answering the incoming call.
If there is a Fax\Class1\AdaptiveAnswer registry key, the following procedure will be executed:
- T.30 configures the DTE-DCE baud rate and flow control using either the registry settings (installed from the INF file), or the default settings (19200 Kbps, software flow control).
- T.30 sends the ResetCommand string to the modem.
- T.30 sends the SetupCommand string to the modem.
- T.30 sends a group of Fax\Class1\AdaptiveAnswer\AnswerCommand strings to the modem.
- T.30 receives the ModemResponseFaxDetect string if the modem detected a fax call, or, T.30 receives the ModemResponseDataDetect string if the modem detected a data call.
At this point in the process, the incoming call type has been detected. Some modems will change the modem-to-host baud rate, while other modems need to be instructed explicitly to go online. The following INF file entries are defined to control this behavior:
- SerialSpeedFaxDetect requires the system to switch to the specified DTE-DCE speed immediately after an incoming call has been identified as a fax call.
- SerialSpeedDataDetect requires the system to switch to the specified DTE-DCE speed immediately after an incoming call has been identified as a data call.
- HostCommandFaxDetectOptional requires the system to connect to a remote modem after an incoming call has been identified as a fax call.
- HostCommandDataDetect requires the system to connect to a remote modem after an incoming call has been identified as a data call.
T.30 expects a connect string after the local fax-modem is connected to a remote fax-modem. Connect strings for data or fax calls are defined by:
- ModemResponseFaxConnect, which indicates a fax connection.
- ModemResponseDataConnect, which indicates a data connection.
For a fax call, T.30 continues handling this call. For a data call, T.30 hands the call off to the appropriately TAPI-registered DATA application (for example, RAS).