6

通話に使用android SIP(android.net.sip)しています。VOIPDTMF を送信しようとしています。SipAudioCallアンドロイドのクラスでは2つのメソッドが与えられています

void sendDtmf(int code, Message result)
Sends a DTMF code.

void sendDtmf(int code)
Sends a DTMF code.

sendDtmf(int code)DMTFの送信方法を考えています。しかし、実際に送信されたかどうかを確認する方法がわかりません。これを実装した後、受信者/送信者側でトーンが聞こえません。これを呼び出しても効果はありません(バックグラウンド処理が表示されないため)。誰でも同じことを確認する方法を教えてください。また、2番目の方法の使い方を教えてくださいsendDtmf(int code, Message result)

4

3 に答える 3

2

sip で DTMF を送信するには、主に次の 3 つの方法があります。

  1. インバンドRTP ペイロード
  2. 生成された DTMF トーン
  3. sip info メッセージ (時代遅れで、使用されていない可能性が高い)

ほとんどの場合、インバンド RTP ペイロード パケットを使用しています。私が知っているほとんどの sip スタックには、送信する DTMF の種類を選択するための何らかのオプションがあります。

申し訳ありませんが、組み込みの Android SIP スタックについては何も知らないので、その実装に関する質問に直接答えることはできません。

DTMF が正しく送信されていることを確認するには、WireSharkなどを使用して RTP オーディオ ストリームをキャプチャします。次に、RTP に DTMF イベントを表示するwiresharks voip コール グラフ分析オプションを使用できます。

VOIPコールグラフ分析出力

于 2014-03-01T07:18:23.117 に答える
1

android.net.sip は、dtmf モードの RFC 2883 のみをサポートしています。これらのメッセージは、wireshark などのソフトウェアを使用して、および/またはサーバー側のログ (または他のピア ログ) から簡単に確認できます。相手側がこの種の dtmf (RFC 2883 サポート) をサポートしていることを確認してください。

于 2014-03-03T17:40:22.217 に答える