Modem documentation index


Description

Modem is a distributed communication package for modems. The system works as follows:
Each host on a network with one or more modems attached to it, runs the modemd server to make one or more of these modems available on that network.

To use a modem, for example to establish a PPP connection, modemcontrol broadcasts a message on the network. A server who is willing to serve modemcontrol, replies with it's address. modemcontrol then connects to that server using tcp. The server forks and restarts listening for new requests. The new child opens and locks one of the available modems and will try to establish a connection by dialing the remote site. After a connection is established, the child will read data from the modem and the tcp connection until either a hangup from the modem is detected or the network connection is broken. All data read from the tcp connection will be copied to the modem, all data read from the modem will be copied to modemcontrol.

modemcontrol uses the personal phone book to get the number to dial. After dialing it allocates a pseudo terminal and let the environment variable MODEM point to it. It then executes the program as given on the command line. Modemcontrol also creates a new window with information about the modem.

The program executed by modemcontrol can be any program. The program can communicate with the modem by reading and writing to ${MODEM}. The program does not need to worry about the type of the modem or about things like dialing and terminal settings. The ppp script included in this package for example, just pops up a login window (modemlogin) and starts the pppd server.

Advantages:

Identification:

The identd server is used by modemd to identify the remote user of modemcontrol. This server needs therefore to be running on your system.

Context sensitive help

If you have netscape installed on your system, you can use the context sensitive help system from within the several tools included. Unfortunately this system is not as helpful as it should be.

Platforms

Currently the modem software is known to run on both Linux and Solaris 2.x (at least the x86 version) platforms. The Solaris 2.x sparc and HP-UX platforms have been tested using the virtual modem device that is included in the package (see the file ./tests/README in the source tree of the package).

Problems:

Although this is the first non-beta release, the software still may (and probably will) have several bugs. Please inform me about any bugs, recommendations or improvements.

To do:

Enjoy!
Author: Merijn de Jonge (mdejonge@wins.uva.nl)