Modempool is a modem server that does a security check of a calling user and then calls that user back if he/she is permitted. Modempool works in two modes simultaniously, either it is listening for incomming calls, or it will dial up a user if another modempool server tells it to do so.
When the first connection is made to the modempool server the user will be prompted for name and password, if not OK the user is disconnected and a logg record is written. otherwise modempool will check the file /etc/local/modempool/Users to see what phone number to use for calling the user, it then looks up another free modempool server whom it tells to dialup the user, i.e. it does not call the user it self but order another server to do so, the reason for this is that it enables this port to be used again for a new connection.
This functionality is usefull for instance for sites that lacks many external phone numbers, but instead has many local lines that cannot be dialed from outside but can only be used for dialing out.
Also it simplifies the administration of a modempool by having only one known telephone number that everyone dials.
When the modempool server is called it checks the connection baudrate and sets the terminal port to that speed. This makes it possible to have cheap modems and still handle multiple baudrate dialups. When the user later on is called the same baudrate will be used.
The way a serve finds out other free servers is done by looking in the file /etc/local/modempool/serverdb where all servers should present it self.
The program psc can be used to see how the lines is currently being used. Output will be in the format:
LINE PID STATUS PHONE BAUD NAME (HOST)where
The user database /etc/local/modempool/Users looks like the passwd file and has the following records:
user:password:phone:[host]where
The special number * can be used to permit any number. In this case a special record is written to the log, also here the user is prompted for number.