Skip to main content
  • 传真技术
  • 传真协议基础

传真协议基础:T.30、T.38、ECM 详解

#核心一句话总览

T.30 是G3传真的会话控制协议(业务逻辑);T.38 是把T.30会话搬到IP网络上的承载协议(FoIP);ECM 是T.30附带的可选纠错机制,用来保证图像数据完整。 三者不是同级替代关系:T.30是传真的“灵魂握手流程”,无论跑在PSTN模拟线还是T.38 IP上,两端终端之间的T.30协商逻辑不变;T.38只是网关之间的数据包封装层;ECM是T.30会话内的数据校验重传机制。

#一、T.30:G3传真的会话控制核心协议(ITU-T T.30)

T.30定义一次传真呼叫完整生命周期,分为 A/B/C/D/E 五个阶段,所有实体传真机、云传真网关都遵循这套时序。它原生为PSTN电路交换网络设计,默认固定时延、电路持续连通,对IP网络的抖动、超时非常敏感。

#阶段A:呼叫建立(Call Establishment)

拨号、振铃、线路接通。

  • 主叫发送 CNG(1100Hz 呼叫提示音),告知对方:这是传真呼叫,不是普通语音;
  • 被叫应答后发送 CED(2100Hz 应答音);
  • 人工收发、自动收发都从这一步开始;线路接通后,进入传真能力协商。

#阶段B:报文前协商(Pre-message Procedure,最容易协商失败)

两端互相上报能力、协商通信参数,是传真握手的核心:

  • DIS:被叫上报自己支持的能力(分辨率、纸张尺寸、ECM是否支持、最高速率、压缩算法MH/MR/MMR);
  • DCS:主叫选定一套双方交集内的参数,下发给被叫;
  • 训练信号(Training):双方调制解调器同步、测速,确定最终传输速率(V.27/V.29/V.34 Super G3)。

这里决定后续所有参数:标准/精细/超精细分辨率、A4/Letter、ECM开启与否、传输速率。任何一方不支持对方选定参数,就会握手失败、挂断。

#阶段C:图像传输(Message Transmission)

按照B阶段协商好的参数,传输经过T.4压缩(MH/MR/MMR)的位图图像数据。

  • 普通模式:收到的包直接解码,线路噪声会直接出现黑线、麻点、缺行;
  • ECM模式:数据按块分片、带校验,出错则请求重传(见ECM章节)。

#阶段D:报文后流程(Post-message Procedure)

单页传输完成后的交互:

  • EOM:本页结束,还有下一页;
  • EOP:全部页面传输完毕,准备结束;
  • MPS、PRQ、PPR:ECM纠错重传交互信号。

#阶段E:呼叫释放(Call Release)

协商结束、挂断线路,释放呼叫资源。

业务重点:所有失败,大多发生在阶段B协商、阶段C ECM重传超时。T.30是时序强依赖协议,有严格计时器,IP网络时延大、抖动高时,很容易出现“信号在路上,终端判定超时”。

#二、T.38:IP网络传真承载协议(Fax over IP,ITU-T T.38)

T.30本身不懂IP包、丢包、抖动。当传真要跑在SIP/互联网上时,就需要T.38网关做中继转换,这也是云传真、IPPBX传真的标准方案。

#T.38的工作模型(网关中继模型)

  1. 发送侧网关:接收来自本地传真机的模拟T.30调制信号,解调、提取T.30信令与图像数据;
  2. 封装为 IFP(Internet Facsimile Protocol)报文,通过UDPTL(UDP Transport Layer)在IP网络传输;支持包冗余,对丢包做容错;
  3. 接收侧网关:收到IFP包,重新调制回模拟音频信号,继续以原生T.30和远端传真机对话;
  4. 两端的实体传真机完全感知不到IP网络存在,它们只看到标准T.30会话。

对比另一种IP传真方案:G.711音频透传(Pass-through)

  • G.711:不做解调,直接把传真音频打包成语音RTP;一旦开启G.729/G.722压缩、VAD静音检测,传真几乎必失败;
  • T.38:专门解调解封传真数据,不依赖语音编码,是IP传真优先方案;但需要两端网关同时支持T.38并协商启用,协商失败时会降级到G.711透传,稳定性下降。

#T.38的关键约束

  1. 传输默认UDP,防火墙、NAT、运营商UDP封禁、会话超时,是T.38失败最高发原因;
  2. T.38本身默认不加密;加密需要外层SIP TLS隧道,不是T.38自带能力;
  3. 冗余机制可以改善少量丢包,但无法抵消高时延、连续丢包;跨境公网路由依然容易超时;
  4. T.38只负责网关之间的包转发;ECM纠错逻辑依然在两端传真终端之间执行,不是网关做的。

#三、ECM:纠错模式 Error Correction Mode(T.30 附录A可选能力)

ECM是G3传真的可选增强能力,不是独立协议,在阶段B协商时决定是否开启,必须收发两端同时支持ECM才会生效。

#ECM原理

  1. 页面数据被切分为固定大小的数据块(HDLC帧),每帧附带FCS校验和;
  2. 接收方校验每一块,校验失败则发送PPR重传请求;
  3. 发送方重传出错分片,直到校验正确,或者重传次数超限直接失败;
  4. 传输成功后,页面像素完整,不会出现局部麻点、黑线。

#ECM的业务取舍(非常重要,直接影响发送成功率)

✅ 优点:线路噪声、少量丢包场景下,图像干净、无残缺;合同、签章单据、外贸单证强烈建议开启ECM。 ⚠️ 代价:

  • 增加交互握手,传输耗时变长;
  • 在高抖动、高丢包跨境链路,反复重传会触发T.30计时器超时,直接整通失败;

行业实操:国内稳定PSTN链路开ECM;跨境链路频繁失败时,可以尝试关闭ECM换取更高送达率,代价是页面可能出现噪点。

#常见误区

❌ ECM = T.38自带纠错:错。ECM是终端T.30逻辑;T.38的冗余是网关层面的包冗余,两层独立。 ❌ 开了ECM就一定不会失败:错。重传超过阈值、时延超时,依然会中断。

#四、T.30 / T.38 / ECM 三者关系简图

code
[发送端传真机] ← T.30(含ECM协商、图像、重传) → [发送网关]
                                          ↓(T.38 IFP UDP包)
                                  IP网络(互联网/SIP中继)
                                          ↓
[接收端传真机] ← T.30(含ECM协商、图像、重传) ← [接收网关]
  • 终端 ↔ 网关:T.30(模拟调制)
  • 网关 ↔ 网关:T.38(IP包)
  • 纠错:ECM 跑在两端终端之间的T.30流里面

#五、配套压缩标准(T.4,和T.30配套)

T.4定义G3传真图像压缩,在T.30阶段B协商选定:

  • MH:一维编码,最简单,兼容性最好;
  • MR:二维编码,压缩率更高;
  • MMR:改进二维,压缩最强,多用于超精细模式;

压缩算法不影响会话流程,只影响文件大小、传输时长。

#六、业务层面快速判断清单

  1. 振铃接通、几秒后断线:大概率 T.30阶段B协商失败(对方不支持你选的分辨率/ECM/V.34速率);
  2. 能传一部分,中途断开:ECM反复重传超时,或T.38 UDP丢包;
  3. 接通、传完,但页面有黑线麻点:T.30会话成功,ECM未开启,线路噪声/丢包导致图像损坏;
  4. 本地PSTN发稳定,云T.38跨境容易失败:T.30对时延敏感,跨境IP路由超出T.30计时器窗口;
  5. 对方是老式传真机:优先降分辨率到Fine、关闭V.34高速、按需关闭ECM。

#七、常见误区澄清

  1. ❌ T.38是新一代传真协议,可以替代T.30 更正:T.38只是承载层,T.30是传真会话核心,不能替代。
  2. ❌ 云传真用T.38,传统传真机不支持 更正:远端传真机完全不需要知道T.38,网关做转换,互通是标准能力。
  3. ❌ ECM是网关配置项,网关开了就生效 更正:协商发生在两端终端;只要其中一台终端不支持ECM,ECM自动失效。
  4. ❌ T.38冗余=ECM 更正:T.38包冗余是网关防止IP包丢;ECM是终端校验图像分片,两套独立容错。