|- AT Command Interpreter
- Saving your Settings
- Modem Messages
Entering AT Commands
cFos allows you to run modem software with ISDN by acting as a "translator" between such applications and the ISDN CAPI. To this end, cFos emulates a modem that uses AT commands like "ATD" for dial-up and "AT&V" to display present configuration. This also means that control of both CAPI and cFos is handled by the cFos Modem Emulator. You can find more information on AT Commands here (in german).
You can call up the emulator's online help by starting any terminal program capable of displaying 2kByte pages and entering "AT?".
In addition to common AT modem commands, the emulator also employs a set of custom commands to configure ISDN-specific functions and other advanced features cFos offers.
Regular modem functions are emulated through basic commands, but these cannot be used for setting any of cFos' advanced features. Please note as well that some commands are ignored altogether, since they would work only for a real modem (e.g., "ATM" for configuring the modem speaker or T/P for switching between tone and pulse dialing).
Advanced AT commands are cFos-specific and are as such not compatible with other modems. They are easy to recognize, because they all start with "&." If you modify an init string for cFos, please make sure to check all "&" commands carefully.
On top of that, there is also a set of registers that lets you customize the way cFos works. Note though that many AT commands manipulate registers and vice versa. There are also a few registers that can be used to modify the effect of AT commands. A comprehensive list of all commands and registers, each with a brief description, can be found in a file called modem.txt.
Listed in detail below are all "ATI..." commands with which the modem emulator allows you to get information about the last connection:
The following text messages (helpful in diagnosing the cause of connection breakdown) may be displayed by ATI2 along with numeric CAPI information under "Last disconnect:"
|Active||An application requested cFos shut down the connection.|
|By remote||Either the remote or CAPI hung up.|
|Disconnect B3 timeout||The safety timer has been activated.|
|Disconnect D timeout||The safety timer has been activated.|
|CAPI reset||The safety timer has been activated and a CAPI reset has been executed (as a measure of last resort).|
|Connect timeout||Maximum time specified in S7 was exceeded before a connection could be established.|
|Inactivity timout||Maximum time specified in S19 passed without any data transfer.|
|Appendage reset||The last connection was triggered by an ISDN appendage function.|
|DTR drop||The last connection was terminated by an application deactivating DTR.|
|Dynamic CCB||The last connection was shut down for reasons of economy due to insufficient data transfer.|
|Connect aborted||The last connecting attempt was interrupted by an application.|
|"+++"-Sequence||"+++ATH0" was used to hang up.|
|ATH command||An "ATH" command was used to hang up.|
|Time/Charge Limit||Disconnection as a result of reaching maximum connection time/cost limits set with modem registers S60--S63.|
|CAPI error||CAPI has returned an error. The connection was terminated for security reasons. Please check your CAPI installation and install a new CAPI version if neccessary.|
|Baud rate||Hung up by INT 14 function 0 ("Set baud rate").|
|Pwd mismatch||Too many password attempts on a remote config port.|
|Low DTR||DTR-signal DTR was inactive on the port.|
|Port close||The port has been closed. See register S10.11 to change that.|
|Remote config||Interruption by a remote config port.|
|Status window||Interactive disconnection on the status window.|
For a regular modem, settings are saved to the modem's permanent RAM (NVRAM) with the "AT&W" command, while entering "ATZ" will have these read back out. Since cFos has no such NVRAM, these settings are instead saved to a file on your hard disk drive.
This file is called PROFILE and can be found in the cFos directory. It contains all profiles saved by using "AT&Wn" (n=0..9). Correspondingly, each profile can be returned by "ATZn." If no specific value has been assigned to "n," cFos saves/returns profile number 0.
Profile number 0 will be loaded by cFos during startup for all ports. Therefore, it contains all 'Power On' default values for the 'Modem'. That is why configuration of this profile should be kept simple to allow for stable and reliable operation.
Note: In case you run cFos on more than one port, you can use the same profile for all ports (if each of them is initialized by "ATZ," that is). However, if this is not what you want, you should assign different numbers to "ATZ" (e.g., "ATZ0"..."ATZ9").
For multiport use, registers S41 (Info-Mask-low) and S42 (Info-Mask-high) will be "mirrored." In other words, if you change these registers for one port, they will be adjusted accordingly for all other ports as well.
Translation of CAPI messages and error codes is another task the modem emulator serves. This does necessarily result in a loss of information though, as CAPI messages are far more differentiated compared to modem messages. You should also keep in mind that ISDN presents new sources for possible errors (for instance, when services or protocols prove to be incompatible).
CAPI 2.0 messages are all listed in the appendix, together with a brief description of how they relate to modem messages.
cFos can recognize the following modem messages: