You would just dial the other person’s modem and that would give you a bidirectional steam of bytes from one machine to another. Anything you typed showed up in their terminal and vice versa. Then you could initiate a file transfer using a protocol such as Zmodem, which would stream the file in checksummed chunks so that parts could be retried if line noise corrupted them.