Many, many years ago I had written an application in VB6 that would send and receive data over a regular radio channel. This was before GPRS etc. had appeared on the scene and that used to a standard in data communication between a home base and vehicles (taxi, ambulance, etc.) Since your card reader operate via the phone jack I think it uses a similar protocol.
Basically it means you are dealing with a sort of serial communication. Your card reader will send its data (probably) as bits, in other words as 0 and 1. 0 (zero) and 1 would differ by the frequency used.
In those old days of data communication a typical standard was this:
0 = 800 Hz
1 = 2100 Hz
Baudrate: 1200
Frequencies and Baudrate might of course differ for your device, but a commonly used Motorola chip back then used these data.
Fax and old modems used the same technology. And of course them beautiful old acoustic couplers. (See link)
Acoustic coupler - Wikipedia, the free encyclopedia
There will be of course a certain prtocol involved. The software of the device will probably send some signal to initiate the transmission. The datastream received will contain some header bytes with info like length of the message etc. There might be delimiters and checksum too.
Hope this gives you a little of an idea.
Rolf