利用PPP上的链路分片和交叉提高语音质量
1 网络拓扑:
Basic Network Diagram: VOIP from KLCC to Pasir Gudang
2 现象描述:
任何一方发起呼叫,通话均能正常建立。通话建立后,有时会出现声音有断续,音幅不稳定情况,不是每次通话都会出现此问题,问题出现时间也不固定,分析认为出现此种问题属随机现象,怀疑是线路质量问题。
3 问题处理过程:
1) 使用原路由器AR2810(我们称AR2810-A)从Pasir Gudang拨打KLCC的电话,很快复现问题,现象为对方声音断续,造成一段时间听不清对方说什么。应该是部分语音包丢失造成的。查看广域网端口速率达到15KB/s左右,也就是接近了用户线路带宽的极限(用户线路带宽128Kb/s),FIFO队列有丢包,RTP队列有丢包。
2)在Pasir Gudang的局域网里面接入一台新AR2810路由器(我们称AR2810-B),路由器上装有FXS模块,原路由器AR2810-A只作为IP转发使用,从新AR2810路由器上拨打KLCC的电话,通话过程中出现同样的现象,声音断续,尤其是在用大包(10000字节)PING对方的网络时,或者用小包(100字节)快速PING对方网络时。AR2810-A广域网端口FIFO队列和RTP队列丢包。
3)在Pasir Gudang的局域网里面接入一台CISCO26110路由器,路由器上装有FXS模块,路由器AR2810-A只作为IP转发使用,从CISCO26110路由器上拨打KLCC的电话,通话过程中出现同样的现象,声音断续,尤其是在用大包(10000字节)PING对方的网络时,或者用小包(100字节)快速PING对方网络时。AR2810-A广域网端口FIFO队列和RTP队列丢包。
4)用CISCO2610路由器替换华为路由器AR2810,从CISCO2610路由器上拨打KLCC的电话,通话过程中出现同样的现象,声音断续,尤其是在用大包(10000字节)PING对方的网络时。CISCO2610路由器广域网端口有丢包。
4 问题分析:
1)在进行语音呼叫之前曾经观察一段时间内的网络情况,发现即时网络上没有语音包,广域网端口也出现丢包,如下:
<PGR-497-G2-1>dis int se0/0
Serial0/0 current state :UP
Line protocol current state :UP
Description : WAN Link to Cloud1
Virtualbaudrate is 128000 bps
The Maximum Transmit Unit is 1500, Hold timer is 10(sec)
Internet Address is 10.62.0.94/30
Link layer protocol is PPP
LCP opened, IPCP opened
Output queue : (Urgent queue : Size/Length/Discards) 0/50/0
Output queue : (Protocol queue : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/302
Output queue : (RTP queue : Size/Max/Outputs/Discards) 0/0/0/0
Physical layer is synchronous,
Interface is DTE, Cable type is V35
Last 5 seconds input rate 1469.19 bytes/sec, 6.59 packets/sec
Last 5 seconds output rate 821.40 bytes/sec, 8.39 packets/sec
Input: 5757 packets, 4722286 bytes
0 broadcasts, 0 multicasts
0 errors, 0 runts, 0 giants
0 CRC, 0 align errors, 0 overruns
0 dribbles, 0 aborts, 0 no buffers
0 frame errors
Output:5844 packets, 591193 bytes
0 errors, 0 underruns, 0 collisions
0 deferred
DCD=UP DTR=UP DSR=UP RTS=UP CTS=UP
说明网络上有突发的流量,且突发流量超过线路带宽部分报文被丢弃。
2)采用路由器侧挂方式,也出现语音断续说明原路由器AR2810的语音处理部分没有问题。采用华为路由器和cisco2610路由器侧挂都出现相同的情况,在出现语音断续的时候路由器广域网端口均有丢包,跟现象相符,通话断续是因为部分语音包被丢弃造成。
3)采用cisco2610路由器替换华为路由器,同样出现声音断续,在广域网端口出现丢包,同样说明声音断续是因为部分语音包被丢弃造成。
综上所述,造成语音质量变差声音断续是因为网络上有突发流量造成部分语音包被丢弃造成。
5 问题解决:
既然网络上有突发流量,所以语音质量无法得到保证。实际上在Pasir Gudang侧 我司路由器上一直是启用了RTPQ的,但是从Pasir Gudang到KLCC方向的语音质量依然不理想,这个128K的专线依然是瓶颈。应该是网络中有大包传送,使得转发数据大包依然占用了过长时间导致语音包间隔不等或者丢包,现象就是语音颤抖或者断续。如何控制网络中的大包传送,一个办法是减小MTU的值,但是这样有可能会对其他的一些应用有影响,最好的办法是利用PPP的分片,关于PPP上的链路分片和交叉的介绍可以查看VRP3.40的操作手册。
interface Serial0/0
clock DTECLK1
link-protocol ppp
ppp mp Mp-group 0
#
interface Mp-group0
ppp mp max-bind 1
ppp mp lfi /*启用LFI*/
ppp mp lfi delay-per-frag 10 /*设置分片时延,根据操作手册上讲分片后报文 大小=最大虚拟带宽×分片时延,本例中是128×10=1280bit,也就是每包160个字节*/
qos max-bandwidth 128 /*设置最大虚拟带宽*/
ip address 10.62.0.94 255.255.255.252
qos rtpq start-port 16384 end-port 32767 bandwidth 64 cbs 1600
ppp compression iphc
这样修改配置后,通过128K专线的的最大包长度是160个字节,充分保证了语音包得到最优的 服务,语音质量得到了极大的改善,效果非常好。
接口默认输出队列是FIFO,某些情况下采用WFQ语音效果会更好。
附录:
sysname PasirGu
#
super password level 3 cipher ^XOISII`a$W,>[!2Z"WK6Q!!
#
dns server 170.38.254.129
dns server 170.38.24.129
dns domain ***.***.my
#
radius scheme system
server-type huawei
primary authentication 127.0.0.1 1645
primary accounting 127.0.0.1 1646
user-name-format without-domain
#
domain system
access-limit disable
state active
#
local-user admin
password cipher W+W0T!*+V1OQ=^Q`MAF4<1!!
service-type telnet terminal
level 1
#
interface Ethernet0/0
speed 10
duplex full
description LAN Interface
ip address 10.126.68.168 255.255.255.0
ip relay address 170.38.24.118
ip relay address 170.38.24.119
dhcp select relay
udp-helper server 170.38.24.118
udp-helper server 170.38.24.119
#
interface Serial0/0
clock DTECLK1
link-protocol ppp
description WAN Link to Cloud2
ppp mp Mp-group 0
#
interface Mp-group0
ppp mp max-bind 1
ppp mp lfi
qos max-bandwidth 128
ip address 10.62.0.94 255.255.255.252
qos wfq queue-length 64 queue-number 256
qos rtpq start-port 16384 end-port 32768 bandwidth 96 cbs 8192
#
interface NULL0
#
interface LoopBack0
ip address 10.62.254.41 255.255.255.255
#
voice-setup
#
aaa-client
#
sip
#
dial-program
number-match longest
#
entity 8 voip
address ip 10.252.1.4
fast-connect
match-template 8.......
#
entity 4971 pots
match-template 8497....
line 0
send-number all
undo register-number
#
entity 4972 pots
match-template 8497....
line 0
send-number all
undo register-number
#
gk-client
area-id 8602
gk-id BDC-GK gk-addr 10.252.8.8 1718
gk-2nd-id PTT-GK gk-addr 10.252.1.4 1718
gw-id KCR-602-G2-1
#
subscriber-line 0
undo ring-generate
delay send-dtmf 299
#
subscriber-line 1
undo ring-generate
delay send-dtmf 299
#
subscriber-line 2
undo ring-generate
delay send-dtmf 299
#
subscriber-line 3
undo ring-generate
delay send-dtmf 299
#
ip route-static 0.0.0.0 0.0.0.0 10.62.0.93 preference 60
#
ntp-service refclock-master
ntp-service unicast-server 170.38.254.142
ntp-service unicast-server 170.38.254.141 priority
#
user-interface con 0
authentication-mode scheme
idle-timeout 15 0
user-interface aux 0
user-interface vty 0 4
authentication-mode scheme
idle-timeout 15 0
protocol inbound telnet
#
return
若您有关于案例的建议,请反馈:
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作