I have an application where people in the field need to connect to our server. They will be in a location with no WiFi. There is always a phone, but no dial-up ISP.

Could someone point me to a paper or documentation on setting up a modem on our server to allow users to dial in and exchange information? I would be most comfortable with a nice error-correcting protocol for the communication, but if I absolutely had to I could just exchange blocks of data directly over the phone (no network protocol) and deal with the error management myself.