Advanced Features
Data Compression
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 text files!
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 |
Using Multiple ISDN Controlers
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.
Example:
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.
cFos Inband Negotiation
For the purpose of negotiating data compression with the remote, cFos exchanges the following data upon connection:
- Program name ("cFos"), version and serial number;
- X.75 frame length and window size;
- Transfer direction of compressed data.
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 cFos status 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 |
FAX Class 2 and Class 2.0 Command Set
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:
- S80
- Vertical resolution, 0=normal, 1=high
- S81
- Bit mode:
- Bit 0=1
- "AT+FCLASS=0" permitted.
- Bit 1=1
- " AT+FCLASS=1 " permitted. For compatibility rasons, cFos will return an " OK " even though it does not support Class 1.
- Bit 2=1
- "AT+FCLASS=2" permitted.
- Bit 3=1
- "AT+FCLASS=2.0" permitted.
- Bit 7=1
- "+FET" modem response activated.
- S82
- Minimum Scan-Time/Line. Values 0 through 7 can be entered. Some FAX programs do not support hardware flow control but can still be told by this 'register' at what speed FAX lines should be transmitted (0=max. speed).
- It is conceivable that CAPI has yet to transmit a single line to a remote FAX device, even though cFos has already received the entire page data.
- cFos cannot determine the maximum transfer rate at which an application is supposed to be sending FAX data. This may lead to flow-control problems that can be avoided either by activating "hardware control flow" or by experimenting with different speed settings for register S82 (see above).
- It may not always be possible to detect if a page was sent correctly.
- "1-D Huffman" is the only data format that can be used.
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!
cFos as Multiport FOSSIL
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.
Remote Configurability
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!
MTU Settings
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.
Optional DSL / PPPoE Settings
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
.
Message Waiting Indications
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.
Entering Parameters
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.
Computer-Clock Synchronization
via Internet (sntp)
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.
via ISDN
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.
Advanced options
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.
Call Logging
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:
- -L0:
- Off
- -L1:
- Outgoing calls only (with full verification for each connection)
- -L2:
- Incoming and outgoing calls
- -L3:
- All, even failed connections, call monitor
- -L4:
- As above in addition, the cFos status window or skin will be opened automatically whenever an incoming call is accepted
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):
Date
Time
Incoming ("
INC
") or outgoing ("
OUT
") call
Call number
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)
Protocol
BPS rate
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:
Date
Time
"
MON
"
Caller ID / Call number
Used MSN / EAZ
CIP value, according to CAPI 2.0
Calling subaddress
Called subaddress
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:
Date
Time
"
BSR
"
budget number
used seconds
budget seconds total (register S94 in seconds)
amount of received bytes
amount of send bytes
Leased-Line Support
cFos
supports leased-line transmission for outgoing calls with register "S114" 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).
Settings:
| S114L=0 | Off |
| 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) |
| S114H=1 | DCE mode |
User-to-User Data Block
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:"
Some examples:
| S116=0 | user specific |
| S116=4 | IA5 digits |
Security Features
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:
-
There is an (in)activity timer integrated in the
cFos
Modem Emulator. What this means in terms of keeping connection cost down is that you can use "
ATS19=...
" to define how many minutes can pass without any kind of data transfer before a connection is automatically shut down. Registers
"
S85
" and "
S86
" allow you to fine-tune this timer even further:
If register "S86" has been set, any automated response transmitted by your computer without real payload (like PING replies, etc.) will no longer keep the activity timer "alive." By the same token, any data filtered out by the cFos firewall won't be counted toward keeping a connection open.
We strongly recommend you use this register!
Setting register "S74.7" will have the timer track seconds of transfer inactivity rather than minutes.
Setting register "S74.14=1" will display the amount of time remaining until disconnection. This is shown in lieu of connection charges.
-
Upon disconnection, timers will check if CAPI transmits a
DISCONNECT_B3_INDorDISCONNECT_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. - Upon connection, as is the case with every other modem, a "wait for carrier" timer will kick in. Unless a connection is established within a period of n seconds (which can be set in the " S7 " register), cFos will hang up.
- You may also set connection cost and time limits. Once such a limit is reached, the connection will be closed automatically. More on this can be found under " Dynamic Channel Bundling ."
Protection from dialers
Protect yourself
against
expensive dialers
by having
cFos
block
certain prefixes or warn you when they are being dialed. Find out more about this by clicking
here
.
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:
| [callerid] | |
| 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.
Firewall
The
cFos mini firewall
protects your PC against simple attacks from the Net. For more info click
here
.
Connection-Cost Monitoring
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 |
Error Search and Logging
-
CTRACE.TXT
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.
-
CFSETUP.TXT
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 .