We offer dial up PPP (and SLIP) accounts and shell accounts using the same user name/password pair. This has the advantages (for us) that a user requires only one account and can use it for all types of connectivity.
As we are an educational organization, we do not charge our staff and students for access, and so do not have to worry about accounting and charging issues.
We operate a firewall between our site and the Internet, and this restricts some user access as the dial up lines are inside our (Internet) firewall (for fairly obvious reasons, details of our other internal fire walls are not presented here and are irrelevant in any case).
The process a user goes through to establish a PPP link to our site (once they have a valid account of course) is :-
Dial into our rotary dialer (this is a single phone number that connects to a bank of modems - the first free modem is then used).
Log in using a valid user name and password pair.
At the shell prompt, issue the command ppp to start PPP on the server.
Start PPP on their PC (be it running Windows, DOS, Linux MAC OS or whatever - that is their problem).
The server uses individual /etc/ppp/options.ttyXX files for each dial in port that set the remote IP number for dynamic IP allocation. The server users proxyarp routing for the remote clients (set via the appropriate option to pppd). This obviates the need for routed or gated.
When the user hangs up at their end, pppd detects this and tells the modem to hang up, bringing down the PPP link at the same time.