- Data Compression
- Inband Negotiation
- Using Mutltiple ISDN Controlers
- FAX Class 2 and Class 2.0 Command Set
- cFos as Multiport FOSSIL
- Remote Configurability
- MTU Settings
- Optional DSL / PPPoE Settings
- Message Waiting Indications
- Entering Parameters
- Computer-Clock Synchronization
- Call Logging
- Leased-Line Support
- User-to-User Data Block
- Security Features
- Connection-Cost Monitoring
- Error Search and Logging
Data compression under cFos will allow you to reach more than 16000 cps
per channel for uncompressed data like text files. You can furthermore combine
this with CCB, which should
boost data transfer to more than 35000 cps when using two channels for transmitting
Loading cFos with "-4" will enable data compression. Memory management will automatically be handled by cFos, reserving sufficient memory for each transfer direction.
Available options are:
|-4||enables compression for sending and receiving data|
|-4t||activates compression for sending data only|
|-4r||activates compression for reception only|
As it requires considerable computing power, we recommend you employ data compression only when working on a 486 or faster computer. Please note as well that some telecommunication software may not be designed to handle such high data-transfer rates.
CAPI Data Compression (V.42bis)
CAPI data compression can be enabled with AT command "&Qn" as follows:
|&Q0||disables data compression in CAPI|
|&Q1||enables data compression in CAPI|
If your CAPI driver supports more than one ISDN card
(or more than one ISDN S0 bus), you can select the
controler/S0-bus number with register "S40=z," where
z=0 ist the first, z=1 the second controler, and so on.
You can also set the "-o<port>=<controler>" parameter to change that register. Here, "<port>" refers to your COM port number (e.g., "3" for COM3), while "<controler>" represents the S40 controler byte.
For a board with two S0 buses, you would need four ports (COM3-6).
Since "S40=1" needs to be set for COM5 & 6, you would have to enter "-o5=1 -o6=1" in the cFos parameter line (found under "Feature setup" in the "Configure cFos" menu). Alternatively, you could add "S40=1" as an AT command to the init string for COM5 & 6.
For the purpose of negotiating data compression with the remote, cFos exchanges the following data upon connection:
This procedure is activated by the "AT&K1" modem command. Since it also allows for negotiation of X.75 frame length and window size, we do recommend you set this command even if you do not plan on employing data compression at all! That way, any X.75 incompatibilities (which can, for instance, occur when the remote won't support a frame length of 2048 byte) can be resolved in advance.
Whether inband negotiation was used after connection is displayed in the cFosstatus line, along with the transfer direction(s) of compressed data:
|<-||Compression for data reception|
|->||Compression for sending data|
|<->||Compression in both directions|
|*||cFos inband negotiation without compression|
It is important to remember in this context that while cFos provides no FAX emulation of its own, it does support CAPI 2.0 FAX functions with a Class 2 and 2.0 Command Set. Please consult the manufacturer to find out what FAX protocols are integrated in the CAPI of your ISDN card.
The following commands are supported by cFos or ignored for compatibility reasons:
FAA, FBOR, FBO, FBS, FBUF, FCC, FCIG, FCLASS, FCQ, FCS, FCT, FCR, FDCC, FDCS, FDIS, FDR, FDT, FEA, FET, FIE, FIP, FIS, FKS, FK, FLID, FLI, FLO, FLPL, FLP, FMDL, FMFR, FMI, FMM, FMR, FMS, FNR, FPHCTO, FPI, FPP, FPR, FPS, FPTS, FREL, FREV, FRQ, FRY, FSPL, FSP
In addition, the following 'registers' are available:
Note: Hardware control flow must be activated to use Delrina Winfax.
Note: In case CAPI returns no specific BPS rate at all, cFos reports a rate of 2400 BPS. Note that this doesn't have to mean actual connection speed is 2400 BPS. In fact, it's probably still closer to 9600 BPS!
In theory, cFos can support up to 255 different ports. But cFos/Win was compiled for management of up to four COM ports and cFos NT/2000/XP for up to 32. For every COM port, sufficient buffer and memory is automatically reserved during startup. It is also possible to enter port names directly.
Accordingly, there are two modem emulators, which will let you make calls on two systems at the same time. You could also make one call while receiving another on the second port.
In multiport use, MSNs and services to which cFos is supposed to "listen" can be configured separately for each port (with the "AT&L" and "AT&I" commands). Should MSNs or services overlap, there is an automatic ringdown from the first appropriate port to the next.
cFos may also be configured by calling cFos on a B channel
and adjusting the modem settings from there. Add the "-kk"
parameter during cFos startup to enable this kind of remote configurability.
Use "ATB14" to initialize calling cFos.
Press [ENTER], and cFos will send a '#' prompting you to type in your password (default is 'no password').
After successful login, cFos will display a welcome string listing the host name and COM port to which the call has been placed. You can also find out to which port(s) cFos has been assigned by using "ATI6." Entering "AT#Dn" (n=0,1,2,...) will allow you to switch ports accordingly.
Now, you are free to adjust any modem setting including all registers with the exception of "ATA," which is not available in this mode.
To change the host name, just load cFos with "-nNAME"
(default is "cFos").
Note: If you want to use remote configuration with X.31, you will have to load cFos for at least two different ports.
The password can be changed by entering "AT#Kppp," where "ppp" should be replaced with the actual password (which should consist of no more than 10 characters, all in ASCII 33 to ASCII 126, no spaces). The new password is then saved in the RCONFIG file.
In addition, "AT&L" or "AT&A" need to be set so cFos will allow reception of incoming calls, because otherwise a RemoteConfigCall would not be accepted either.
Important Reminder: Please remember that remote configuration of cFos is not possible unless it was loaded with the "-kk" parameter!
By setting register S99, cFos can reduce the MTU on PPPoE connections. Either add S99=<MTU> to your init string or enter -x99=<MTU> in the parameter line under cFos Setup (replace "<MTU>" with the actual MTU number).
To maximize data thruput, cFos/Win must perform several changes to the IPMTU setting in the registry. This can be disabled by setting the "-km" switch during setup.
cFos checks each side's minimum MRU and uses the smaller value as MTU. That way, you won't have to set "-x99" even if an ISP requires smaller MRUs because of further tunnelling. This will only work as long as the dial-in host tries to negotiate the smaller MRU size. Otherwise, you will need to use "-x99" as described above.
Enter the PPPoE Service Name with the "S&14" command.
Enter the PPPoE AC-Name with the "S&15" command.
As this lets you choose the broadband POP, it is particularly helpful if you have several DSL accounts with different providers.
More information on DSL can be found in our cFos online documentation.
cFos supports Message Waiting Indications (MWI). If your
CAPI and ISDN switch can relay MWIs, cFos logs and displays them like
normal calls, using service 31.
For example, if someone were to leave a message on your T-Net Box, you would get an MWI with caller ID of 08003002424.
Parameters are typed into the cFos command line
(cf. cFos context menu/cFos configuration/feature setup).
In the command line, you can also set single bits for any S-register with -x<reg>.<bit>=<v>, where <reg> is the number of the register, <bit> the bit number and <v> either 0 or 1.
For instance, "-x74.14=1" would display the inactivity timer.
You can have cFos synchronize your computer clock every 18 hours by activating "Time Sync" in the SETUP menu. In addition, this will automatically happen 3 seconds after each Internet login. You also have the option of synchronizing time manually in the cFos context menu.
Already integrated in cFos is a list of free timeservers for each timezone. But if you'd rather get your time from one specific server, just type in its name after "TimeServer=" (in the [cFos] section of the CFOS.INI file), which will prompt the program to use this server exclusively.
During connection, ISDN transmits the current time (using daylight-saving time
if applicable, as provided by the TU Braunschweig). This is then compared by
cFos with the time shown on the computer clock, and any discrepancy is noted.
cFos will not reset the computer clock automatically though. This has to be done manually either by entering the "AT&T" modem command or by a simple click in the cFos context menu (for cFos/Win and cFos NT/2000/XP). If you do want your computer clock automatically synchronized each time you connect, you should add a "-jt" parameter.
To save you the cost of connecting, cFos can also receive ISDN time in offline mode. However, the clock can only be reset once a connection has been established.
Under cFos NT/2000/XP, time can only be synchronized when a user is logged in.
With option "-m" you can define the maximum deviation
between computer clock and ISDN or Internet time (in minutes) up to which the
computer clock will still be reset. Thus, the default setting of "-m90"
would allow synchronizing of the computer clock only if its current time differs by
90 minutes or less from standard Internet or ISDN time.
In principle, cFos permits parallel use of both time synchronization procedures. But if, for instance, you were to receive an ISDN time update every 12 hours, Internet time synchronization would be disabled.
In case running both sync modes at the same time causes problems, you can deactivate
either one by entering:
-ji to disable ISDN time sync
-jn to disable Internet time sync
Obviously, cFos can only receive ISDN date & time if your ISDN provider transmits such information. With some providers like the German Telekom, you may have to request this kind of transmission first. Also note that your CAPI driver must be able to support such time synchronization. The "ATI5" command lets you check how many CAPI messages with time or date information have been transmitted.
cFos can log date, time, caller ID, duration and data transfer volume for each call. This log file can then be used for checking each item on your next phone bill. Detailed step-by-step instructions for using the cFos call monitor can be found here.
Setting the "-Lx" parameter determines the level of detail employed for this protocol:
HINT: Redirected/transferred ISDN calls are indicated as such in the cFos call monitor window.
cFos logs connection data in a file called LOGFILE.TXT (which can be found in the cFos folder). It is written in "comma-delimited ASCII" format, as this can be processed by a wide variety of different software.
Calls either sent to or initiated by cFos are protocoled as
follows (the fields are separated by commas with a line break after
the last field):
Incoming ("INC") or outgoing ("OUT") call
Own MSN / EAZ
Number of bytes received
Number of bytes sent
Call charge impulses
Disconnect info (cf. ATI2)
Disconnect-B3 info (cf. ATI2)
Status line 'LEDs'
Reason for disconnection (cf. MODEM.DOC)
Call length (in seconds)
Hi-Byte of register S87
Lo-Byte of register S87
Cost, according to register S71/S72
Depending on user properties or software employed, you can activate simple billing either by setting the group ("S87H") or ID register ("S87L"). For this, you are free to assign any number you like to a specific group or ID (e.g., "S87H=4" for group 4.)
The protocol format for incoming calls not meant for cFos is as follows:
Caller ID / Call number
Used MSN / EAZ
CIP value, according to CAPI 2.0
BC, LLC, HLC as hex dump
Note for programmers: We have incorporated a call monitor API to permit programming applications that interface with cFos to process call information automatically. This will, for instance, allow you to link any caller ID to a specific name in an address or telephone book. The APPEND.TXT file contains more information on this.
cFos also logs budget resets. The protocol format for budget resets is as follows:
budget seconds total (register S94 in seconds)
amount of received bytes
amount of send bytes
cFos supports leased-line transmission for outgoing calls with register
but only if your CAPI driver supports it as well and if your ISDN line has been
configured accordingly (consult your provider if in doubt).
|S114L=1||D64S, first B-channel|
|S114L=2||D64S2, first & second B-channel (128kbps)|
|S114L=3..30||primary multiplexer only: use 3-30 B-channels|
|S114H=0||DTE mode (default)|
Command "&S16" will prompt cFos to send one additional
data block (128 bytes), which can then be interpreted by the receiving party.
Its format can be defined with register "S116:"
What may take some getting used to with ISDN boards is that you can never be quite sure whether a connection is still active or not. Worse yet, if a connection is allowed to remain active when in fact you're not using it, this may lead to a virtual cost explosion that cFos may help avoid with the following features:
DISCONNECT_INDmessage. In case this doesn't happen, level B3 and then level D will each be shut down twice at 5-second intervals. Failing that, cFos will log off from CAPI and then log on again. This should get CAPI to terminate all active connections.
Accepting/rejecting certain calls
You can accept or reject calls based on their caller ID (default is to accept all calls). If you want to limit calls that should be accepted to those from certain caller IDs, you will have to create a [callerid] section in the CFOS.INI file, where you can specify them with the "include=" and "exclude=" keys. On any incoming call, cFos will compare the caller ID to those listed in this section. It will then accept or reject the call accordingly. An '*' indicates that all remaining digits will be ignored for the purpose of cross-checking caller IDs. Example:
|exclude=*||; exclude all numbers|
|include=0228*||; but allow all calls from Bonn|
|exclude=0228555*||; but exclude calls from these numbers|
|include=0405551234||; and allow calls from this number in Hamburg|
Combining cFos with server software would allow you, for instance, to let only specific users with fixed caller IDs dial into your computer, which does add another layer of security.
cFos offers an easy way of tracking connection cost by entering the following registers as AT command (in German). Please note this will only work if your provider transmits call charge impulses.
|S70||sets the charge unit value (in cents)|
|S71||total charges: units * S70 (in cents)|
|S72||total charges: units * S70 (in euros, dollars, ...)|
|S74.11||view charges divided by 10 (in cents)|
The "&G" will let you review current charges (more detailed instructions are also available):
|&G0||view total charges (in currency units)|
|&G1||delete total charges|
Adding "-dvne" to the parameter line will have cFos record all important startup and connection data, which is then written to the cFos directory and logged in a file called CTRACE.TXT. For a discussion of additional protocol options, click here.
Important: Taking the sensitive nature of such data into account, plaintext passwords are now logged as "???" in CTRACE.TXT. This added security feature can be deactivated with the "-da" switch.
This file is used to record installation data. Please send a copy of it to our Technical Support Team, if you did experience problems installing cFos.