VoIP QoS - breaking voice and flapping interface ?!
To practice QoS I build a trivial topology (attached image) to simulate a link bottleneck:
- A WAN connection 1.544 mbps between two LAN, both r1 and r2 are performing static NAT for the internal PC1 ,r1(inside local=172.16.1.1, inside global =10.10.10.11), r2(inside local=10.10.10.11, inside global=192.168.42.1), so PC1 appears to both PC2 and IPPBX as 192.168.42.1.
To simulate concurrent traffic in the network, PC1 is performing the following activities:
- Calling PC2 through IP PBX.
- read streaming audio from the media server rtsp traffic.
- http browsing.
- ftp downloading.
As you guess the goal is to guarantee an acceptable voice quality call between PC1 and PC2, so I applied QoS policy on router r2 as follow:
class-map match-all http-set
match protocol http
class-map match-all rtspplayer-set
match protocol rtspplayer
class-map match-all sip-voice-set
match protocol rtp
class-map match-all ftp-set
match protocol ftp
class-map match-all sip-voice-policy
match ip dscp ef
class-map match-all http-policy
match ip dscp af11
class-map match-all rtspplayer-policy
match ip dscp default
class-map match-all ftp-policy
match ip dscp af21
set ip dscp ef
set ip dscp af21
set ip dscp af11
set ip dscp default
service-policy input myset
service-policy output mypolicy
The result is a breaking voice quality (more comprehensible than without any QoS) and r2 e0/0 interface is continuously oscillating between up and down.
Even though I assigned a strict priority queue (LLQ) to the voice traffic (rtp) and allocated a bandwidth of 500kbps (theorically 2 calls need just 168kbps with overhead), the sniffer at PC1 is showing a variable jitter between (0-14ms) and a packet loss up to 43.74%, average audio throughput of 33.28kbps and an average packet delay of 13.72ms.
Re: VoIP QoS - breaking voice and flapping interface ?!
Think you for you response,
The interface was not flapping before applying service policy to interfaces and it stops flapping after (no service-policy).
Here is the output of (sh policy-map interface s0/0) and voice traffic is being dropped, about 43.74% as mentioned by the sniffer before. I intentionally assigned more bandwidth than needed and with LLQ there should not be any drops.
I guess I?am missing something!
r2#sh policy-map int s0/0
Service-policy output: mypolicy
Class-map: sip-voice-policy (match-all)
29727 packets, 6064308 bytes
5 minute offered rate 76000 bps, drop rate 0 bps
Match: ip dscp ef
Output Queue: Conversation 264
Bandwidth 500 (kbps) Burst 12500 (Bytes)
(pkts matched/bytes matched) 29689/6056556
(total drops/bytes drops) 1746/356184
Class-map: ftp-policy (match-all)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp af21
Output Queue: Conversation 265
Bandwidth 150 (kbps)
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
exponential weight: 9
mean queue depth: 0
dscp Transmitted Random drop Tail drop Minimum Maximum Mark
Introduction: The "external-out enable" command is available for
configuration under the "router ospf process" in case of the IOS-XR
operating system. This command basically enables advertisement of
intra-area routes on the device as external routes in th...
Introduction Basic configuration for netflow Scale parameters for
netflow Netflow support Architecture Packet flow for netflow Inside the
LC CPU Netflow Cache size, maintenance and memory Sample usage Cache
Size Aging Permanent cache Characteristics Which...