如何实施“传真协议”?

时间:2011-02-22 04:51:14

标签: fax

我想编写一个以编程方式发送传真的程序。或接收传真。 但不是调制解调器。我想我正在尝试编写传真模拟器。硬件所做的一切,我想用软件做。

关于这个话题有十亿个SO问题,但是他们要么建议使用在线服务,要么指向一个与我的计算机调制解调器对话的图书馆。所以这是我的具体问题:

  1. 当我发送传真时,我可以听到电话线上的嗡嗡声。这告诉我,我的传真机正在生成可由收件人消费的音调。 该协议是什么?是否有RFC指定“像素”如何转换为“频率”? 机器来回沟通,还是单向沟通?

  2. 如果我们同意传真机将声音频率转换为图像,则应该能够编写一个程序,该程序采用传真传输的MP3并输出图形。 为了做到这一点我需要知道什么?

  3. 这些问题是否基于任何有缺陷的假设?我应该从哪里开始,以便从上面完成目标#2?

3 个答案:

答案 0 :(得分:6)

实际上在调制解调器中,称为“DSP =>数字信号处理”的芯片负责将音频信号转换为数字DATA。同样可以用软件库完成。已经有一个名为SpanDSP的开源DSP库由“Steve Underwood”http://www.soft-switch.org/开发。

您可以在使用SpanDSP库时构建自己的应用程序,但使用SpanDSP的某些现有实现是明智的。目前,SpanDSP在开源FreeSwitch,CallWeaver和Asterisk PBX系统中实现。

但如果您只想发送和接收传真而不打扰低级开发,请尝试ICTFAX Open Source FAX system

答案 1 :(得分:4)

您需要的传真规格是ITU T4和T30,它们需要花费很多钱并且几乎很难理解,它们会引导您了解实际“颤动”的各种调制解调器标准。 / p>

如果您希望像RFC一样免费/轻松,那么您现在应该放弃。

如果您确实要解码音频文件,则需要将其视为两个完全独立的任务 - 首先将音调解码为数据流(构建多个软调制解调器,以便传真机可以同意通信的各种方式) ),然后再将数据流解码为像素(写一台传真机的软件)。

传真机将光线和黑暗转换为声音然后再转回,或者可以窃听两台传真机之间的对话并恢复图像(实时或通过某种形式)并不是根本错误捕获文件,虽然我不确定MP3是否可行),但我怀疑你非常大,低估了所涉及的工作量。

答案 2 :(得分:0)

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

有很多背景资料。

国际电联的协议非常复杂,IIRC确切的规范并不是免费的。