Действительно, для небыстрой пересылки маленьких пакетов можно обойтись только линиями RX, TX. Хотя, очень желательно еще линию DCD завести, чтобы всегда "независимо" знать, что связь есть. Прочие RTS-CTS, DTR-DCR нужны когда пересылаются большие блоки данных, не влазящие в буфера.
Базовый набор команд у всех модемов более/менее одинаков (называют их Hayes-совместимыми).
Инициализация: "ATZ"
Набор номера: "ATD1234567"
на вызываемом модеме выдается "RING"
говоришь ему "Поднять трубу": "ATA"
модемы договариваются, соединяются...
...выдают слово "CONNECT чего-то там с чем-то там"
ВСЕ, соединение установлено, пихаемые в порт байтики появляются с другой стороны, и наоборот

Чтобы прекратить связь: "+++ATH"
Конечно, нужно предусмотреть обработку неудач соединения ("NO DIAL TONE",
"BUSY", "NO CARRIER" и т.п.).
Всяческие настройки модемов обычно можно сделать предварительно, затем записать их им в память.
Подробнее -- см. в полных инструкциях на модемы. В свое время очень хорошо были расписаны, например, модемы US Robotics.
Я советую послать строку инита.
Тогда модем будет отвечать цифр. командами