0

DTMFの問題(数字の繰り返し)をデバッグするためにSIP呼び出しのtcpdumpをキャプチャしましたが、解釈に問題があります。

私が理解していることから、wiresharkの「VOIPCALL」を介してキャプチャされたトラフィックを解析すると、次のように表示されます(123桁の場合)。

CAPTURE1RTP
電話イベントDTMFOne1
(イベントの終了)
RTP電話イベントDTMF Two 2
(イベントの終了)
RTP電話イベントDTMF 3 3
(イベントの終了)

しかし、代わりにこれが表示されます
CAPTURE2RTP
電話イベントDTMFOne1RTP
電話イベントDTMFOne1RTP
電話イベントDTMFOne1
(終了)
RTP電話イベントDTMF Two2RTP
電話イベントDTMFTwo2RTP
電話イベントDTMFTwo2
(終了) )
RTP電話イベントDTMF Two3RTP電話イベントDTMFTwo3RTP
電話
イベントDTMFTwo3
(終了)

1つのシステムでは、CAPTURE 2は123として検出されますが、別のシステムでは、これを数字が繰り返されているものとしてデコードしているようです。Wiresharkがそれらを単一のRTPイベントとしてグループ化しない理由は何ですか?

これはrtpトラフィックフローです:
CAPTURE 1:

RTP EVENT DTMF 1
RTP EVENT DTMF 1
RTP EVENT DTMF 1(終了)
RTP EVENT DTMF 1(終了)
RTP EVENT DTMF 1(終了)
RTP EVENT DTMF 2
RTP EVENT DTMF 2
RTP EVENT DTMF 2(終了)
RTP EVENT DTMF 2(終了) )
RTP EVENT DTMF 2(終了)
RTP EVENT DTMF 3
RTP EVENT DTMF 3
RTP EVENT DTMF 3(終了)
RTP EVENT DTMF 3(終了)
RTP EVENT DTMF 3(終了)
RTP PAYLOAD
...
...
...
RTP PAYLOAD

一方、CAPTURE2は次のとおりです。RTPEVENTDTMF
1
RTP PAYLOAD
RTP EVENT DTMF 1
RTP PAYLOAD
RTP EVENT DTMF 1(終了)
RTP PAYLOAD
RTP EVENT DTMF 1(終了)
RTP PAYLOAD
RTP EVENT DTMF 1(終了)
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD
RTP EVENT DTMF 2
RTP PAYLOAD
RTP EVENT DTMF 2
RTP PAYLOAD
RTP EVENT DTMF 2(終了)
RTP PAYLOAD
RTP EVENT DTMF 2(終了)
RTP PAYLOAD
RTP EVENT DTMF 2(終了)
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD
RTP 3RTP
ペイロード
RTP EVENT DTMF 3
RTP PAYLOAD
RTP EVENT DTMF 3(終了)
RTP PAYLOADRTP
イベントDTMF3(終了)
RTP PAYLOADRTPイベントDTMF3
(終了)
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD
RTP PAYLOAD

CAPTURE 2はRFC2833に準拠していますか?

4

2 に答える 2

3

実際、仕様では、パケット損失の可能性があるため、RTP イベント パケットを重複して送信することを推奨しており、少なくとも 3 回は送信することを推奨しています。複製された各イベントの開始時刻と終了時刻を確認します。イベントを延長する必要がある場合 (キーを押したままにしておく、1 つのイベントでエンコードしたい時間よりも長くするなど)、イベントを終了せずに延長できます。

これは、End パケットが 3 回送信される理由でもあります。( RFC 2833 のセクション 3.6 を参照してください)。

于 2010-10-22T23:37:18.683 に答える
2

RFC2833「イベント」を複数のRTPパケットとしてエンコードすることは完全に可能です。セクション3.6は、

イベントが複数の期間続く場合、イベントを生成するソースは、イベントの開始に対応するRTPタイムスタンプ値とそれに応じてイベントの期間が増加した新しいイベントパケットを送信する必要があります。

RFCは、「1期間」を50ミリ秒と定義しています。

それで

RTP EVENT DTMF 1
RTP EVENT DTMF 1
RTP EVENT DTMF 1(終了)

つまり、誰かが1キーを約150ミリ秒間押しているということです。

于 2010-10-02T07:12:58.103 に答える