Wut Ricky and Gaurav mention is true, especially when u need to do socket programming in C.
From my part:
In my opinion, u should get familiar with the hands on of PPP setup using chat scripts on Linux.
Also, u need to get an external 56K modem supported by Linux, and have a good documentation with list of AT commands supported by that modem.
I used the tool called "minicom" as well to help to simulate the AT commands before deploying applications using PPP scripts.
If both of this u can get the resources, im pretty sure, ur very close to achieving your goals. I suggest u check the TLDP website for configurations and concepts.
www.tldp.org/