Ensuring QoS in Your VoIP Development

Download Report

Transcript Ensuring QoS in Your VoIP Development

Ensuring QoS in Your VoIP Development
Choon Shim
CTO and Senior VP of Engineering
[email protected] , http://www.qovia.com
VoIP problems


Outage:
- Infrastructure: switch, router, bridge, UPS, etc
- VoIP element: call server, SIP server, GW, GK, MCU, handsets.
- Carrier: T1/E1, analog signal trunk lines.
Voice Quality:
- Delay: network bandwidth, processing power
- Echo: hybrid, acoustic
- Jitter: jitter buffer calculation, variable delay
- Packet loss: sender base, receiver base
- Out of order: complex topology
Roots of the problems






IP is not designed for carrying real-time media
stream.
Management was not considered by
System/Elements Vendors.
Too many moving parts.
Too many protocol layers.
Too many API layers.
Multi vendor products.
VoIP ready network





Fast network: low latency and jitter
Clean network: few packet loss and retransmit
QoS ready network: Voice packet has priority
Fault tolerant network: redundancy and backup
Manageable network: monitoring and
management
Bandwidth

Required bandwidth per call (bps):
BW = (V + I + L) * 8 * P
Where, V is size of voice sample,
I is IP/UDP/RTP overhead,
L is data link overhead and
P is packets generated per second.
Example) (160 + 40 + 18) * 8 * 50 = 87.2 kbps

Required bandwidth total:
Total BW = BW * N
Where, N is total number of simultaneous calls
Example) 87.2 * 50 = 4.36 Mbps
=> Increase bandwidth
To reduce bandwidth requirement

Bandwidth requirement by codec and duplex
Link Type
(Sample time)
G.711
(10 ms)
G.711
(20 ms)
G.729
(20 ms)
Half duplex
220.8
174.4
78.4
Full duplex
110.4
87.2
29.4


cRTP reduces 2-5 bytes overhead
VAD reduces up to 50% payload
Clean network






Reduce hop counts
Reduce complexity of network topology
Remove duplex mismatch
Remove black hole and loop
Avoid half duplex link
Use common sense for cabling
QoS ready network
Layer 3:

-

Type of Service (TOS)
RSVP signaling (RFC 2205)
DiffServ (RFC2474)
Multiprotocol Label Switching (MPLS)
Layer 2:
- 802.1p and 802.1q
- Ethernet Class of Service (COS)
Fault tolerant network Outage detection

Carrier failure: T1, E1, Analog
- No incoming or outgoing calls.
- Checking the module LED.
- Checking the event log, management
console.
- Running a loop back test for T1/E1.
- Checking with T1 tester.
- Receiving an alarm from the call server.
Fault tolerant network –
Outage detection (cont)

Infrastructure failure:
- No dial tone or bad voice quality
- Checking NMS console
- Checking SNMP Traps
- Testing cables
- Testing switches, routers, bridges, etc
- Checking UPS power load, power level,
connection
Fault tolerant network –
Outage detection (cont)

VoIP element failure:
- No dial tone.
- Checking SNMP trap.
- Checking NMS console.
- Checking with the vendor management
console.
- Checking event log, trace, etc.
Outage detection issues




Lack of alarm implementation.
Too many consoles to monitor: NMS, vendor
supplied management, third party software,
carrier OSS/EOSS.
Too many elements could go wrong.
Carriers are not monitoring the CSU or CPE.
Alarm – Event driven
T1/E1
TE
GK
SNMP Trap
Analog
Switch
Management
GW
Email/Pager
Router
Carrier console
Server
Bridge
Server
UPS
Environ
VoIPm Console
Checking vital signs



Blind polling: send a ping to every elements every x minutes. It
triggers extra network traffics. Total number of packets per hour N
= e * x / 60, where e = number of elements, x is minutes.
Severity base polling: send a ping to critical elements more often.
For example) GW: every 5 mins, GK: every 6 mins, Switch: every
10 mins, Terminal element: 30 mins, etc.
Dynamic polling: recalculates number of pings based on the
previous faults, traffic or volume. Number of packets N =
f(1)..f(e), where f is the function being used for calculating faults,
traffic and volume.
Manageable VoIP Network –
Voice quality measurement

MOS (Mean Opinion Score):
- Subjective measurement of VoIP.
- Pre selected voice sample over different
media, replayed to mixed group of men and
woman, who rate them from 1 to 5.
4 – 5: Toll Quality
3 – 4: Communication quality
< 3 : Synthetic quality
Voice quality measurement

PSQM (Perceptual Speech Quality
Measurement, ITU-T P.861):
- Automated scoring process using an
algorithm that enables computer-derived
scores to correlate to MOS scores.
- Designed for circuit-switched network and
does not take into effect important parameters
such as jitter and packet loss, which affect
voice quality on a VOIP network adversely.
Voice quality measurement

PAMS (Perceptual Analysis and Measurement System):
- Designed an intrusive listening speech quality assessment tool
where speech quality is computed by injecting a speech like signal
at one end and analysing the degraded signal at other end of the
network.
SCORE
Parameter
1
2
3
4
5
>200
>100
Latency (ms)
<50
50-75
75-100
Packet/Loss (%)
0
0-1
1-2
100200
2-3
Jitter (ms)
<5
5-10
10-50
50-100
>3
Voice quality measurement

PESQ: PESQ (ITU–T P.862):
- The latest standard for assessing voice quality
and is expected to eventually replace PSQM.
- It builds on the PSQM and PAMS algorithms by
adding additional processing steps to account
for signal-level differences and the identification
of errors associated with packet loss.
Voice quality measurement

Delay guideline: ITU-T G.114
Acceptable Acceptable under conditions
0
150
Unacceptable
400
0 – 150 ms: Good quality and no echo
151 – 400 ms: Acceptable under certain conditions and
echo canceling is needed
401+: Unacceptable for real-time voice traffic and
planning and testing purposes only
Quality problem detection




Interpret RTCP and RTCP XR.
Packet monitoring by Layer2 switch taping or
port mirroring.
Probing and active monitoring by injecting a
test packet.
SNMP, RMON or sFlow gathering.
Problem isolation procedure
RTCP
1
Packet
monitoring
SNMP
ALARM
Central
QoS server
4
5
VoIP
Network
2 3
6
Console
Central QoS management server








Discover VoIP components/elements dynamically.
Create a topology and aggregate multiple call servers, GW, GK,
MCU, SIP Servers, etc.
Collect performance/delay data from various sources.
Calculate variable polling period and injects an active packet.
Make a statistical model to use for assign QoS.
Organize elements/QoS data in the relational DBMS.
Detect voice quality problem and send an alarm to console.
Inject an active test packet to isolate the problem as per
console.
Console





Display overall call quality.
Display topology and status display.
Display drill down to detail elements with
MOS/PESQ.
Display real time status and quality changes.
Trigger the problem isolation procedure.
Q&A

Thank you!
Any questions?