Asterisk

Asterisk 不能通過 T.38 發送傳真

  • September 9, 2019

我是星號的新人。當我嘗試發送傳真時,我無法成功。在做了很多研究之後,我決定在這裡問我的問題。

我希望有人能給我一些想法來糾正我的配置。最後,我希望我的系統可以通過 t.38 發送傳真。

非常感謝!

這是詳細資訊:

我的系統:ubuntu 14.04 + 星號 11.7

我使用 apt-get 安裝星號 11.7 的 ubuntu 預設版本。為了方便調試,我只是用預設版本更改了一些參數值

sip.conf

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

副檔名.conf

[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:Confirmation To Receive 表示接收傳真已準備好接收文件
  5. MPS:多頁信號(如果發送多頁,則在每頁之後發送)
  6. MCF:指示頁面已收到的消息確認
  7. EOP:程序結束消息,指示沒有更多頁面要發送
  8. DCN:斷開連接消息

其他可選消息:

1.CSI:被稱為使用者辨識

2.TSI:發送使用者標識

但是我仍然對“Dcn No Dis”意味著我的星號系統有什麼問題感到困惑。

我確信這些:

  1. 接收器工作正常。
  2. 我的 ISP 提供商完全支持 g711 和 t.38 中的傳真終止
  3. 我的測試伺服器不在任何防火牆後面。

demo.jpg我的wireshark 的截圖。從19到1841,所有流量都是RTP包。

t.38 png圖說明的是典型的傳真呼叫。

t.38 的主要問題如下

  1. 預設情況下星號在沒有 spandsp 支持的情況下編譯,所以沒有 t.38

2)即使您編譯了它,您的 t38udpl 行也與提供者期望的完全相同。任何單個參數錯誤都可能導致無法正常工作 t.38

  1. 在外呼t.38 已由CALLED 方發起。因此,如果您的提供商沒有檢測到傳真或沒有要求星號切換到 t.38,星號不會這樣做。

  2. t.38 的起源是使用一些變數完成的(星號 1.8 中的 T38CALL=1,未檢查 11 版本中的內容)並使用提供者的部分,而不是 ip。

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

DISCALIMER:T38 通話是星號中最複雜的部分之一,更複雜的只有兩個主題 - h323 影片通話和 webrtc。

引用自:https://serverfault.com/questions/639542