Audio
星號調試擴展質量差的音頻 - 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
檢查所有設備上的 ptime 是否相等!