cFosSpeed is now in new hands. Atlas Tech Solutions now owns, develops, and sells new versions of it
Also visit our cFos eMobility page for our electro mobility products, like cFos EVSE, cFos Charging Manager and cFos Wallbox Booster

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

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:

  1. "cFos -a0"
    – with standards for COM1 + load 1 aux. port. Start terminal software for COM1
  2. "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=0all
S79=1no further aux. ports (i.e., disable incoming CCB)
S79=2two channels
S79=3three 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!