我在星号上更新。 当我试图发送传真时,我无法取得成功。 做了很多研究之后,我决定在这里问我的问题。
我希望有人能给我一些想法来纠正我的configuration。 最后,我希望我的系统可以通过t.38发送传真。
非常感谢!
我的系统: Ubuntu 14.04 +星号11.7
我使用apt-get来安装星号11.7的ubuntu默认版本。 为了方便debugging,我只是用默认版本更改了一些参数值
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没有Dis”
T.30传真信令消息在VoIP传真呼叫中,T.38数据包在T.30传真信令消息之前和之后。 这些消息包括:
- DIS:数字识别信号指示终止传真function(例如,数据速率)
- DCS:数字命令信号,指示发端传真将使用的传输模式(例如传输速率)
- TCF:训练检查序列(发送1.5秒)
- CFR:确认接收指示接收传真已准备好接收文件
- MPS:多页信号(如果发送多个页面,则在每个页面之后发送)
- MCF:表示已收到页面的消息确认
- EOP:过程结束消息,指示不再有要发送的页面
- DCN:断开消息
其他可选消息:
1.CSI:被叫用户标识
2.TSI:传输用户标识
但是我仍然对“Dcn No Dis”意味着我的星号系统有什么问题感到困惑。
我确信这些:
demo.jpg是我的wireshark的截图。 从19到1841年,所有的stream量都是RTP包。
t.38 png图解是一个典型的传真呼叫。
以下是t.38的主要问题
1)默认情况下星号compliled没有spandsp的支持,所以没有t.38
2)即使你提到了,你的t38udpl系也有EXACT相同的提供者期望。 任何单个参数错误都可能导致t.38不能正常工作
3)出境呼叫t.38由CALLED方发起。 所以如果你的提供商没有检测到传真或不要求星号切换到t.38,星号不会这样做。
4)t.38的创build使用了一些variables(T38CALL = 1在星号1.8中,而不是在11版本中检查)和使用提供者的部分而不是ip。
http://www.voip-info.org/wiki/view/Asterisk+T.38
DISCALIMER:T38呼叫是星号中最复杂的部分之一,更复杂的只有两个主题 – h323video呼叫和webrtc。