In principle, this should work for any ISP. However, I connect to Enterprise, so I don't know for sure that it won't be different for another ISP.
The way I connect to Enterprise is through Linux's PPP, which should be included in your Linux release. The version of PPP to use with kernel versions up to 1.2.13 is 2.1.2. With kernel version 2.0.0 and later, you must use PPP version 2.2.0f or later.
You need to have PPP support compiled into your kernel.
In order to save users from having to remember complicated command lines, pppd needs to be set off from a script which sets up the connection. This is how mine works, using kernel version 2.1.3:
The pppd and chat programs are in /usr/sbin. All other files are in /etc/ppp, as recommended by the release notes for PPP 2.2.0f.
In /etc/ppp/scripts are the programs which any user may use for PPP connection and disconnection. In order to make sure that they are in everyone's search path, links should be made to them from /usr/local/bin, or some other suitable directory.
In /etc/ppp are the chat script and the pppd options file. Here also are the scripts run by the pppd daemon when the IP connection is made and taken down.
Remember to make all scripts and binaries executable, or they will not run. Neither the programs, scripts nor the /etc/ppp directory should be writable by users other than root or the admin accounts.