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:
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!
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 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:
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:
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:
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.
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!