On-hook means the modem is disconnected and the phone line is not in use (when you hang up the phone, it is sitting "on the hook"). Off-hook is when the modem is talking on the phone line, either before or after a connection is made.
Once a connection is made, the data that is passed to and from the modem is no different to a serial port connected directly to another computer. It is entirely application defined. You can use SLIP to take TCP/IP traffic and send it down a serial line, or the more modern (relatively speaking) replacement for SLIP, called PPP. SLIP is much simpler (I have implemented SLIP on an Arduino to get TCP/IP working without any shields) however PPP is more versatile.
If you are running an old operating system inside your emulator, then you will need to configure it to speak SLIP or PPP when you set up a dial-up Internet connection. Your emulator can then listen to that data coming from the serial port and decode it using the SLIP or PPP protocols, and send the appropriate response data to funnel Internet traffic through the connection.