Как реализовать «протокол факса»? - PullRequest
11 голосов
/ 22 февраля 2011

Я хочу написать программу, которая программно отправляет факсы. Или получает факсы. Но не с модемом. Наверное, я пытаюсь написать симулятор факса. Все, что делает оборудование, я хочу делать с помощью программного обеспечения.

Есть миллиард SO вопросов по этой теме, но они либо предлагают использовать онлайн-сервис, либо указывают мне на библиотеку, которая общается с модемом моего компьютера. Итак, вот мои конкретные вопросы:

  1. Когда я отправляю факс, на телефонной линии слышен трепет. Это говорит мне о том, что мой факсимильный аппарат генерирует тоны, которые потребляются получателем. Что это за протокол? Существует ли RFC, который определяет, как "пиксель" преобразуется в "частоту"? Машины связываются взад-вперед или в одну сторону?

  2. Если мы можем согласиться с тем, что факсимильный аппарат преобразует звуковые частоты в изображения, то необходимо иметь возможность написать программу, которая принимает MP3-файл с передачей факса и выводит изображение. Что мне нужно знать, чтобы сделать это?

Основаны ли эти вопросы на каких-то ошибочных предположениях? С чего мне начать, чтобы достичь цели № 2 сверху?

Ответы [ 3 ]

6 голосов
/ 04 марта 2011

На самом деле в модеме микросхема под названием «DSP => Digital Signal Processing» отвечает за преобразование аудиосигналов в цифровые данные.и то же самое можно сделать с помощью библиотеки программного обеспечения.уже существует библиотека с открытым исходным кодом DSP под названием SpanDSP, разработанная "Стивом Андервудом" http://www.soft -switch.org / .

Вы можете создать собственное приложение, используя библиотеку SpanDSP, но этоЦелесообразно использовать существующую реализацию SpanDSP.В настоящее время SpanDSP реализован в системах с открытым исходным кодом FreeSwitch, CallWeaver и Asterisk PBX.

Но если вы хотите только отправлять и получать факсы, не беспокоясь о низкоуровневой разработке, попробуйте ICTFAX Open Source FAX system .

4 голосов
/ 04 марта 2011

Спецификации факса, которые вам могут понадобиться, это ITU T4 и T30, которые стоят больших денег и почти преднамеренно трудны для понимания, и они отсылают вас к различным модемным стандартам о том, как происходит настоящая «борьба».

Если вы надеетесь на что-то бесплатное / простое, например RFC, то вам, вероятно, стоит отказаться сейчас.

Если вы хотите декодировать аудиофайл, вам нужно будет просмотреть это какдве совершенно разные задачи - во-первых, декодирование тонов в поток данных (создание нескольких программных модемов для различных способов, с помощью которых факсимильные аппараты могут договориться об обмене данными), а затем, во-вторых, декодирование потока данных в пиксели (напишите программное обеспечение факсимильного аппарата).

Вы не ошибаетесь, что факсимильный аппарат преобразует свет и тьму в звук, а затем обратно, или что можно прослушать разговор между двумя факсимильными аппаратами и восстановить изображение (в режиме реального времени иличерез какой-то файл захвата, хотя я не уверен, что MP3 будет работать), но я подозреваюВы очень, очень недооценили объем работы.

0 голосов
/ 22 февраля 2011

http://en.wikipedia.org/wiki/Fax

имеет много фона.

Протоколы МСЭ очень сложны, точные спецификации IIRC не бесплатны.

...