asterisk fax

asterisk 10 版以後內建支援 T.38 協定傳真,只要你的 voip gateway 有支援 T.38 格式, asterisk 就可直接收傳真。

首先說明 voip gateway 設定的部份,請參考下圖
底下的voip gateway 是偉僑 WellGate 2680

voip fax 設定

voip gateway fax 設定

voip fax 設定

G7.11設定請選 u-law

底下是另一台voip gateway 訊詠科技 IXP_SP1700,傳真的部份基本上是保持預設值沒有更改
sp1700

接著說明 asterisk 設定的部份

/etc/asterisk/sip.conf

[general]
;fax WellGate 2680 傎真設定方式
;t38pt_udptl=yes
;faxdetect=yes
;訊詠科技 IXP_SP1700 傎真設定方式
t38pt_udptl=yes,redundancy
faxdetect=t38

這裡有提到, FAX detect 是給類比訊號使用的,不是給 T.38使用的,T.38 使用faxdetect=yes 此參數的話,會搞亂它的訊號。

/etc/asterisk/extensions.conf

;傳真接收測試
;exten => 02999996,1,Answer()
;  same => n,Wait(1)
;  same => n,ReceiveFax(/tmp/faxtest.tiff)
;底下是將接收的檔案使用變數檔名來儲存
exten => 02999996,1,Answer()
  same => n,Wait(1)
  same => n,ReceiveFax(/tmp/fax-${STRFTIME(${EPOCH},,%F-%H時%M分%S秒)}_${CALLERID(number)}.tiff)

上面使用變數的檔名存檔後的長這樣
fax-2014-07-18-16時12分31秒_922691556.tiff

說明: 02999996 是 hotline 分機,也可是設定為 DID 號碼 (據說DID是虛擬號碼,有可能使用DID無法正常接收傳真,得測試過才知道)

這樣設定之後,雖然可以正常的收到傳真檔案,但在asterisk後台會看到這樣的錯誤訊息:
chan_sip.c:9809 process_sdp_o: Call 80c13800-fb06a8c0-2390-45026-cb-2a60ab06-cb responded to our T.38 reinvite without changing SDP version; ‘ignoresdpversion’ should be set for this peer.

解決方法,可在 sip.conf 裡的那條線路裡設定底下參數
[myfax-peer]
ignoresdpversion=yes

[note]
參考資料:voip-info:asterisk faxasterisk wiki如何設定fax debugt.30與t.38的區別T.38協定規範、[/note]

專有名詞說明:
T.30:是傳真在PSTN上的協定。
軟件像傳真交換協議一樣是面向傳真應用的。它可以建立和控制兩個傳真調制解調器之間的通信。一共會涉及5個階段:呼叫建立,信息預處理程序(選擇通信方式),信息傳輸(包括相位同步),發布信息程序和呼叫釋放.

T.30E:簡單說就是T.30彩色版。asterisk並不支援T.30E協定。
軟件執行連續色調彩色圖像文件傳真發送的G3傳真步驟。利用T.30E,可以在通用電話交換網和其他網絡中高效率的傳輸高質量,全彩色和灰度圖像.

T38:是傳真PSTN 到IP中繼的協定

分類: voip。這篇內容的永久連結

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *