详细信息如下:

详细信息如下:

我是 asterisk 的新手。当我尝试发送传真时,无法成功。经过大量研究后,我决定在这里提问。

我希望有人能给我一些建议来纠正我的配置。最后,我希望我的系统可以通过 t.38 发送传真。

多谢!

详细信息如下:

我的系统:Ubuntu 14.04 + 星号 11.7

我使用 apt-get 安装 asterisk 11.7 的 ubuntu 默认版本。为了方便调试,我只需使用默认版本更改一些参数值

配置文件

t38pt_udptl = yes,redundancy,maxdatagram=400
faxdetect = yes

扩展配置文件

[sendFAX]
exten => s,1,VERBOSE(sending fax...)
exten => s,n,Set(FAXOPT(headerinfo)=Fax from a Demo test)
exten => s,n,SendFAX(/tmp/demo.tiff,f)
;I get demo.tiff file from "$ gs -q -dNOPAUSE -dBATCH -sDEVICE=tiffg4 -sPAPERSIZE=letter -sOutputFile=<dest> <src>"
exten => s,n,VERBOSE(ok!)
exten => s,n,Hangup

我使用 AMI 发起传真呼叫。在 CLI 中,一切正常。我没有收到任何错误消息。当我使用 wireshark 检查此通信的详细信息时,我发现 Asterisk 使用的是 G711,而不是预期的 T.38。

然而,在接收端,我没有收到传真,只是收到错误“Dcn No Dis”

经过研究,我得到了这个:

T.30 传真信令消息 在 Voip 传真呼叫中,T.38 数据包的前面和后面都是 T.30 传真信令消息。这些消息包括:

  1. DIS:数字识别信号,指示终止传真功能(例如数据速率)
  2. DCS:数字命令信号,指示发送传真所使用的传输模式(例如传输速率)
  3. TCF:训练检查序列(发送 1.5 秒)
  4. CFR:确认接收,表示接收传真已准备好接收文件
  5. MPS:多页信号(如果发送多页,则在每一页后发送)
  6. MCF:消息确认,表明已收到页面
  7. EOP:程序结束消息,表示没有更多页面需要发送
  8. DCN: 断开消息

附加可选消息:

1.CSI:被叫用户识别

2.TSI:传输用户识别码

但是我还是不明白“Dcn No Dis”是什么意思,我的星号系统出了什么问题。

我确信这些:

  1. 接收器工作良好。
  2. 我的 ISP 提供商完全支持 g711 和 t.38 传真终端
  3. 我的测试服务器不在任何防火墙后面。

演示.jpg这是我的wireshark的截图。从19到1841,所有的流量都是RTP包。

t.38 png图表显示的是一次典型的传真呼叫。

答案1

t.38 的主要问题如下

1) 默认情况下,asterisk 编译时不支持 spandsp,因此没有 t.38

2) 即使您编译了该程序,您的 t38udpl 行也必须与提供商期望的完全相同。任何一个参数错误都可能导致无法正常工作。

3) 出站呼叫时,t.38 必须由被叫方发起。因此,如果您的提供商未检测传真或未要求 Asterisk 切换到 t.38,Asterisk 将不会执行此操作。

4) t.38 的发起是使用一些变量(Aterisk 1.8 中的 T38CALL=1,未检查 11 版本中的内容)和提供商部分(而不是 ip)完成的。

http://www.voip-info.org/wiki/view/Asterisk+T.38

免责声明:T38 呼叫是 Aterisk 最复杂的部分之一,更复杂的只有两个主题 - h323 视频呼叫和 webrtc。

相关内容