星号调试扩展质量差的音频 - rtp 乱序

星号调试扩展质量差的音频 - rtp 乱序

FreePBX 16.0.10.34,或直接Asterisk 11/16/18.6.0是一样的,所有那些使用一些SIP电话的人都会遇到奇怪的音频问题,即语音音量以一种方式不断变化,以另一种方式ecc金属声音。

Audio Codec: G711 or G729
Dial echo test > record pcap 
Wireshark > Voip > show call graph and get out of sequence notation


                                             ...........Receive......... .........Transmit..........
 BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT....
 ===========================================================================================================

          105-0000013e       00:00:25 g729     1258     589K 46884   0.000   1242       0    0   0.003   0.006

手机制造商只记录数据包并消失,我该如何调试这些问题?

尝试使用 ptime 20 强制编解码器 G711,添加到回显测试上下文 JITTERBUFFER :

[app-echo-test]
include => app-echo-test-custom
exten => *43,1,Set(CONNECTEDLINE(name-charset,i)=utf8)
exten => *43,n,Set(CONNECTEDLINE(name,i)=Test Eco)
exten => *43,n,Set(CONNECTEDLINE(num,i)=*43)
exten => *43,n,Answer
exten => *43,n,Set(JITTERBUFFER(adaptive)=default)
exten => *43,n,Macro(user-callerid,)
exten => *43,n,Wait(1)
exten => *43,n,Background(demo-echotest,,,app-echo-test-echo)
exten => *43,n,Goto(app-echo-test-echo,1,1)

;--== end of [app-echo-test] ==--;

貌似已经用了,但是没有结果:

sing SIP RTP Video TOS bits 136 in TCLASS field.   == Using SIP RTP Video CoS mark 4
    -- Executing [*43@from-internal:1] Set("PJSIP/101-00000143", "CONNECTEDLINE(name-charset,i)=utf8") in new stack
    -- Executing [*43@from-internal:2] Set("PJSIP/101-00000143", "CONNECTEDLINE(name,i)=Test Eco") in new stack
    -- Executing [*43@from-internal:3] Set("PJSIP/101-00000143", "CONNECTEDLINE(num,i)=*43") in new stack
    -- Executing [*43@from-internal:4] Answer("PJSIP/101-00000143", "") in new stack
       > 0x7fc0940e4a80 -- Strict RTP learning after remote address set to: 10.7.208.157:50248
       > 0x7fc0941034e0 -- Strict RTP learning after remote address set to: 10.7.208.157:50246
       > 0x7fc0940e4a80 -- Strict RTP qualifying stream type: audio
       > 0x7fc0940e4a80 -- Strict RTP switching source address to 10.168.5.201:39519
    -- Executing [*43@from-internal:5] Set("PJSIP/101-00000143", "JITTERBUFFER(adaptive)=default") in new stack
    -- Executing [*43@from-internal:6] Macro("PJSIP/101-00000143", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("PJSIP/101-00000143", "TOUCH_MONITOR=1636707571.457") in new stack
    -- Executing [s@macro-user-callerid:2] Set("PJSIP/101-00000143", "AMPUSER=101") in new stack
    -- Executing [s@macro-user-callerid:3] Set("PJSIP/101-00000143", "HOTDESCKCHAN=101-00000143") in new stack
    -- Executing [s@macro-user-callerid:4] Set("PJSIP/101-00000143", "HOTDESKEXTEN=101") in new stack
    -- Executing [s@macro-user-callerid:5] Set("PJSIP/101-00000143", "HOTDESKCALL=0") in new stack
    -- Executing [s@macro-user-callerid:6] ExecIf("PJSIP/101-00000143", "0?Set(HOTDESKCALL=1)") in new stack
    -- Executing [s@macro-user-callerid:7] ExecIf("PJSIP/101-00000143", "0?Set(CALLERID(name)=)") in new stack
    -- Executing [s@macro-user-callerid:8] GotoI    sing SIP RTP Video TOS bits 136 in TCLASS field.   == Using SIP RTP Video CoS mark 4
    -- Executing [*43@from-internal:1] Set("PJSIP/101-00000143", "CONNECTEDLINE(name-charset,i)=utf8") in new stack
    -- Executing [*43@from-internal:2] Set("PJSIP/101-00000143", "CONNECTEDLINE(name,i)=Test Eco") in new stack
    -- Executing [*43@from-internal:3] Set("PJSIP/101-00000143", "CONNECTEDLINE(num,i)=*43") in new stack
    -- Executing [*43@from-internal:4] Answer("PJSIP/101-00000143", "") in new stack
       > 0x7fc0940e4a80 -- Strict RTP learning after remote address set to: 10.7.208.157:50248
       > 0x7fc0941034e0 -- Strict RTP learning after remote address set to: 10.7.208.157:50246
       > 0x7fc0940e4a80 -- Strict RTP qualifying stream type: audio
       > 0x7fc0940e4a80 -- Strict RTP switching source address to 10.168.5.201:39519
    -- Executing [*43@from-internal:5] Set("PJSIP/101-00000143", "JITTERBUFFER(adaptive)=default") in new stack
    -- Executing [*43@from-internal:6] Macro("PJSIP/101-00000143", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("PJSIP/101-00000143", "TOUCH_MONITOR=1636707571.457") in new stack
    -- Executing [s@macro-user-callerid:2] Set("PJSIP/101-00000143", "AMPUSER=101") in new stack
    -- Executing [s@macro-user-callerid:3] Set("PJSIP/101-00000143", "HOTDESCKCHAN=101-00000143") in new stack
    -- Executing [s@macro-user-callerid:4] Set("PJSIP/101-00000143", "HOTDESKEXTEN=101") in new stack
    -- Executing [s@macro-user-callerid:5] Set("PJSIP/101-00000143", "HOTDESKCALL=0") in new stack

更改了 PBX Asterisk 16.13.0(相同的物理电话)但行为相同:

                                             ...........Receive......... .........Transmit..........
 BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT....
 ===========================================================================================================

          101-00000144       00:00:34 ulaw     1744     917K 52608   0.000   1727       0    0   0.003   0.006

答案1

检查所有设备上的 ptime 是否相同!

相关内容