home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-12-31 | 43.5 KB | 1,158 lines |
- Document telser.doc
-
- =============================================================
- telser 1.00 -- serial telnet(d) device for TCP/IP and AS225r2
- Documentation
- - December 28, 1994 -
- =============================================================
-
- Copyright (c) 1994-1995 by Sam Yee. All rights reserved.
-
-
- 1. Legal Stuff
- ==============
-
- 1.1. Copyright
- --------------
-
- The program, telser and its associated files are written and
- copyrighted by Sam Yee. telser is SHAREWARE and the UNREGISTERED
- version of telser may be distributed freely providing the following
- conditions hold:
-
- o Distributors may not charge more than the cost of a diskette used in
- the distribution of this program.
-
- o Distributors may only distribute the unmodified copy of the original
- program, along with its documentation, and copyright notices intact.
-
- o Commercial distribution is only possible with written permission
- from the author.
-
- 1.2. License Agreement
- ----------------------
-
- The REGISTERED versions of telser may not be redistributed.
- Redistribution is illegal, immoral, and strictly prohibited. The
- licensed keyfile may be used on more than one machine if you own those
- machines and that they are not for business use. Otherwise, different
- keyfiles are required for each machine.
-
- 1.3. Disclaimer
- ---------------
-
- This program and its documentation are provided "as is". No
- warranties are made with respect to the accuracy, reliability,
- performance or operation of this software and information. You are
- using this program at your own risk. The author is not liable for any
- damages that may have been caused by using this software.
-
-
- 2. Introduction
- ===============
-
- telser.device ("telser") is a modem simulator over a telnet
- connection. It simulates basic `modem commands'. As such, you can
- use telecommunication ("comm") programs over a telnet connection. To
- your comm program, it thinks it's talking to a modem. Terminal
- emulation, file transfers, etc. are all handled by your comm program.
- Connecting to a host is as simple as typing "ATDT abc.edu,23" or even
- simpler if you add "abc.edu,23" to your comm program's phonebook.
-
- telser supports the most common Telnet negotiation commands and
- options. For example, you may elect to notify the remote host on
- changes to your terminal emulation type, and window size. An
- intuitive "gadtools" graphical user interface is supplied to control
- your telnet connections. You also have the option to automatically
- connect to a host after starting up your comm program. Instant logins
- at the click of a button!
-
- telser can run in host mode, which means it would accept incoming
- calls. This feature allows you to set up a "multi-line" BBS over the
- internet!
-
- telser is capable of unlimited device units, which means you can have
- unlimited incoming and outgoing connections. Telser supports both
- TCP/IP packages on the Amiga, namely AmiTCP (tested with 3.0b2 and
- 4.0) and AS225r2.
-
-
- 3. Demo Restrictions
- ====================
-
- The demo version of telser allows one device unit. Opening a second
- unit causes a device busy result code. If you use telser often you
- are recommended to register. When you register you get unlimited
- device units. The future of this project is in your hands...
-
-
- 4. Requirements
- ===============
-
- telser runs on any Amiga(tm) with version 2.04 of the OS, running
- AmiTCP or AS225r2. AmiTCP 3.0b2 and 4.0 demo has been tested, but it
- does not work with 2.3. telser uses very little memory (perhaps 80K).
- To make telser even more memory efficient, make it resident. Then
- every device unit you open will use about 10K.
-
-
- 5. Installation
- ===============
-
- The telser archive contains the following files:
-
- telser.install -- simple install program
- bin/telser -- telser main program for AmiTCP
- bin/tstelnet -- comm program that uses telser.device
- c/telser -- telser main program for AS225r2
- db/telser.conf -- configuration file for each device unit
- db/telser.hosts -- list of host aliases
- db/telser.mdm -- stores modem configuration
- db/telser.terms -- list of terminal types
- db/telserd.conf -- configuration file for serv/telserd
- devs/telser.device_amitcp --
- device driver that talks to bin/telser
- devs/telser.device_as225r2 --
- device driver that talks to c/telser
- doc/telser-Axsh-setup.doc -- Axsh setup tutorial in text format
- doc/telser-Axsh-setup.doc.info -- icon for above
- doc/telser-Axsh-setup.guide -- Axsh setup tutorial in AmigaGuide(r)
- format
- doc/telser-Axsh-setup.guide.info -- icon for above
- doc/telser.doc -- telser documentation in text format
- doc/telser.guide -- telser documentation in AmigaGuide(r) format
- doc/telser.guide.info -- icon for the above
- libs/rawin.library -- linemode editing handling library
- serv/telserd_amitcp -- telser daemon ("server") for AmiTCP
- serv/telserd_as225r2 -- telser daemon for AS225r2
- src/tstelnet.c -- sample source that uses telser.device
- src/tstelnet.makefile -- makefile of course
-
- The files in the archive will not overwrite any of files in your TCP
- package, so don't worry. If you have problems with the installation,
- I'll be happy to help you. See `Contact Address'.
-
- AmiTCP Installation
- -------------------
-
- To install telser for AmiTCP, unpack the archive into AMITCP:
- 1> lha x DH0:telser100.lha AMITCP:
-
- Copy and rename the device driver telser.device_amitcp into devs:
- 1> copy AMITCP:devs/telser.device_amitcp devs:telser.device clone
-
- Rename the executables:
- 1> rename AMITCP:serv/telserd_amitcp AMITCP:serv/telserd
-
- AS225r2 Installation
- --------------------
-
- To install telser for AS225r2, unpack the archive into INET:
- 1> lha x DH0:telser100.lha INET:
-
- Copy and rename the device driver telser.device_as225r2 into devs:
- 1> copy INET:devs/telser.device_as225r2 devs:telser.device clone
-
- Rename the executables:
- 1> rename INET:bin/tstelnet INET:c/
- 1> rename INET:serv/telserd_as225r2 INET:serv/telserd
-
- If you have no more files in INET:bin you can simply delete it.
-
- Simple Installation Script
- --------------------------
-
- To install telser for AmiTCP or AS225r2, execute the telser.install
- script. The script does what the above installation procedures do.
-
- Type:
-
- 1> cd AmiTCP: (or INET:)
- 1> execute telser.install
-
- The following prompt will be displayed:
-
- Install AmiTCP version of Telser? (y = yes, n = AS225r2 version) => y
-
- When it's done, this message will be displayed:
-
- Installing files completed...
-
-
- 6. Configuration
- ================
-
- telser is a very configurable program. Most of the configuration
- files can be manipulated by the save buttons in section
- `Telser Options Window'. The rest must be editted with a text editor.
- In most files, a "#" or ";" tells telser to ignore ("comment out")
- those lines.
-
- 6.1. Device Unit Configuration
- ------------------------------
-
- db/telser.conf allows you to configure each unit of telser.device.
-
- The follow is how db/telser.conf looks like:
- ------------------------------------------------------------------------------------------------
- #unit default host (alias) map serial break to OPENWIN LINGER DEBUG logfile
- # Nothing or or or
- # OpenWindow NOOPENWIN NOLINGER NODEBUG
- # AbortOutput
- # AreYouThere
- # Break
- # EraseChar
- # EraseLine
- # GoAhead
- # InterruptProcess
- # NoOperation
- # SynchOperation
- 0 "" OpenWindow OPENWIN NOLINGER DEBUG T:telser.log
- 2 home OpenWindow OPENWIN NOLINGER DEBUG T:telser.log
- 3 home OpenWindow NOOPENWIN NOLINGER DEBUG T:telser.log
- ------------------------------------------------------------------------------------------------
-
- Unit field:
- The unit number the comm program will use.
-
- Host (Alias) field:
- This field tells telser which host should a connection be
- attempted once the comm program is started. Enter "" if automatic
- connection is not desired at telser.device opening time. You may
- use an IP address, host alias, or a real hostname for this field.
-
- Map Serial Break To field:
- Most comm programs allow the user to send a physical break signal
- to the modem. This feature is inapplicable to a telnet
- connection. Instead, telser allows the user to do various things
- when he/she tries to send a "virtual" break. When such a break is
- sent, telser can be directed to do the following:
-
- Nothing: ignore the virtual break signal
- OpenWindow: Open telser's main window if it's not already opened.
- If already opened, bring the window to front.
- AbortOutput: Send a telnet Abort Output command to host.
- AreYouThere: Send a telnet Are You There command to host.
- Break: Send a telnet Break command to host.
- Note that this break is nothing like a modem break.
- EraseChar: Send a telnet Erase Character command to host.
- EraseLine: Send a telnet Erase Line command to host.
- GoAhead: Send a telnet Go Ahead command to host.
- Interrupt Process: Send a telnet Interrupt Process command to host.
- Often this command kills the foreground process
- on Unix machines.
- NoOperation: Send a telnet No Operation command to host.
- SynchOperation: Send a telnet Synchronize Operation to host.
-
- Consult Telnet RFC's (e.g., RFC854) for more information about
- Telnet commands and options.
-
- OpenWin/NoOpenWin field:
- This flag tells telser to open its window when your comm program
- starts up. If OpenWin is specified, the window will be opened, or
- if NoOpeWin no window will be opened.
-
- Linger/NoLinger field:
- This flag allows you to terminate your comm program without
- closing the telnet connection. This is useful when you need to
- switch comm programs. When Linger is specified, telser will not
- quit when the comm program exits. Otherwise, if NoLinger is
- specified, the connection will be closed and telser terminates
- when the comm program quits. This flag sets the Linger checkbox
- in section `Telser Options Window'. Some BBS packages need this
- option on.
-
- Debug/NoDebug field:
- When Debug is specified, all telnet negotiation options and
- commands will be logged.
-
- Logfile field:
- Specify the file name where all logs should go. Enter "" to
- disable logging to file. The logfile is written after telser
- exits. For an explanation on the format of log entries see
- section `Logging'.
-
- This file can be manipulated by the "Save Unit Options" button in
- section `Telser Options Window'. This file is not necessary for the
- operation of telser. If a unit or the file is missing defaults will
- be used.
-
- 6.2. Telnet Hosts Configuration
- -------------------------------
-
- db/telser.hosts looks something like this:
- ----------------------------------------------------------------------
- # telnet options
- # bitmap (if set)
- # 0 - initiate negotiation
- # 1 - do binary
- # 2 - do echo
- # 3 - do sga
- # 4 - will ttype
- # 5 - will naws
- # 6 - will linemode
- # 7 - will tspeed
- #alias hostname or IP port term bits
- # 01234567
- home localhost 23 ansi 11111111
- archie archie.rutgers.edu 23 ansi 11111111
- school fraser.sfu.ca 23 vt100 11111100
- work incognito.com 23 vt220 11111111
- fun res.com 23 vt100 11111111
- ----------------------------------------------------------------------
-
- Alias field:
- An alias for the host you want to connect to.
-
- Hostname or IP field:
- The real name or IP address of the host you want to connect to.
-
- Port field:
- The port you want to telnet into. Normally this is 23, but for
- MUD (Multi-User Dungeon) sites, this can be something like 6667.
- Specify 0 if you don't care which port you are connecting to.
-
- Term field:
- The terminal emulation you will be using for the connection. Note
- that telser does not handle terminal emulation per se. It is up
- to your comm program to do so. Term is provided so that the host
- you are connected to will automatically know what term you are
- using. You must enable automatic terminal emulation if you want
- to notify the host about the terminal you are using. Telnet
- options bit #4 is used for this purpose.
-
- Telnet Options Bitmap field:
- This bitmap allows you to specify what is to be performed during
- telnet negotiation. Putting a "1" at a bit position sets it. The
- bits are defined as follows.
-
- Bit 0: We initiate telnet negotiation with the host.
- If 0, telser will not talk first during Telnet
- negotiation.
- Bit 1: We ask the host to go into binary mode.
- Bit 2: We ask the host to echo what we typed.
- Bit 3: We ask the host to Suppress Go Ahead.
- Bit 4: We tell the host we will be sending our terminal type.
- Bit 5: We tell the host we will be sending our window size.
- Bit 6: We tell the host we will be going into linemode.
- In linemode, editing is done locally. This speeds up
- command line editing immensely.
- Bit 7: We tell the host we will be sending our terminal speed.
-
- Of course the host can refuse any of our requests.
- To understand what these Telnet options and commands do, refer to
- their RFCs (Request-For-Comments).
-
- This file can be manipulated by the "Save Telnet Options" button in
- section `Telser Options Window'.
-
- 6.3. Terminal Emulation Configuration
- -------------------------------------
-
- db/telser.terms allows you to specify the list of terminal emulations
- your comm programs can support. They can be used to notify the host
- on what emulation you are using.
-
- db/telser.terms looks something like this:
- ----------------------------------------------------------------------
- #term cols rows
- ansi 80 24
- dumb 80 24
- vt52 80 24
- vt100 80 24
- vt102 80 24
- vt200 80 24
- vt220 80 24
- vt240 80 24
- vt300 80 24
- vt320 80 24
- vt340 80 24
- vt420 80 24
- rip 80 48
- unknown 80 24
- xterm 160 128
- ----------------------------------------------------------------------
-
- Term field:
- The terminal type supported by your comm program.
-
- Cols field:
- The number of columns of your comm window.
-
- Rows field:
- The number of rows of your comm window.
-
- This file is what gets displayed in the terminal list box in
- `Telser Main Window'. Telnet negotiation on terminal type and window
- size will use these definitions.
-
- 6.4. Modem Profile Configuration
- --------------------------------
-
- db/telser.mdm stores the modem profile for each telser.device unit.
- The profile is loaded every time telser.device is opened with a
- particular unit.
-
- db/telser.mdm looks something like this:
- ----------------------------------------------------------------------
- [0]
- B0
- E1
- F1
- M1
- ...
- ----------------------------------------------------------------------
-
- The number in [] is the unit number of the modem. What follows are
- the registers, etc. for that unit. In this case, telser.device unit
- 0 will use the above. You normally don't need to edit this file
- directly. Do your stuff with the "AT" commands in your comm program
- and type "AT&W" to save it to this file.
-
-
- 6.5. Server Mode Configuration
- ------------------------------
-
- db/telserd.conf stores the units that telserd should attempt to use
- when an incoming call is detected.
-
- db/telserd.conf looks something like this:
- ----------------------------------------------------------------------
- #unit ring-interval max-rings startup-command cleanup-command logfile
- # (seconds) "" for none "" for none "" for none
- 0 2 2 "" "" t:telserd.log
- 2 2 2 "" "" t:telserd.log
- ...
- ----------------------------------------------------------------------
-
- Unit field:
- The telser.device unit to check for the possibility of making a
- connection. If this unit is not already opened or busy, the next
- one will be attempted.
-
- Ring-Interval field:
- The number of seconds between "RING" messages are sent to the unit.
-
- Max-Rings field:
- The maximum number of "RING"s to send to the unit before giving up.
- After giving up, the next unit is tried.
-
- Startup-Command field:
- The command to execute before actually trying to talk to the unit.
- If the command fails (errorcode non-zero), this unit is ignored.
-
- Cleanup-Command field:
- The command to execute after the telnet connection is closed.
-
- Logfile field:
- The file where all logs are written to. If logging is
- undesirable, enter "" for this field. The logfile is written
- after telserd exits.
-
- In addition to editing the above file you must also edit db/inetd.conf
- and db/services.
-
- Your db/inetd.conf file should look like this:
-
- telnet stream tcp nowait root amitcp:serv/telserd
-
- If you are using the current version of AS225 or newer, you must omit
- the "root" word from the above line!
-
- Your db/services file should look like this:
-
- telnet 23/tcp
-
- Usually, the services file is already set up by your TCP package.
-
- To get your BBS running over telser, you must make sure
- db/telserd.conf contains the unit number that is opened by the BBS
- software. Also, db/telser.conf should have an entry for the unit
- used. All units that are to be used by telserd should not have
- auto-login enabled!!! i.e., make sure the "host" field is blank ("").
- You wouldn't want your BBS automatically dial out everytime the device
- is openend. If you are using AXsh with telserd, make sure you have
- LINGER on or AT&D0!!! It may apply to other BBS packages as welll.
-
-
- 7. How telser works
- ===================
-
- In client mode:
-
- <comm-prog> <--> <telser.device> <--> [telser] <-..-> [telnetd]
- ((( LOCAL MACHINE ))) (TCP/IP) ((( REMOTE HOST )))
-
- Your <comm-prog> opens telser.device and talks to it. telser.device
- relays all your serial commands to [telser]. telser also handles the
- telnet protocol. telser communicates with telnetd (or other daemons)
- on the remote host.
-
- In server mode:
-
- <BBS> <--> <telser.device> <--> [telser] <--> [telserd] <-..-> [telnet]
- ((( LOCAL MACHINE ))) (TCP/IP) (( HOST ))
-
- Your <BBS> opens <telser.device> and waits for an incoming call. The
- remote user uses the [telnet] program to connect to [telserd].
- ([telserd] is launched by inetd.) [telserd] simply moderates messages
- between [telser] and [telnet]. Once [telserd] makes a connection, it
- sends a "RING" message to [telser], which is then passed back to the
- <BBS>. If [telser] is set up to auto-answer it would do an auto-matic
- connection with [telserd]. Otherwise, the <BBS> must explicitly send
- an "ATA" command to [telser] to "answer" the call.
-
-
- 8. Using telser.device
- ======================
-
- To use telser.device, run your comm program the usual way. Select the
- option to change the serial device and unit. Change from
- "serial.device" to "telser.device". And if you need to have automatic
- connections, define a unit in db/telser.conf. See
- `Device Unit Configuration' for details.
-
- If telser.device is opened successfully you should be able to send
- modem commands to it.
-
- To make a connection with a host either type "ATDT <host>,[<port>]"
- from your comm program or enter the host information and click on the
- Connect button in the `Telser Main Window'. To disconnect from host,
- either log off from the host, or type "+++ATH", or press the
- Disconnect button from the `Telser Main Window'. After disconnection,
- a "NO CARRIER" message is returned.
-
- When you are done, just exit your comm program. telser will stay in
- memory and/or close any connection depending on the following
- condition. If LINGER on or AT&D0, telser will not exit. If LINGER on
- and AT&D2, telser will disconnect if connected, but will not exit. If
- LINGER off and AT&D2, telser will exit and close any connection.
- Under any other condition, telser stays running.
-
-
- Controlling Telser from the Shell
- ---------------------------------
-
- If a telser client is still running (when running with the linger
- option on) but it is not servicing a comm program, it may be killed
- off by sending a ^C break signal to it with the "break" command.
-
- For example:
- 1> status
- 2> break <telser-proc> C
-
- To open a telser client's window, send it an E signal. e.g., "break
- <telser-proc> E". To close the window, "break <telser-proc> D".
-
-
- 9. Using tstelnet
- =================
-
- tstelnet is a REALLY simple comm program that opens telser.device and
- allows you to connect to a host. tstelnet starts from device unit 0
- and goes through to 20 until telser.device is opened successfully.
- You may of course specify a specific unit and in which case only that
- unit is attempted. Trying units enables you to use tstelnet to act
- like the "telnet" program without having device unit conflicts which
- happens when two or more comm programs share a device unit.
-
- Usage: tstelnet [-ddevice,unit] host-name [port]
-
- Examples: tstelnet archie.rutgers.edu
- tstelnet mud.com 6667
- tstelnet -dtelser.device,100 amiga.rules.com
-
- tstelnet essentially sends "ATDT <host>,[port]" to the telser.device.
- Note that tstelnet is not limited to the usage of telser.device. You
- can use it as a comm program for a real serial port. e.g., "tstelnet
- -dserial.device,0 1-604-434-3665" would open serial.device unit 0 and
- tone-dials 1-604-434-3665. To exit tstelnet just hit Control-C (^C).
- For your enjoyment, the C source code to tstelnet is included in the
- src/ directory.
-
-
- 10. Gadtools Graphical User Interface
- =====================================
-
- As mentioned before, your telnet connections can be managed with a
- GUI. The GUI may be opened on any public screen by setting the
- environment variable "TELSERPUBSCREEN" to point to the name of the
- screen. For example:
-
- 1> setenv TELSERPUBSCREEN TERM
- 1> copy ENV:TELSERPUBSCREEN envarc: ; permanently saves it
-
- If the public screen cannot be opened, the Workbench screen is used
- instead. Note that some comm programs, such as Term, opens the serial
- device first before opening its screen. In this case, if telser was
- told to open its GUI at start up time, it will not appear in the
- comm's screen. To solve this problem, simply close the GUI and
- re-open it. Note that the environment variable can be changed at any
- time and will take effect the next time the GUI is re-opened.
-
- Telser has 3 windows in which you can change things.
-
- 10.1. Telser Main Window
- ------------------------
-
- If you specify it, when telser.device is opened a window that looks
- like the below opens. The OpenWin/NoOpenWin option in section
- `Device Unit Configuration' can determine whether this window will be
- opened at device opening time. Alternatively, you may send a
- "virtual" break signal to telser, as described in section
- `Device Unit Configuration', or typing "AT[" in command mode.
-
- +--------------------------------------------------+-+-+
- |[]| [0] Telser 1.00 - Copyright (c)1994 by Sam Yee|%|Z|
- |--------------------------------------------------+-+-+
- | Unregistered version +------+ |
- | Select Host Select Term | Help | |
- | +----------------+-+ +--------+-+ +---------+------+ |
- | |home |#| |ansi |#| | Connect | |
- | |archie |#| |dumb | | +----------------+ |
- | |school |_| |vt52 |_| | Disconnect | |
- | |work |^| |vt100 |^| +----------------+ |
- | |fun |v| |vt102 |v| | Send Commands | |
- | +----------------+-+ +--------+-+ +----------------+ |
- | +------------------+ +----------+ |Change Term Type| |
- | |fun | | | +----------------+ |
- | +------------------+ +----------+ |Change Win Size | |
- | +-----+ +----+ +----------------+ |
- | Port |6667 | Cols |80 | | Telnet Options | |
- | +-----+ +----+ +----------------+ |
- | +-------+-----+ Rows |24 | |
- | |Save As|Clear| +----+ |
- | +-------+-----+----------------------------------+-+ |
- | |[94-Oct-30 13:25:43] Trying localhost... | | |
- | |[94-Oct-30 13:25:43] Connection refused | | |
- | | | | |
- | | | | |
- | | +-+ |
- | | |^| |
- | | |v| |
- | +------------------------------------------------+-+ |
- +------------------------------------------------------+
-
- The title bar displays the unit number (e.g., "[0]") of telser.device.
- You can safely close the window if you don't need it anymore. All
- other windows associated with this window will be closed as well.
- Hitting the Escape key also closes the window.
-
- The second line of text displays who telser is registered to.
-
- The gadgets are defines as follows.
-
- Select Host:
- Select a host you want to connect to. To attempt a connection,
- click once on a host and click on the Connect gadget. Otherwise
- double-click on the host. If you want to connect to a host not in
- the list, simply enter it in the edit box below the list box and
- click on the Connect button.
-
- Port:
- This edit box enables you to establish a connection with a host at
- particular port number. In this example, the familar port 6667 is
- used.
-
- Select Term:
- Select the terminal type you will be using for this connection.
- Once a term has been selected, the Cols and Rows edit boxes
- reflect the type of terminal. However, Cols and Rows can still be
- manually changed. Note that telser will only notify the host
- which terminal you are using if you tell it to.
- See `Telser Options Window'
-
- Cols:
- This edit box allows you to specify the number of columns your
- comm program supports.
-
- Rows:
- The number of rows your comm program supports.
-
- Help:
- Brings up the AmigaGuide(r) help file.
-
- Connect:
- Attempt a connection with the specified host. Once a connection
- has been established, this buttons is ghosted out.
-
- Disconnect:
- Disconnect from the host you are connected to. If you are not
- connected to a host, this button is ghosted out.
-
- Send Commands:
- When a connection is made, you may control the telnet connection
- by clicking on this button. It will then bring up a window with
- many buttons you can push. See `Telnet Send Commands Window'
-
- Change Term Type:
- If you are already connected, you may tell the host what your new
- terminal type is.
-
- Change Win Size:
- If you are already connected, you may tell the host how big your
- comm program's window is. Programs like "vi" on Unix will
- auto-adjust itself to reflect the change in window size.
-
- Save As:
- Save the logs to a particular file. A file requester will open up
- to request for a filename.
-
- Clear:
- Clear the logs. No warning is given prior to the clear.
-
- 10.2. Telser Options Window
- ---------------------------
-
- This window allows you to manipulate options for a telnet connection
- or a telser unit.
-
- +-----------------------------------------------+-+-+
- |[]| [0] Telser Options |%|Z|
- |-----------------------------------------------+-+-+
- | Telnet Host Options |
- | _ _ |
- | |_| Initiate Negotiation |_| Will Terminal Type |
- | |_| Do Binary |_| Will Window Size |
- | |_| Do Echo |_| Will Terminal Speed |
- | |_| Do Suppress Go Ahead |_| Will Linemode |
- | |
- | Telser Unit Options |
- | |
- | Map Ser Break To _ |
- | +---------------------+ |_| Open Window |
- | |@| Open Window | |_| Linger [ ] Debug |
- | +-+-------------------+ |
- | |
- | +---------------------+ +---------------------+ |
- | | Save Telnet Options | | Save Unit Options | |
- | +---------------------+ +---------------------+ |
- +---------------------------------------------------+
-
- The "[0]" above indicates that these options are for telser.device
- unit 0.
-
- Telnet Host Options:
- These options are defined in `Telnet Hosts Configuration'
-
- Telser Unit Options:
- These options are defined in `Device Unit Configuration'
-
- Save Telnet Options:
- Save these telnet options to the db/telser.hosts file.
-
- Save Unit Options:
- Save these telser.device unit options to the db/telser.conf file.
-
-
- 10.3. Telnet Send Commands Window
- ---------------------------------
-
- When a telnet connection has been established, sometimes it is useful
- to send telnet commands to the host. This window will allow you to do
- just that.
-
- +-----------------------------------------------------------+-+-+
- |[]| [0] Send Telnet Commands |%|Z|
- |-----------------------------------------------------------+-+-+
- | +-------------------+-------------------+-------------------+ |
- | | Abort Output | Erase Character | Interrupt Process | |
- | +-------------------+-------------------+-------------------+ |
- | | Are You There | Erase Line | No Operation | |
- | +-------------------+-------------------+-------------------+ |
- | | Break | Go Ahead | Synch Operation | |
- | +-------------------+-------------------+-------------------+ |
- +---------------------------------------------------------------+
-
- The "[0]" above indicates that these options are for telser.device
- unit 0.
-
- All these commands are documented in "Map Serial Break To field" of
- section `Device Unit Configuration'.
-
-
- 11. Logging
- ===========
-
- All log entries have a time/date stamp. The logs are written at the
- time telser.device closes, unless of course you click on the "Save
- Log" button in the `Telser Main Window'. The log entry types are
- defined as follows.
-
- Trying <host>...
- Client is trying to open a telnet connection with <host>
-
- Connection established.
- A successful connection has been made with the host.
-
- select() returns <result>: error <code>
- Internal error <code> caused by select()
-
- Connection closed by foreign host.
- telnetd on the other end has closed our connection
-
- Connection closed.
- you forcibly close the connection
-
- unknown host: <host>
- <host> is not in your hosts file or your name server.
- Try again with an IP address instead.
-
- tcp/telnet: unknown service
- The remote host does not have telnetd running.
-
- socket() error
- Unable to open a socket
-
- connect() error
- Unable to connect to host at a particular port number.
- Check your host name and port number and try again.
- Port number 0 is the default.
-
- Refer to your TCP/IP package for other network error messages.
-
-
- 12. Modem Commands
- ==================
-
- The basic Hayes(r) compatible modem commands and options are supported
- by telser.device. Also, several new commands are used by telser.
- Note that many commands and options are there for compatibility
- reasons and are ignored. The effective commands and options are
- defined as follows.
-
- Command/ Function
- Options
- -------- ----------------------------------------------------------
- A Manually answer an incoming call.
- A/ Re-execute the last command. Useful for redialing.
- It does not take AT or <Enter>.
- AT Attention: lets the telser.device know that commands are
- being issued to it.
- DP or DT Attempt to connect to a host.
- E.g., "ATDT archie.rutgers.edu,23". The 23 following the
- host name is the port number.
- DSn Connect to the host stored at host list position n.
- See &Zn. E.g., "ATDS3"
- En Command mode local echo.
- E0 Echo OFF
- E1 telser.device displays keyboard commands
- Fn Online local echo.
- F0 Echo ON
- F1 Echo OFF (default)
- H0 Disconnect from host.
- In Information display.
- I0 Three digit version number.
- I4 Display current modem settings.
- I5 Display nonvolatile memory (NVRAM) (ie., from file)
- settings.
- I7 Return version information
- O0 Return online.
- Qn Result Codes displayed/suppressed.
- Q0 Display result codes
- Q1 Quiet mode; no result codes.
- Sr=n Set register r to n.
- Sr? Show contents of S-Register r.
- V0 Verbal/numeric result codes.
- V0 Numeric codes
- V1 Verbal codes
- Xn Result code set.
-
- Result Code X0 X1 X2 X3 X4
- ----------------------------------
- 0/OK . . . . .
- 1/CONNECT . . . . .
- 2/RING . . . . .
- 3/NO CARRIER . . . . .
- 4/ERROR . . . . .
- 5/CONNECT 1200 . . . .
- 6/NO DIALTONE . .
- 7/BUSY . .
- 8/NO ANSWER . .
- 10/CONNECT 2400 . . . .
- 13/CONNECT 9600 . . . .
- 18/CONNECT 4800 . . . .
- 20/CONNECT 7200 . . . .
- 21/CONNECT 12000 . . . .
- 25/CONNECT 14400 . . . .
- 26/CONNECT 19200 . . . .
- 27/CONNECT 38400 . . . .
- 28/CONNECT 57600 . . . .
- 29/CONNECT 115200 . . . .
- Z Reset to software defaults.
- &Cn Carrier Detect (CD) signal.
- &C0 CD override
- &C1 Normal CD operations
- &Dn Data Terminal Ready operations.
- &D0 DTR override; so DTR drop would not cause a
- disconnection from host.
- &D2 Normal DTR operations; telser disconnects when DTR
- drops.
- &V Same as "ATI4"
- &W Write current configuration to NVRAM (ie., db/telser.mdm).
- &Zn=s Write host name string s to NVRAM at position n.
- +++ Escape to Online-command mode, or if S14=1, disconnect
- from host and escape to command mode.
- [ Open the telser window. E.g., "AT[".
- ] Close the telser window. E.g., "AT]".
- +CID=n Caller ID
- +CID=0 disable caller ID.
- +CID=1 enable caller ID.
- When caller ID is on, incoming calls will cause the
- following to be displayed:
-
- RING
- CID = IP address of caller
-
- *cmd Special modem commands for sending telnet commands.
- *AO Abort Output
- *AYT Are You There?
- *BRK Break
- *EC Erase Character
- *EL Erase Line
- *GA Go Ahead
- *IP Interrupt Process
- *NOP No Operation
- *SYNCH Synch Operation
-
- $ Display quick command summary. E.g., "AT$"
-
-
- S-Registers
-
- Register Default Function
- -------- ------- ----------------------------------------------
- S0 0 Sets the number of rings on which to answer in
- Auto Answer mode.
- S1 0 Counts and stores the number of rings from an
- incoming call.
- S2 43 Stores the ASCII decimal code for the escape
- character. The default is '+' (43). A
- value of 128-255 disables the escape code.
- S3 13 Stores the ASCII decimal code for the
- Carriage Return Character.
- S4 10 Stores the ASCII decimal code for the Line
- Feed Character.
- S5 8 Stores the ASCII decimal code for the Back-
- space character.
- S14 0 If set to 1, the connection will be closed up
- on receipt of the escape code, returns to
- command mode and sends the NO CARRIER result
- code.
- S19 0 Sets the duration, in minutes, for the
- Inactivity Timer. To disable it set it to 0.
- When the timer goes off, any connection will
- be closed.
-
- 12.1. Connection Result Codes
- =============================
-
- Telnet connection result codes are mapped to the following modem
- result codes.
-
- NO CARRIER
- unknown host or disconnection closed
-
- NO ANSWER
- unable to connect to host because host is down
-
- NO DIALTONE
- unable to open a socket
-
- BUSY
- unknown service
-
- CONNECT ...
- connection established.
-
-
- 13. serial.device compatibility
- ===============================
-
- The basic serial.device commands are supported. The ones that are not
- supported are simply ignored and a successful result code is returned
- to the comm program. Most comm programs are supported. Some examples
- are: Term 4.1, VLT 5.867, NComm 3.0, Terminus 2.0c and 2.0d, JPTC,
- and TinyTerminal. Note that when using telser with Terminus, the
- "Ignore ODU" option in settings/port should be turned off. AXSH 1.3
- has also been tested to work. The comm programs that don't work
- include hft, XComm1.0a, and Baud Bandit. Note that EOF mode is not
- supported yet. If you are a comm/BBS program author and telser
- doesn't work with your program let me know.
-
-
- 14. Troubleshooting
- ===================
-
- Problem:
- Nothing happens after I see the "CONNECT" string.
-
- Cause:
- Telnet negotiation failed.
-
- Solution:
- Turn BINARY mode off from the `Telser Options Window'.
- On some Suns, use the terminal "UNKNOWN" when logging in.
- After you logged in, issue "setenv TERM <your-term>".
- (The Suns I have access to don't suffer this problem.)
-
- ----------------------------------------------------------------------
- Problem:
- You can't enter your user id and password.
-
- Cause:
- The host expects a different end-of-line character that
- terminates a line of input.
-
- Solution:
- On some Suns, use ^J (linefeed) instead of carriage-return.
- If possible, remap your carriage-return key to linefeed.
- It may also help if you set the terminal to "UNKNOWN".
-
- ----------------------------------------------------------------------
- Problem:
- You can't log into Amiga NetBSD systems.
-
- Cause:
- Telnet negotiation failed.
-
- Solution (maybe):
- Telser's LINEMODE options are not 100% implemented.
- Hopefully, it'll be completed in the future releases.
- Meanwhile, try the host again with LINEMODE set off in
- the `Telser Options Window'
-
- ----------------------------------------------------------------------
- Problem:
- You can log into a BSDI BSD/386 system, but it wont' respond
- to your keystrokes.
-
- Cause:
- Telnet negotiation failed.
-
- Solution:
- telser doesn't support LINEMODE completely, so turn off LINEMODE
- in the `Telser Options Window' and try again.
-
- ----------------------------------------------------------------------
- Problem:
- When you use DTR drop to hang up telser you don't see the full
- "NO CARRIER" string.
-
- Cause:
- DTR drop invovles closing and re-opening the device.
- Some comm programs flush the device after it opens it,
- but before the first read.
- Therefore, the "NO CARRIER" can be partly flushed out.
-
- Solution:
- Do not use DTR drop to hang up. Instead use +++ATH\r.
-
- ----------------------------------------------------------------------
- Problem:
- When telser.device is opened the second time, the comm program
- reports busy.
-
- Cause:
- The unregistered version of telser allows only one unit at a time.
- You are recommended to register. See `Registration Form'
- You chose the same unit as the first comm program.
-
- Solution:
- If you are already a registered user, make sure the telser.key
- file is in S:
- Chose a different unit and try again.
-
- ----------------------------------------------------------------------
- Problem:
- You can't do file transfers.
-
- Cause:
- Intolerable time delays affecting the underlying transfer protocol.
-
- Solution:
- Play with the protocol parameters such as relaxed timing,
- packet sizes, etc.
- telser would probably not work with kermit as kermit probably
- use the EOFMODE of the serial device, which telser doesn't
- support yet.
- You can also "uuencode" the file you want to transfer and
- ascii capture the output from the "cat" command.
-
-
- 15. Acknowledgements
- ====================
-
- Thank-you's go to...
-
- - The AmiTCP group at Helsinki University for their great work;
-
- - Stephan Sürken for Text2Guide, which made creating AmigaGuide
- documents easy; and
-
- - All the beta-testers (TOO many to list.), especially those who
- made reports. Big thanks to David Zvekic (IRC nick: Ensoniq) and
- NJ Verenini (IRC nick: Spumoni) for working closely with
- debugging the AS225 and AmiTCP versions, respectively.
-
-
- 16. Registration Form
- =====================
-
- ----------------------- telser Registration --------------------------
- Surname___________________________ Given Name_________________________
-
- Company Name_________________ Type of Business________________________
-
- Street Address________________________________________________________
-
- City______________________________ Prov./State________________________
-
- Country___________________________ Postal/ZipCode_____________________
-
- E-Mail (please specify)_______________________________________________
-
- ______________________________________________________________________
-
- Can the above e-mail address accept uuencoded files?___
-
- What network software and hardware are you using?_____________________
-
- ______________________________________________________________________
-
- Where did you obtain telser?__________________________________________
-
- Version of telser you have now________________________________________
-
-
- Registration fee: $15US for unlimited units.
- Canadian users may send $20CAN.
-
- Method of payment:
- [ ] Money order
- [ ] Personal cheque, please allow 3-4 weeks for clearance.
- No personal cheques from outside of Canada.
- [ ] Cash (wrap it with lots of paper). Registered mail recommended.
- I hold no responsibility for missing cash.
-
- I have read the section `Legal Stuff' and agree with it.
-
- _________________________ ___________________________________________
- (Date) (Signature)
- ----------------------------------------------------------------------
-
-
- 17. Contact Address
- ===================
-
- Registration fees, questions, ideas, comments, bug reports, etc.
- should go to:
-
- Snail Mail: Sam Yee
- 4595 Nanaimo St.
- Vancouver, B.C.
- Canada V5N 5J5
-
- Internet: samy@sfu.ca
- FidoNet: 1:153/765 (Terra Firma BBS (604) 434-3665)
-