|
Auto-Answer ISDN Router
|
|
This router is a simple modification of the ISDN router implemented to allow the Windows NT host to call TO the remote router over a measured service ISDN link. The outbound call is made on a PRI/T1 so no usage charges apply to the call recipient or originator. The IPRoute script changes for this are very simple and will work with a modem or ISDN adapter in single channel mode. Because IPRoute does not currently support MLPPP, in order to create a 2 channel MLPPP connection (128KB) we had to change from the Motorola BitSURFR to a 3Com Impact IQ adapter. The current release of IPRoute does not support MLPPP but properly configured the 3Com Impact IQ will negotiate a MLPPP connection itself.
On the router the change to autoanswer requires only a replacement of the demand/continuous dial functions with a setting for autoanswer. The script below also reflects the 3Com settings for MLPPP operation. On the NT host the changes are somewhat more complex. Other than the obvious script modifications to replace the dialing commands, one change is made in the router to route all traffic to the serial interface but assign it to the default gateway on the host network. Portions of the script (shown in blue) after the "hangup:" label are replaced with the answer configuration :
3COM.IPR
; 9:29 PM 5/28/99
;
; IPR script for example configuration with PPP using
; a static (fixed) IP address and no incoming services.
;
; This script assumes the modem is configured for 8 bit
; data, no parity, 1 stop bit, RTS/CTS flow control,
; and DTR and CD operate normally.
; Start a command interpreter on the console
command
ftpd
; Telnet Daemon - This goes in the top part of the
; script (startup section)
telnetd do_tel
user username password *:21
;
; Configure ethernet interface with IP address
; 192.168.1.254 Note that /24 specifies the network
; prefix width, i.e. the number of ones in the netmask.
; the /24 corresponds to 255.255.255.0
packet en0 0x60 192.168.1.254/24
; Configure the modem port on COM 1 and make it the
; default route (IPRoute doesn't like the value 115200
; here so use 57600 to start) The interface card
; doubles the speed so 57600 is really 115200 at
; the BitSURFR
async sl0 0x3f8 4 57600 do_sl0
delay .25
; Make this interface the default route
; Aim everything at the default router on the host network
route * sl0 mmm.nnn.ooo.200
; Broadcast RIP routes on the ethernet
rip en0
; Log everything to the console.
; set log file con
; Logs to local SysLog
; set log udp 192.168.1.1
exit
;
; Script for filter and NAT configuration on sl0,
; with demand dial out, etc.
;
do_sl0:
; Turn on debug stuff.
set trace on
set log raw on
;
; Set up NAT
;
; allows telnet/ftp to router using non-standard ports
nat sl0 tcp 192.168.1.254:21 www.xxx.yyy.zzz:2021
nat sl0 tcp 192.168.1.254:23 www.xxx.yyy.zzz:2023
; pass the ping to the router so we can ping it from
; the upline side
nat sl0 icmp 192.168.1.254 www.xxx.yyy.zzz
; pass everything else to host
nat sl0 * 192.168.1.1 www.xxx.yyy.zzz
nat * * www.xxx.yyy.zzz
; general reset for unknown packets
set nat send-reset on
;
set interface rts flow
;
hangup:
; Hangup will cause DTR to drop, which should set
; the BitSURFR to basic speed First, set the
; interface speed back to something slower
; (doubled in the card) or the BitSURFR will usually
; not respond --- this sets the speed to 115200
set interface sl0 speed 57600
delay .25
; Then reset the interface
set interface sl0 dtr off
delay .25
set interface sl0 dtr on
delay .25
; Then send a general reset
; send sl0 "atz0\r"
; wait 1 "OK"
; Enable CHAP in the 3Com
send sl0 "ATS84=0\r"
wait 1 "OK"
; set to MLPPP - 10 tries so we will probably get MLPPP
send sl0 "ATS80=10\r"
wait 1 "OK"
; for 3Com Impact IQ ISDN Adapter (AT$B230400)
; escape the $ with the \ char for IPRoute
send sl0 "at\$b230400\r"
wait 1 "OK"
; Then change the to 115200 (doubled by uplink card)
; and the whole lashup SHOULD be running at 230K
set interface sl0 speed 115200
delay .25
set interface dtr on
set interface rts flow
; Then set interface to reset to basic values when
send sl0 "AT&F&C1&D2\r"
wait 1 "OK"
; register set autoanswer
send sl0 "ATS0=1\r"
on cd answer_it
wait sl0 0
answer_it:
on timeout hangup
wait sl0 30 "CONNECT"
read sl0 5 "\r" speed
continue:
on cdloss hangup
on timeout hangup
set ppp login username password
ppp 900 mmm.nnn.ooo.254
goto hangup
; This will run for each incoming telnet connection.
do_tel:
on cdloss drop_tel
delay .5
on timeout drop_tel
send "\r\nlogin: "
set echo1
log "$NAME logged in from $IPADDR:$PORT"
send "\r\n\n"
command
drop_tel:
exit
This configuration operates in conjuction with Routing and Remote Access Services (RRAS) in Windows NT 4.0. It requires the creation of a "Demand Dial Interface" in RRAS with the appropriate settings. Because it is dialing out and not accepting a call, the IP settings for the Demand Dial Interface must be set to a specific IP address, in this case we used "mmm.nnn.ooo.253", one less than the address that will be set by IPRoute when it connects. No additional routes are required.
This interface has been tested with a 3Com Impact IQ ISDN adapter and will almost always connect to the server in MLPPP dual channel mode (128KB PPP). However, we have been unable to find a configuration that will work with something other than the 3Com Impact IQ.
|
|