Самый извратский способ проверить баланс карты сбербанка

Собственно, закончил этот изврат.

ТЗ: дозвониться на произвольный номер, с произвольной задержкой ввести разные цифири, записать ответ и отключиться. То есть дозваниваемся до сбербанка, вбиваем свои номера, записываем ответ и отключаемся.

Реализация: старый курьеровский модем, вместо динамика я подпаял провод к звуковухе, чтобы воткнуть в line-in

Далее кусочек самописного ПО на сях. Можно было использовать и штатные средства системы, но мне лень было вспоминать, поэтому я реализовать нечто свое средней степени извращенности.
прога хавает в виде аргументов путь к порту и имя файла со скриптом.
Скрипт, это файл, подобного формата:


команда модема\tожидаемый_ответ\tсколько секунд ждать перед выполнением следующей команды\n
команда модема\tожидаемый_ответ\tсколько секунд ждать перед выполнением следующей команды\n

Так же можно туда вписать строки вида:
sys\tкоманда\tсколько ждать\n

Это выполнет шелловскую команду и дождется ее завершения.
frk\tкоманда\tсколько ждать\n
форкнет команду.

Сырцы забираем тут:
http://cli-apps.org/content/show.php?content=108901

Можно глянуть как оно выглядит:

Вот так оно работает: