White Paper
Cisco Support for ISDN Rate Adaptation
Introduction
As we move deeper into the dial access arena, support for more protocols is being asked for. The dial-in server products are having to become more flexible, and better determining what is calling in. Currently the biggest need for this is with the AS5200 product.
The Cisco AS5200 universal access server is a versatile data communications platform that provides the functions of an access server, a router, and digital modems in a single modular chassis. The Cisco AS5200 is intended for Internet Service Providers (ISPs), telecommunications carriers, and other providers that offer managed Internet connections, as well as small- to medium-sized sites that provide both digital and analog access to users on an enterprise network. By terminating both analog and digital calls on the same chassis simultaneously, the Cisco AS5200 provides you with a clear, simple, and easy migration path from today's predominantly analogue dial-in services to tomorrow's digital dial-in services.
ISDN dial-in access can be further split into full rate ISDN calls, and those that are rate adapted. Cisco have been supporting the full rate ISDN calls for a considerable time. These have historically been LAN to LAN or Router to Router connections.
With the increased speed requirements of Internet access people are also looking to connect individual computers with a full rate ISDN call. This can be achieved either with an internal card, accessing the computers bus directly, or with a Terminal Adapter connected to the serial port of the computer that performs async to sync PPP conversion.
The other type of ISDN call would be rate adapted. There are two predominant rate adaptation methods in use over ISDN. These are the ITU standards of V.110 and V.120. We are working to support both of these with the AS5200.
The need for these rate adaptation protocols is to enable users with older equipment to have access across the ISDN network. A user who has a PC with a serial port is limited to an Asynchronous connection, at a lower speed if it is an older machine. To enable the data which this computer is sending to be interpreted correctly by many devices, it is necessary to have a standard method of coding the signal. The theory behind rate adaptation is to allow a (say) 9600 Bit/s data stream to be passed across a 64000 Bit/s link.
For a new installation, or if using a Terminal Adapter which already supports it, it is recommended that Async to Sync PPP in the terminal adapter is used instead. This uses the TA to convert the Asynchronous signal on the interface to a Synchronous stream, which will be understood by the router which is called. This will remove a lot of the processing overhead from the router. With V.120 it is necessary to do a bit conversion between the V.120 stream and PPP for every bit, which is very processor intensive.
V.120 Rate Adaptation
V.120 rate adaptation is offered by a large number of the available terminal adapters. Historically V.120 was offered by American Manufacturers, while V.110 was more popular in Europe. Cisco has had support for V.120 in IOS since 11.1 software was first released. In the early releases, the software looked at the LLC (Lower Layer Compatibility) field of the ISDN call to detect if the calling device supported V.120. Unfortunately not all terminal adapters or networks supported this functionality. In the latest versions of IOS a new command has been implemented which gives the option to look at the beginning of the first data packets and see if they are PPP or V.120. This command is autoselect encapsulation ppp v120.
V.110 Rate Adaptation
V.110 was ratified before V.120, so has had a larger take-up in Europe. The V.110 standard adapts the asynchronous data to the 64 kbps ISDN channel using a two stage bit repetition process. The data stream also conveys changes in the interface signal state, performs end-to-end synchronization and flow control.
The first part of the process will convert the serial ports asynchronous signal into a synchronous pattern. This is done by inserting extra stop bits to put it in time with the synchronous clock. Any overspeed and underspeed conditions due to clock variations are resolved by inserting extra stop bits or reducing the length of the stop bits by 1/8 or 1/4.
The 64K kbps stream is split into 8 channels. This is done by using time division multiplexing techniques. Each consecutive bit transferred is a timeslot, with 8 timeslots available. The 8 timeslots make one octet, so the data transfer rate is 8,000 Octets (or timeslots)/second.
Figure 1: Timeslot bit positioning

Each of these is called an intermediate speed. Timeslots are combined to give three intermediate speeds, eight KB/s (one timeslot); 16KB/s (two timeslots) or 32KB/s (four timeslots). Any unused timeslots are filled with Binary 1's.
The timeslots are then built up into Frames. There are 80 bits in each frame, only 48 of which are used for data. Of the other 32, 17 are for an alignment pattern, 8 bits for modem control signals (S channel) and 7 for inband administrative use (E channel), such as identifying user terminal rate and adjusting external clocks.
From this we can calculate that from an intermediate speed of 8KB/s, we have 80 bit frames, so 100 frames every second. There are 48 data bits in each frame, so we have a speed of 4800 Bit/s. This gives a speed of 9600 Bit/s from the intermediate speed of 16KB/s, and 19200 Bit/s of data from the intermediate speed of 32 kbps. Lower speeds in each band are created by using bit repetition and bit fill. EG to create 2400 Bit/s (half speed), each bit is repeated twice in the frame.
Table 1: Frame Structure
| Bit Number | ||||||||
|---|---|---|---|---|---|---|---|---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| Octet 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| Octet 1 |
1 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
S1** |
| Octet 2 |
1 |
D7 |
D8 |
D9 |
D10 |
D11 |
D12 |
X** |
| Octet 3 |
1 |
D13 |
D14 |
D15 |
D16 |
D17 |
D18 |
S3** |
| Octet 4 |
1 |
D19 |
D20 |
D21 |
D22 |
D23 |
D24 |
S4** |
| Octet 5 |
1 |
E1* |
E2* |
E3* |
E4* |
E5* |
E6* |
E7* |
| Octet 6 |
1 |
D25 |
D26 |
D27 |
D28 |
D29 |
D30 |
S6** |
| Octet 7 |
1 |
D31 |
D32 |
D33 |
D34 |
D35 |
D36 |
X** |
| Octet 8 |
1 |
D37 |
D38 |
D39 |
D40 |
D41 |
D42 |
S8** |
| Octet 9 |
1 |
D43 |
D44 |
D45 |
D46 |
D47 |
D48 |
S9** |
D1-D48 User Data Bits
*E Channel-Speed and Clock Synchronization
** S Channel-Interface Control Signals
The E channel is used for both Data rate selection and clock synchronization. The following tables show the use of these bits.
Table 2: E1-E3 Bit Usage
| Intermediate Rates (B/S) | E1 | E2 | E3 | ||
|---|---|---|---|---|---|
| 8k | 16k | 32k | |
|
|
| 600 | |
|
1 |
0 |
0 |
| 1200 | |
|
0 |
1 |
0 |
| 2400 | |
|
1 |
1 |
0 |
| |
|
12,000 |
0 |
0 |
1 |
| |
7200 |
14,000 |
1 |
0 |
1 |
| 4800 |
9600 |
19,200 |
0 |
1 |
1 |
Table 3: E4-E6 Bit Usage
|
Phase Shift/Compensation |
E4 |
E5 |
E6 |
||
|
No Phase Shift Required |
1 |
1 |
1 |
||
|
Phase Shift +20 Degrees |
0 |
0 |
0 |
||
|
Phase Shift +40 Degrees |
0 |
0 |
1 |
||
|
Phase Shift -40 Degrees |
0 |
1 |
01 |
||
|
Phase Shift -20 Degrees |
0 |
1 |
1 |
||
|
Insert Extra Bit-Binary 1 |
1 |
0 |
1 |
||
|
Insert Extra Bit-Binary 0 |
1 |
0 |
0 |
||
|
Delete Bit D251 |
1 |
1 |
0 |
||
| 1Extra bit inserted between D24 and D25 |
A V.110 call is detected in the call. Following is a V.110 call being correctly seen:
00:54:27: ------------------- Bearer Capability i = 0x8890214840BB 00:54:27: Channel ID i = 0xA98381 00:54:27: Calling Party Number i = 0x91, '958260006' 00:54:27: Called Party Number i = 0x81, '0958210001' 00:54:27: Low Layer Compat i = 0x8890214840BB 00:54:27: ISDN Se0:15: llc valid, speed 64, call type is V.110 speed:8 async:Y rate 2 nic(tx:N rx:N) fc(tx:N rx:N) 00:54:27: stop 1 data 3 parity 3 00:54:27: ISDN Se0:15: Event: Received a V.110 call from 958260006 on B1 at 64 K b/s 00:54:27: MODEM_REPORT:dchan_idb=0x21F764, call_id=0x1C, ces=0x1 bchan=0x0, event=0x1, cause=0x0
Configuration Example
Following is an example of a configuration which has been used for testing the V.110 board.
Current configuration:
! version 11.2 service timestamps debug datetime msec service timestamps log datetime no service udp-small-servers no service tcp-small-servers ! hostname v110-brasil3 ! enable password lab ! username v110-brasil4 password 7 00081204 username v110-brasil3 username v110-brasil5 password 7 060A0E23 ip host brios 223.255.254.253 isdn switch-type primary-net5 chat-script dial_v110 ABORT "NO CARRIER" ABORT ERROR TIMEOUT 10000 ""AT OK "AT D \T" CONNECT \c ! controller E1 0 clock source line primary pri-group timeslots 1-31 ! controller E1 1 clock source line secondary pri-group timeslots 1-31 ! interface Ethernet0 ip address 89.0.22.95 255.0.0.0 hold-queue 1000 in hold-queue 1000 out ! interface Serial0 no ip address shutdown ! interface Serial1 no ip address shutdown ! interface Serial0:15 no ip address no ip mroute-cache isdn incoming-voice modem no cdp enable ! interface Serial1:15 no ip address no ip mroute-cache isdn incoming-voice modem no cdp enable ! interface Group-Async1 description Toucan V110s ip unnumbered Ethernet0 no ip mroute-cache encapsulation ppp async mode interactive dialer in-band dialer idle-timeout 90 dialer map ip 25.0.0.1 name ta-cs modem-script dial_v110 17773000 dialer-group 1 no fair-queue no cdp enable ppp authentication chap group-range 1 60 hold-queue 1000 in hold-queue 1000 out ! no ip classless ip route 19.0.0.0 255.0.0.0 89.0.22.90 ip route 223.255.254.253 255.255.255.255 Ethernet0 ! dialer-list 1 protocol ip permit ! line con 0 exec-timeout 0 0 length 32 line 1 12 autoselect ppp modem InOut transport input all line 13 24 autoselect ppp modem InOut modem autoconfigure type cisco_v110 transport input all speed 9600 line 25 60 autoselect ppp modem InOut modem autoconfigure type cisco_v110 transport input all speed 9600 line aux 0 password lab login line vty 0 4 password lab login ! end
