web-dev-qa-db-ja.com

アスタリスクはT.38経由でFAXを送信できません

私はアスタリスクの初心者です。ファクスを送ろうとしたところ、うまくいきませんでした。たくさんの研究をした後、ここで質問することにしました。

誰かが私の構成を修正するためのアイデアをくれたらいいのにと思います。最後に、システムがt.38経由でFAXを送信できるようにしたい。

どうもありがとう!

詳細は次のとおりです。

私のシステム:ubuntu 14.04 +アスタリスク11.7

Apt-getを使用して、ubuntuのデフォルトバージョンのアスタリスク11.7をインストールします。デバッグを簡単にするために、いくつかのパラメータ値をデフォルトバージョンに変更するだけです

sip.conf

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

extension.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を使用してFAX通話を発信しています。 CLIでは、すべてがうまく見えます。エラーメッセージは表示されませんでした。この通信の詳細をwiresharkを使用して確認したところ、Asteriskが予想されるT.38を使用する代わりにG711を使用していることがわかりました。

しかし、受信側でファックスを受信せず、「DcnNoDis」というエラーが表示されました。

調査の結果、私はこれを手に入れました:

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:呼び出された加入者ID

2.TSI:加入者識別情報の送信

しかし、「DcnNoDis」が私のアスタリスクシステムの何が問題なのかを意味するのかまだ混乱しています。

私はこれらを確信しています:

  1. 受信機はうまく機能しています。
  2. 私のISPプロバイダーは、g711とt.38の両方でFAXの終了を完全にサポートしています。
  3. 私のテストサーバーはファイアウォールの背後にありません。

demo.jpg は私のwiresharkのスクリーンショットです。フォーム19から1841では、すべてのトラフィックはRTPパッケージです。

t.38 png の図は、典型的なファックス通話を示しています。

2
Wallace Wang

T.38の主な問題は次のとおりです

1)デフォルトでは、アスタリスクはspandspをサポートせずにコンパイルされているため、t.38はありません。

2)それをコンパイルしたとしても、t38udpl行はプロバイダーが期待するものとまったく同じです。単一のパラメータの間違いは、t.38で機能しなくなる可能性があります

3)アウトバウンドコールでは、t.38はCALLED側によって開始されています。したがって、プロバイダーがファックスを検出しない場合、またはアスタリスクをt.38に切り替えるように要求しない場合、アスタリスクはそれを行いません。

4)t.38の発信は、いくつかの変数(アスタリスク1.8ではT38CALL = 1、11バージョンではチェックされていません)を使用し、IPではなくプロバイダーのセクションを使用して行われました。

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

DISCALIMER:T38呼び出しは、アスタリスクの最も複雑な部分の1つであり、h323ビデオ通話とwebrtcの2つのトピックのみがより複雑です。

1
arheops