cFos Channel Bundling
cFos Channel Bundling (CCB)
cFos can bundle two to four B channels in one connection to boost transfer rates, irrespective of what [PRO] CAPI or ISDN boards are used. Every cFos user can 'channel bundle' with any other cFos user (and ZyXEL Elite 2864I Terminal adaptor). This is even possible when users own completely different ISDN cards as long as they are capable of running more than one B channel simultaneously with the "data transfer" service. Most TELES and AVM boards (not the old A1 boards though) satisfy this requirement, as does ELSA from CAPI 1.43 onward. However, the Stollmann Tina DS and Tina D do not meet this requirement (but Tina DD does), as one of their two B channels is reserved exclusively for the A/B adaptor.
cFos
Channel Bundling (CCB) is not a protocol but a mode of operation. As such, it can be used with X.75 and any other packet-oriented
protocol. This assumes that you have
cFos
loaded on more than one port for instance, in multiport mode (i.e., either several ports have been opened with "
-c
" parameters or different device names have been activated).
If
cFos
is supposed to support only a single port, the "
-aX
" parameter will activate so-called "auxiliary ports." These are then used by
cFos
internally but cannot be accessed by external commands (like those transmitted by a specific application). The "
X
" parameter specifies which controller (ISDN board) is used to run the corresponding B channel.
Assuming appropriate CAPI support,
cFos
can thus perform channel bundling on several ISDN boards at the same time.
Examples:
- "cFos -COM1 -COM2":
- cFos is loaded in multiport mode supporting ports COM1 and COM2. CCB is possible on two channels.
- "cFos -COM3 -a0":
- cFos only supports COM3. However, CCB is still possible on two channels with the second channel located on ISDN board 0. This is probably the most frequent application of CCB.
- "cFos -COM1 -COM3 -a1":
- cFos supports COM1 and COM3. CCB is possible with 2 or 3 channels. If 2 channels are used for bundling, the "main port" (COM1 or COM3) and the auxiliary port will be used. Only when using all three channels, the second main port comes into play (as long as it is not busy at the time of connection).
This method is flexible enough to allow
cFos
Channel Bundling and multiport mode to be used in any number of combinations:
Besides the main port used for connection,
cFos
will give preference to auxiliary ports; only if no more auxiliary ports are available will
cFos
select other main ports.
When a main port that is currently bundled with another port is accessed, the
cFos
Modem Emulator will return an "
OK
" to all modem commands. This could, for instance, happen when DesqView is running two mailer tasks at once. If one of those
uses both channels, the
cFos
Modem Emulator will respond "
OK
" to the other task without actually executing any command. Thus, the mailer "knows" the port is "still there."
Active and passive connection in CCB mode do not differ from connecting with a single channel especially with respect
to choosing transfer protocols. Auxiliary ports have the same modem profile as the corresponding main port with exception
of the 'Controller Byte' (register S40). This is determined by the value entered for the "
-a
" parameter.
Defining the number of channels (max. 4) to be used for CCB is done with the "
AT&Bn
" modem command, while channels are actually opened with the "
ATD <number>
" command.
If more channels are entered in "
AT&Bn
" than
cFos
installed during startup, "
ERROR
" will be returned.
However, if there are in principle sufficient channels, yet some are being used for other purposes, CCB will still be performed
but only on those channels currently available.
The same is basically true for incoming calls.
cFos
will check whether there is already a connection for a certain caller ID including EAZ/SI/AddSI and will switch to bundle
mode if neccessary. In other words, if you call
cFos
twice using the same caller ID/EAZ, CCB is initiated automatically. What this also means is that CCB on incoming calls does
require transmission of one's caller ID!
A Quickie for Testing Purposes:
-
"cFos -a0"
with standards for COM1 + load 1 aux. port. Start terminal software for COM1 - "AT &F &B2 DS0"
Call Zaphods BBS
It should also be noted that there are no special " CONNECT " messages for CCB, as cFos has yet to receive any information on the number of bundled channels at the time it transmits the " CONNECT " message. This is especially true when using transfer-dependent opening and closing of channels, so-called Dynamic Channel Bundling (see below).
In addition, it is possible to perform CCB for different call numbers on several S0 busses.
cFos Dynamic Channel Bundling
cFos
Dynamic Channel Bundling makes it possible to open and close B channels [PRO] as needed. If data throughput drops below
a predefined level, one or more B channels will be closed, thus saving you additional charges. By the same token, an additional
channel will be opened automatically once data transfer volume exceeds a predefined threshold (see below).
To get the most out of your online charges, channels will only be closed shortly before the current unit expires.
As for static Channel Bundling, the maximum number of B channels is specified with the "
AT&Bn
" modem command. Static Channel Bundling is selected by "
AT&M0
" (default), while dynamic CCB is chosen with the "
AT&M1
" command.
During dynamic bundling,
cFos
opens a single channel at first using the "
ATD
" command and adds more channels as needed.
The following registers will allow you to configure
cFos
Dynamic Channel Bundling for maximum data transfer at minimum cost:
- S64
-
Lower limit in cps per channel.
If data transfer drops below this value, one channel is closed at the end of the current charging unit. - S65
-
Upper limit in cps per channel.
If transfer volume exceeds this value, an additional B channel is opened.
We recommend you leave at least 1000 cps between the entries in both registers. Note also that cFos has a 'CPS-O-METER' in its status line, which lets you monitor average transfer within the last 8 seconds.
The following cFos modem registers should be used for fine-tuning:
- S66
-
Charge impulse simulation timer (in seconds).
Some users are not provided with any information on online charges. Naturally, this also means that cFos will not recognize when the end of unit is reached. This means that no B channels would ever be shut down. To solve this catch-22, users can have cFos generate "charge impulses" every " n " seconds. The value for " n " is defined in this register. Entering "0" will deactivate this feature. - S67
-
Pre-off time (in seconds).
The value set in this register determines exactly when a channel will be closed. Default is 5 (which is also the lowest value that can be entered). This means the connection is closed 5 seconds before the current charging unit expires. - S68
-
Number of dynamic Channel Bundling attempts.
This register can be used to tell cFos how many times it is supposed to attempt opening an additional B channel. Default is 1. - S69
- Delay in seconds before an additional B channel is opened.
Default is 0. - S79
-
Maximum number of channels used for CCB on incoming calls.
S79=0 all S79=1 no further aux. ports (i.e., disable incoming CCB) S79=2 two channels S79=3 three channels etc.
For outgoing calls, time and charge limits can also be set. Main and auxiliary ports can be configured separately by using registers S60 to S63:
- S60
- Charging unit limit for main port (in charge-unit impulses).
- S61
- Charging unit limit for auxiliary ports (in charge-unit impulses).
- S62
- Time limit for main port (in seconds).
- S63
- Time limit for auxiliary ports (in seconds).
Of course, time and charge limits can be set irrespective of whether you wish to use channel bundling or not. As they function independently, you may configure both time and charge limits. The default for all settings is 0 (i.e., all limits are disabled).
Note also that when a main port is closed, the corresponding auxiliary ports are closed as well.
CCB Example
Assume you are a mailbox user. Following login, you want to have all new files displayed to you. Then, you mark all those
you would like to download. In that case, you should use the following initialization for
cFos
:
"
AT &B2 &M1 S64=5000 S65=7000
"
This means that files will be marked using one channel but downloaded on two channels (=> when more bandwidth is needed),
thereby reaching transfer rates of up to 16000 cps!