Walberg-expose vo_ip problems with wireshark

39
SHARKFEST '08 | Foothill College | March 31 - April 2, 2008 Exposing VoIP problems with Wireshark April 2, 2008 Sean Walberg Network Guy | Canwest SHARKFEST '08 Foothill College March 31 - April 2, 2008

description

 

Transcript of Walberg-expose vo_ip problems with wireshark

Page 1: Walberg-expose vo_ip problems with wireshark

SHARKFEST '08 | Foothill College | March 31 - April 2, 2008

Exposing VoIP problems with WiresharkApril 2, 2008

Sean WalbergNetwork Guy | Canwest

SHARKFEST '08Foothill CollegeMarch 31 - April 2, 2008

Page 2: Walberg-expose vo_ip problems with wireshark

Voice is just another application

Page 3: Walberg-expose vo_ip problems with wireshark

SHARKFEST '08 | Foothill College | March 31 - April 2, 2008

Without tools, VoIP is a black box

Page 4: Walberg-expose vo_ip problems with wireshark

Wireshark has tools to analyze VoIP

Page 5: Walberg-expose vo_ip problems with wireshark

The Agenda

1. Capturing VoIP traffic

2. Using the basic Wireshark tools

3. Digging into the signaling traffic

4. Analyzing the RTP traffic

Page 6: Walberg-expose vo_ip problems with wireshark

About you

Page 7: Walberg-expose vo_ip problems with wireshark

About me

Page 8: Walberg-expose vo_ip problems with wireshark

1. Capture the VoIP

traffic

Page 9: Walberg-expose vo_ip problems with wireshark

Location, Location, Location

Page 10: Walberg-expose vo_ip problems with wireshark

Just a simple network

Page 11: Walberg-expose vo_ip problems with wireshark

The signaling traffic takes a different path from the RTP traffic

Voice

Signaling

Page 12: Walberg-expose vo_ip problems with wireshark

Or, it might do this

Voice

Signaling

Page 13: Walberg-expose vo_ip problems with wireshark

Same conversation, different perspectives

Here you see B – A jitter, but not A - B

Here you see A – B jitter, but not B - A

Page 14: Walberg-expose vo_ip problems with wireshark

NAT changes the address

Src=ADst=B

Src=CDst=D

The address changeswithin the cloud!

Page 15: Walberg-expose vo_ip problems with wireshark

Set your capture filters

Page 16: Walberg-expose vo_ip problems with wireshark

By the way…

If the signaling or the voice is encrypted, you won’t be able to decode it.

Sorry.

Page 17: Walberg-expose vo_ip problems with wireshark

2. Use the basic tools

Page 18: Walberg-expose vo_ip problems with wireshark

The Packet List window

Page 19: Walberg-expose vo_ip problems with wireshark

Summaries are displayed here

Page 20: Walberg-expose vo_ip problems with wireshark

Quality of Service for VoIP networks

Page 21: Walberg-expose vo_ip problems with wireshark

Add a column for DSCP

Insert -> Preferences User Interface->Columns

Signaling

Tagged RTP

UntaggedRTP

Page 22: Walberg-expose vo_ip problems with wireshark

Use color to show QoS problems

View -> Coloring Rules

Page 23: Walberg-expose vo_ip problems with wireshark

Are you running a proprietary PBX?

Edit -> Properties, Protocols -> RTP

Page 24: Walberg-expose vo_ip problems with wireshark

Use the Packet Details pane to see what’s inside the packet

Page 25: Walberg-expose vo_ip problems with wireshark

3. Dig into the

signaling traffic

Page 26: Walberg-expose vo_ip problems with wireshark

Signaling protocols

SIP (from the IETF) H.323 (from the ITU) MGCP IAX SS7 (Telco) GSM (Telco/Cell) SCCP (Cisco Skinny) Vendor specific

Page 27: Walberg-expose vo_ip problems with wireshark

The role of signaling

Indicate to the remote end that a call is coming Establish the codec to be used for voice Establish the addresses of the endpoints Get out of the way Tear down the connection once it’s done

Page 28: Walberg-expose vo_ip problems with wireshark

The 10,000 foot view of SIP

Statistics -> SIP

Page 29: Walberg-expose vo_ip problems with wireshark

Demo – VoIP Call Statistics

Page 30: Walberg-expose vo_ip problems with wireshark

4. Analyze the RTP

traffic

Page 31: Walberg-expose vo_ip problems with wireshark

The properties of RTP

RTP simulates the real time voice normally carried over a wire

4KHz voice bandwidth = 8KHz sampling rate (Nyquist) 8 bits/sample * 8KHz = 64,000bps (DS0)

A Codec (G.711u/A law, G.729, G.726, etc) Most codecs use 20ms voice samples = 50pps Even with compression, you have a fairly consistent

packet rate, only the size changes

Page 32: Walberg-expose vo_ip problems with wireshark

Three factors that affect voice quality

Latency <= 150ms (one way)

Jitter <= 20ms

Packet loss <= 0.1%

Page 33: Walberg-expose vo_ip problems with wireshark

Latency <= 150ms (one way)

Hi, how are you? Hello? Oops, sorry, go ahead Fine, I oh hello, go ahead

Path delay

Serializationdelay

Jitter buffer,Transcodingdelay

Page 34: Walberg-expose vo_ip problems with wireshark

Packet Loss <= 0.1%

Hi Bo *POP* How *POP*e you?Hi Bo How you?

Page 35: Walberg-expose vo_ip problems with wireshark

Jitter <= 20ms

Better late than never? No.

Page 36: Walberg-expose vo_ip problems with wireshark

Demo – RTP Statistics

Page 37: Walberg-expose vo_ip problems with wireshark

Optional – IO Statistics

Page 38: Walberg-expose vo_ip problems with wireshark

Optional – Other things you can do to monitor VoIP

Page 39: Walberg-expose vo_ip problems with wireshark

That’s it!

I’m [email protected]

Links related to this talk:

http://del.icio.us/seanw/sharkfest08

I’m [email protected]

Links related to this talk:

http://del.icio.us/seanw/sharkfest08