27.03.2013 Views

VoIP Performance Management - Telchemy

VoIP Performance Management - Telchemy

VoIP Performance Management - Telchemy

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1<br />

<strong>VoIP</strong> <strong>Performance</strong> <strong>Management</strong><br />

Alan Clark<br />

CEO, <strong>Telchemy</strong><br />

Internet Telephony Fall 2005<br />

Internet Telephony - Fall 2005


2<br />

Outline<br />

• Problems affecting <strong>VoIP</strong> performance<br />

• Tools for Measuring and Diagnosing Problems<br />

• Protocols for Reporting QoS<br />

• <strong>VoIP</strong> <strong>Performance</strong> <strong>Management</strong> Architecture<br />

• Application to Enterprise and Service Provider<br />

Networks<br />

Internet Telephony Fall 2005


3<br />

Enterprise <strong>VoIP</strong> Application<br />

IP<br />

Phones<br />

Gateway<br />

IP VPN<br />

IP<br />

Phone<br />

Internet Telephony Fall 2005<br />

Branch Office<br />

Teleworker<br />

IP<br />

Phone


4<br />

Residential <strong>VoIP</strong> Application<br />

Residential<br />

Gateway<br />

Internet Trunking<br />

Gateway<br />

Internet Telephony Fall 2005<br />

PSTN


5<br />

Potential Issues<br />

IP<br />

Phones<br />

Gateway<br />

LAN congestion,<br />

Long Ethernet segments,<br />

Duplex mismatch<br />

Route flapping,<br />

Link failures,<br />

Delay<br />

Line<br />

Echo<br />

IP VPN<br />

Access Link<br />

Congestion<br />

Internet Telephony Fall 2005<br />

CODEC<br />

distortion<br />

Acoustic<br />

ECHO<br />

IP<br />

Phone


6<br />

Call Quality Problems<br />

• Packet Loss<br />

• Jitter (Packet Delay Variation)<br />

• Codecs and PLC<br />

• Delay (Latency)<br />

• Echo<br />

• Signal Level<br />

• Noise Level<br />

Internet Telephony Fall 2005


7<br />

Packet Loss and Jitter<br />

IP<br />

Network<br />

Packets lost<br />

in network<br />

Internet Telephony Fall 2005<br />

Jitter<br />

Buffer<br />

Packets discarded<br />

due to jitter<br />

Codec<br />

Distorted<br />

Speech


8<br />

Jitter measurements can be misleading!!!<br />

Delay (mS)<br />

150<br />

125<br />

100<br />

75<br />

50<br />

Average jitter level (PPDV) = 4.5mS<br />

Peak jitter level = 60mS<br />

0 0.5 1 1.5 2<br />

Time (Seconds)<br />

Internet Telephony Fall 2005


9<br />

Delay (mS) & RSSI<br />

WiFi can also cause jitter<br />

300<br />

250<br />

200<br />

150<br />

100<br />

50<br />

0<br />

Recvd Signal Strength<br />

Delay<br />

Internet Telephony Fall 2005<br />

0<br />

25<br />

50<br />

75<br />

100<br />

125<br />

150<br />

175<br />

200<br />

225<br />

250<br />

275<br />

300<br />

325<br />

350<br />

375<br />

400<br />

425<br />

450<br />

Time


10<br />

Effects of Jitter<br />

• Low levels of jitter absorbed by jitter buffer<br />

• High levels of jitter<br />

– lead to packets being discarded<br />

– cause adaptive jitter buffer to grow - increasing delay but<br />

reducing discards<br />

• If packets are discarded by the jitter buffer as they<br />

arrive too late they are regarded as “discarded”<br />

• Simple jitter metrics such as PPDV can be misleading<br />

Internet Telephony Fall 2005


11<br />

Packet Loss<br />

500mS Avge Packet Loss Rate<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

Average packet loss rate = 2.1%<br />

Peak packet loss = 30%<br />

30 35 40 45 50 55 60 65 70<br />

Time (seconds)<br />

Internet Telephony Fall 2005


12<br />

200<br />

150<br />

100<br />

50<br />

0<br />

Consecutive loss<br />

20 percent burst density (sparse burst)<br />

Burst weight (packets) Example Packet Loss Distribution<br />

0 100 200 300 400 500<br />

Burst length (packets)<br />

Internet Telephony Fall 2005


13<br />

Loss and Discard<br />

• Loss is often associated with periods of high<br />

congestion<br />

• Jitter is due to congestion (usually) and leads<br />

to packet discard<br />

• Hence Loss and Discard often coincide<br />

• Other factors can apply - e.g. duplex<br />

mismatch, link failures etc.<br />

Internet Telephony Fall 2005


14<br />

Example Loss/Discard Distribution<br />

Burst weight (packets)<br />

200<br />

150<br />

100<br />

50<br />

0<br />

Consecutive loss<br />

25 percent burst density (sparse burst)<br />

0 100 200 300 400 500<br />

Burst length (packets)<br />

Internet Telephony Fall 2005


15<br />

Leads To Time Varying Call Quality<br />

Bandwidth (kbit/s)<br />

500<br />

400<br />

300<br />

200<br />

100<br />

5<br />

4<br />

3<br />

2<br />

MOS 0<br />

1<br />

High jitter/ loss/ discard<br />

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18<br />

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18<br />

Time<br />

Internet Telephony Fall 2005<br />

Voice<br />

Data


16<br />

Packet Loss Concealment<br />

Estimated by PLC algorithm<br />

• Mitigates impact of packet loss/ discard by replacing<br />

lost speech segments<br />

• Very effective for isolated lost packets, less effective for<br />

bursty loss/discard<br />

• But isn’t loss/discard bursty?<br />

– Need to be able to deal with 10-20-30% loss!!!<br />

Internet Telephony Fall 2005


17<br />

Effectiveness of PLC<br />

Codec<br />

distortion<br />

ACR MOS<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0 5 10 15 20<br />

Packet Loss/Discard Rate<br />

Internet Telephony Fall 2005<br />

G.711 no PLC<br />

G.711 PLC<br />

Impact of<br />

loss/ discard<br />

and PLC<br />

Typical burst packet<br />

Loss/discard rate


18<br />

Call Quality Problems<br />

• Packet Loss<br />

• Jitter (Packet Delay Variation)<br />

• Codecs and PLC<br />

• Delay (Latency)<br />

• Echo<br />

• Signal Level<br />

• Noise Level<br />

Internet Telephony Fall 2005


19<br />

Effect of Delay on Conversational Quality<br />

MOS Score<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Low echo level (55DB)<br />

Significant echo level (35dB)<br />

0 100 200 300 400 500 600<br />

Round trip delay (milliseconds)<br />

Internet Telephony Fall 2005


20<br />

Interaction of echo and delay<br />

• Echo with very low delay sounds like<br />

“sidetone”<br />

• Echo with some delay makes the line sound<br />

hollow<br />

• Echo with over 50mS delay sounds like…. Echo<br />

• Echo Return Loss<br />

– 55dB or above is good<br />

– 25dB or below is bad<br />

Internet Telephony Fall 2005


21<br />

Cause of Echo<br />

IP<br />

Gateway<br />

Echo<br />

Canceller<br />

Round trip delay - typically 50mS+<br />

Internet Telephony Fall 2005<br />

Line<br />

Echo<br />

Additional delay introduced by <strong>VoIP</strong><br />

makes existing echo problems more obvious<br />

Acoustic<br />

Echo


22<br />

Causes of Delay<br />

Network<br />

delay<br />

IP<br />

UDP<br />

TCP<br />

Accumulate and encode<br />

RTP<br />

IP<br />

UDP<br />

TCP<br />

RTP<br />

CODEC<br />

CODEC<br />

Echo<br />

Control<br />

Jitter buffer, decode and playout<br />

Echo<br />

Control<br />

Internet Telephony Fall 2005<br />

External delay


23<br />

Call Quality Problems<br />

• Packet Loss<br />

• Jitter (Packet Delay Variation)<br />

• Codecs and PLC<br />

• Delay (Latency)<br />

• Echo<br />

• Signal Level<br />

• Noise Level<br />

Internet Telephony Fall 2005


24<br />

Signal Level Problems<br />

0 dBm0<br />

-36 dBm0<br />

Amplitude Clipping occurs -- speech<br />

sounds loud and “buzzy”<br />

Temporal Clipping occurs with VAD or Echo<br />

Suppressors -- gaps in speech, start/end of words<br />

missing<br />

Internet Telephony Fall 2005


25<br />

Noise<br />

• Noise can be due to<br />

– Low signal level<br />

– Equipment/ encoding (e.g. quantization noise)<br />

– External local loops<br />

– Environmental (room) noise<br />

• From a service provider perspective - how to<br />

distinguish between<br />

– room noise (not my problem)<br />

– Network/equipment/circuit noise (is my problem)<br />

Internet Telephony Fall 2005


26<br />

Measuring <strong>VoIP</strong> performance<br />

Active Test<br />

- Measure test calls<br />

Passive Test<br />

- Measure live calls<br />

<strong>VoIP</strong> Specific<br />

VQmon<br />

ITU P.VTQ<br />

VQmon<br />

ITU P.VTQ<br />

Internet Telephony Fall 2005<br />

Analog signal<br />

based<br />

ITU P.862 (PESQ)<br />

ITU P.563


27<br />

“Gold Standard” - ACR Test<br />

• Speech material<br />

2<br />

3<br />

2<br />

– Phonetically balanced speech samples 8-10 seconds in length<br />

– Test designed to eliminate bias (e.g. presentation order different<br />

for each listener)<br />

– Known files included as anchors (e.g. MNRU)<br />

• Listening conditions<br />

– Panel of listeners<br />

– Controlled conditions (quiet environment with known level of<br />

background noise)<br />

4<br />

Internet Telephony Fall 2005


28<br />

Example ACR test results<br />

• Extract from an<br />

ITU subjective test<br />

• Mean Opinion<br />

Score (MOS) was<br />

2.4<br />

• 1=Unacceptable<br />

• 2=Poor<br />

• 3=Fair<br />

• 4=Good<br />

• 5=Excellent<br />

Votes<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

Internet Telephony Fall 2005<br />

1 2 3 4 5<br />

Opinion Score


29<br />

Measuring <strong>VoIP</strong> <strong>Performance</strong><br />

• VQmon<br />

– Most widely used algorithm for <strong>VoIP</strong> performance monitoring. Fast efficient,<br />

supports narrow and wideband codecs, listening and conversational quality.<br />

Incorporates P.VTQ and G.107 as subsets, original model for RTCP XR.<br />

• ITU P.VTQ<br />

– In development - expected completion in mid-2006. Lightweight algorithm<br />

for narrowband use, currently only listening quality, may extend to<br />

conversational.<br />

• ITU G.107 E Model<br />

– Network planning tool, used as a basis for some monitoring applications.<br />

Inaccurate under conditions of bursty packet loss.<br />

• P.862<br />

– Intrusive speech quality algorithm. Slow - takes a PC to process one speech<br />

file in approx real time.<br />

• P.563<br />

– Non-intrusive algorithm that operates on analog speech data. Highly<br />

MIPS/Memory intensive and very inaccurate for individual calls.<br />

Internet Telephony Fall 2005


30<br />

Reminder - loss/jitter are time varying<br />

Delay (mS)<br />

150<br />

125<br />

100<br />

75<br />

50<br />

Average jitter level (PPDV) = 4.5mS<br />

Peak jitter level = 60mS<br />

0 0.5 1 1.5 2<br />

Time (Seconds)<br />

Internet Telephony Fall 2005


31<br />

VQmon algorithm<br />

Discarded<br />

Jitter<br />

buffer<br />

Arriving<br />

packets<br />

CODEC<br />

Loss/ Discard<br />

events<br />

Signal level<br />

Noise level<br />

Echo level<br />

Delay<br />

Metrics<br />

Calculation<br />

Internet Telephony Fall 2005<br />

4 State Markov Model<br />

Gather detailed<br />

packet loss info<br />

in real time<br />

Call Quality Scores<br />

Diagnostic Data


32<br />

Modeling transient effects<br />

Measured<br />

Call quality<br />

Ie(gap)<br />

Ie(burst)<br />

10 15 20 25 30 35<br />

Time (seconds)<br />

Internet Telephony Fall 2005<br />

User Reported<br />

Call quality<br />

Ie(VQmon)


33<br />

Computational model<br />

Burst loss<br />

rate<br />

Gap loss<br />

rate<br />

Signal level<br />

Noise level<br />

Echo<br />

Delay<br />

Ie mapping<br />

ETSI TS101 329-5<br />

Calculate<br />

Ro, Is<br />

Calculate<br />

Id<br />

Perceptual model<br />

Recency<br />

model<br />

Modified<br />

ITU-T G.107<br />

Internet Telephony Fall 2005<br />

Calculate<br />

R-LQ<br />

MOS-LQ<br />

Calculate<br />

R-CQ<br />

MOS-CQ


34<br />

Accuracy: Non-bursty conditions<br />

MOS Score<br />

5<br />

4.5<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

Comparison of VQmon vs ACR MOS - ILBC 15.2k<br />

ACR MOS<br />

VQmon MOS-LQ<br />

1<br />

0 5 10<br />

Packet Loss Rate (%)<br />

15 20<br />

PESQ Score<br />

2.5<br />

1.5<br />

Internet Telephony Fall 2005<br />

4<br />

3.5<br />

3<br />

2<br />

Comparison of VQmon vs PESQ - ILBC 15.2k<br />

PESQ<br />

VQmon MOS-PQ<br />

1<br />

0 5 10 15 20 25 30<br />

Packet Loss Rate (%)


35<br />

Comparison of VQmon and E Model<br />

• VQmon<br />

– Extended G.107<br />

– Transient impairment model<br />

– Wide range of codec models<br />

– Narrow & Wideband<br />

– Jitter Buffer Emulator<br />

– Listening and Conversational<br />

Quality<br />

• G.107<br />

– Well established model for<br />

network planning<br />

– No way to represent jitter<br />

– Few codec models<br />

– Inaccurate for bursty loss<br />

– Conversational Quality only<br />

Estimated MOS<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1.5 2 2.5 3 3.5 4<br />

Internet Telephony Fall 2005<br />

VQmon<br />

ACR MOS<br />

Comparison of VQmon and E Model<br />

for severely time varying conditions<br />

E Model


36<br />

ITU P.563 - Passive monitoring<br />

• Analyses received speech<br />

file (single ended)<br />

• Produces a MOS score<br />

• Correlates well with MOS<br />

when averaged over many<br />

calls<br />

• Requires 100MIPS per call<br />

• NOT suitable for individual<br />

calls<br />

ACR MOS<br />

5.00<br />

4.00<br />

3.00<br />

2.00<br />

1.00<br />

Internet Telephony Fall 2005<br />

1 2 3 4 5<br />

P563 Score<br />

Comparison of P.563 estimated MOS scores with<br />

actual ACR test scores.<br />

Each point is average per file ACR MOS with 16<br />

listeners compared to P.563 score


37<br />

Active or Passive Testing?<br />

• Active testing<br />

– works for pre-deployment testing and on-demand<br />

troubleshooting<br />

• But!!!!<br />

– IP problems are transient<br />

• Passive monitoring<br />

– Monitors every call made - but needs a call to<br />

monitor<br />

– Captures information on transient problems<br />

– Provides data for post-analysis<br />

• Therefore - you need both<br />

Internet Telephony Fall 2005


38<br />

<strong>VoIP</strong> <strong>Performance</strong> <strong>Management</strong> Framework<br />

Call Server and<br />

CDR database<br />

<strong>VoIP</strong><br />

Endpoint<br />

Embedded<br />

Monitoring<br />

Signaling Based<br />

QoS Reporting<br />

VQ<br />

Network Probe,<br />

Analyzer or<br />

Router<br />

Media Path Reporting<br />

(RTCP XR)<br />

Internet Telephony Fall 2005<br />

VQ<br />

RTP stream (possibly encrypted)<br />

Network<br />

<strong>Management</strong><br />

System<br />

SNMP<br />

Reporting<br />

VQ<br />

Embedded<br />

Monitoring<br />

<strong>VoIP</strong><br />

Gateway


39<br />

RFC3611 - RTCP XR<br />

Loss Rate Discard Rate Burst Density Gap Density<br />

Burst Duration (mS) Gap Duration (mS)<br />

Round Trip Delay (mS) End System Delay (mS)<br />

Signal level RERL Noise Level Gmin<br />

R Factor Ext R MOS-LQ MOS-CQ<br />

Rx Config - Jitter Buffer Nominal<br />

Jitter Buffer Max Jitter Buffer Abs Max<br />

Internet Telephony Fall 2005


40<br />

RTCP XR Application<br />

Residential Subscriber<br />

“A”<br />

RTCP XR<br />

Quality of stream from B to A<br />

and acoustic echo at A (if known)<br />

RTCP XR<br />

Internet Telephony Fall 2005<br />

“B”<br />

Quality of stream from A to B<br />

and Echo level on trunk side<br />

Trunk<br />

side


41<br />

SIP Service Quality Reporting Event<br />

PUBLISH sip:collector@example.com SIP/2.0<br />

Via: SIP/2.0/UDP pc22.example.com;branch=z9hG4bK3343d7<br />

………<br />

Content-Type: application/rtcpxr<br />

Content-Length: ...<br />

VQSessionReport<br />

LocalMetrics:<br />

TimeStamps=START:10012004.18.23.43 STOP:10012004.18.26.02<br />

SessionDesc=PT:0 PD:G.711 SR:8000 FD:20 FPP:2 PLC:3 SSUP:on<br />

CallID=1890463548@alice.uac.chicago.com<br />

………<br />

Signal=SL:2 NL:10 RERL:14<br />

QualityEst=RLQ:90 RCQ:85 EXTR:90 MOSLQ:3.4 MOSCQ:3.3<br />

QoEEstAlg:VQMonv2.1<br />

DialogID:38419823470834;to-tag=8472761;from-tag=9123dh311<br />

Internet Telephony Fall 2005


42<br />

SIP QoS Reporting Application<br />

Residential Subscriber<br />

“A”<br />

Internet Telephony Fall 2005<br />

“B” Trunk<br />

side<br />

SIP QoS “Collector”<br />

SIP QoS report sent at end of call.<br />

Can report on both directions if RTCP XR is<br />

present in both endpoints, otherwise only<br />

on received direction.


43<br />

Enterprise Application<br />

VQ<br />

VQ<br />

VQ<br />

NMS<br />

VQ<br />

SNMP<br />

IP<br />

Phones<br />

VQ<br />

Gateway<br />

VQ<br />

<strong>VoIP</strong> SLA<br />

IP<br />

VPN<br />

RTCP XR<br />

IP<br />

Phone<br />

VQ<br />

SIP QoS Report<br />

Internet Telephony Fall 2005<br />

VQ<br />

VQ<br />

VQ<br />

Branch Office<br />

VQ<br />

Teleworker<br />

VQ<br />

IP<br />

Phone


44<br />

Actual (typical?) <strong>VoIP</strong> SLA<br />

Jitter < 20mS<br />

Loss < 0.1% per month<br />

Latency < 100mS<br />

Availability 99.9%<br />

What does this mean in practice?<br />

Internet Telephony Fall 2005


45<br />

A Better <strong>VoIP</strong> SLA<br />

99.9% of calls/intervals have<br />

MOS-LQ > 3.9<br />

MOS-CQ > 3.8<br />

Degraded Service Quality<br />

Events < 0.1/ hour<br />

[DSQ = ….]<br />

Latency < 100mS<br />

Availability 99.9%<br />

Internet Telephony Fall 2005<br />

Based on either reference<br />

or actual endpoint<br />

Transient quality problems<br />

Also reflected in MOS-CQ<br />

Availability of media AND<br />

Signaling path


46<br />

Enterprise Applications<br />

• Ensure network is <strong>VoIP</strong> ready before<br />

deployment!!<br />

• Use VQmon/RTCP XR/ SIP QoS in IP phones<br />

and gateways<br />

• Use passive monitoring on every call to catch<br />

transient problems for post analysis<br />

• Develop meaningful SLAs<br />

Internet Telephony Fall 2005


47<br />

Residential <strong>VoIP</strong> Application<br />

VQ<br />

VQ<br />

VQ<br />

VQ<br />

RTCP XR<br />

Residential<br />

Gateway<br />

Internet Trunking<br />

Gateway<br />

SIP QoS<br />

Internet Telephony Fall 2005<br />

VQ<br />

PSTN


48<br />

Residential <strong>VoIP</strong> Application<br />

VQ<br />

VQ<br />

VQ<br />

RTCP XR<br />

Residential<br />

Gateway<br />

Internet<br />

SIP<br />

QoS<br />

Internet Telephony Fall 2005<br />

VQ<br />

PSTN<br />

Trunking<br />

Gateway


49<br />

Residential <strong>VoIP</strong> <strong>Management</strong><br />

• Use RTCP XR between IP endpoints to provide<br />

more detailed call quality metrics and<br />

bidirectional reporting<br />

• Use SIP QoS reports to get data back to<br />

management systems<br />

• Insist that peer networks (either <strong>VoIP</strong> or<br />

PSTN) support RTCP XR and defined SLAs<br />

Internet Telephony Fall 2005


50<br />

Summary<br />

• Problems affecting <strong>VoIP</strong> performance<br />

• Tools for Measuring and Diagnosing Problems<br />

• <strong>Performance</strong> <strong>Management</strong> Architecture<br />

• Applications<br />

Internet Telephony Fall 2005

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!