Upload
api-27373342
View
230
Download
0
Embed Size (px)
Citation preview
8/9/2019 Computer Communication Project Interim Report 3
1/7
>Inetrim Report 3 1
I. INTRODUCTION
In modern times when there is financial turmoil, the industries
are looking for ways to grade down the costs in view of
sustaining their profits. One way to cut down their cost is
cheap or rather cost less alternatives for hard line telephones.Hence Soft phones has gained enormous popularity. Using
Soft Phones the industries can set up telephony systems that
will help them curb down their call costs. Also in recent times
with the advent of free open source SIP platforms like
Asterisk, Kamailo, and Freeswitch; the world of VOIP and SIP
phones have become a major player in the world of free
telephony.
Now as SIP phone are gaining popularity more and more,
the technicians are discovering new problems associated with
this technology. While using SIP phone services whether for
home use or business purpose in a one to one or conference
mode one often comes across problems like lost calls, bad call
quality, other line seems to be engaged while it is actually not& also jump calls(calls to wrong telephone number) . There
have been multiple softwares produced for deciphering such
problems in SIP telephony. These softwares mainly deal with
analyzing the incoming and outgoing calls through the router
that are using the SIP protocol or the RTP or UDP protocols.
After the analyses of these protocols are done the problem is
pinpointed and can be dealt with effectively.
Two of the most acknowledged software in this field are
TCP Dump and Wireshark. While TCP Dump can only run on
UNIX platforms, Wireshark can be run on any platform. In
this project we are using Wireshark on Ubuntu Karmic Koala
platform for analyzing SIP protocol for various soft phones
used by industries as well as individuals in modern times.
II.SCHEME OF THE PROJECT
In this project we will be analyzing the different SIP/VOIP
solutions using Wireshark that are available in the market and
then give a detailed report on the QoS (quality of service) as a
comparison for all these solutions. The solutions that we will
test are:
1. Empathy: Thisis an instant messaging client which
supports text, voice, video, file transfers, and inter-
application communication over various IM
protocols.
Empathy also provides a collection of re-usableGraphical User Interface widgets for developinginstant messaging clients for the GNOME desktop.It is written as extension to the Telepathy
framework, for connecting to different instantmessaging networks with a unified user interface.Empathy has been included in the GNOME
desktop since version
2. Ekiga : This wasformerly called gnome is a VoIP
and video conferencing application for GNOME
and Windows . It is distributed as free software
under the terms of the GNU General Public
License. se" Ekiga supports both the SIP and
H.323 (based on OpenH323 protocols )and is fully
interoperable with any other SIP compliant
application and with Microsoft NetMeeting . It
supports many high-quality audio and video
codecs.
3. BigBlueButton = The BigBlueButton is a versatileopen source project that is built over fourteen opensource components to create an integrated webconferencing system that runs on mac, unix or pccomputers. some of the features of this softphoneare web cam management, presentation in whichany user can upload PDF presentation, officedocument and keep everyone in sync with theircurrent page, zoom, pan, and see the presentersmouse pointer. BigBlueButton voice conferencingsupports voice over IP (VOIP) conferencing out-of-the-box.
Performance analysis of open source solutions using
Wireshark
Koolwal Jai ,Pal Sumalya
Electrical and Computer Science Engineering department.Universit O Florida
AbstractThe goal of this project is to form a detailed analysis of
Multi point video, audio, text and collaboration softwares like the
Ekiga , Empathy, Twinkle & BigBlueButton ; and will be
completing a survey, comparing them on issues like robustness in
call quality, video quality in one to one as well as conference mode
, for this purpose we shall deploy the WIRESHARK (packet sniffer
for Linux) and building on the data collected we shall have a better
comparative understanding about the performance of these
softwares in different open source environments like UBUNTU
9.10J AUNTY BUI LD Karmic Koala & Open Suse 11.2.
KeyWords-wireshark,bigbluebutton,ekiga,empathy, twinkle, CentOS, packet, networking, linux, alpine linux, fedora, ubuntu,Voip,
eb conference, data, Multi oint video, audio, text
8/9/2019 Computer Communication Project Interim Report 3
2/7
>Inetrim Report 3 2
4. Twinkle - Twinkle is a free software open sourcesoftware application forVoice over Internet
Protocol (VoIP) voice communications in IP networks,
such as theInternet.It is designed
forGNU/Linux operating systems and uses the Qt toolkit
for its graphical user interface. For call signaling it
employs the Session Initiation Protocol. It also features
direct IP to IP calls. Media streams are transmitted viathe Real-time Transport Protocol which may be encrypted
with the Secure Real-time Transport Protocol (SRTP) and
the ZRTP security protocolsTwinkle supports the
following audio codecs.
G.711 A-law (64 kbps payload, 8 kHz sampling rate)
G.711 -law (64 kbps payload, 8 kHz sampling rate)
GSM (13 kbps payload, 8 kHz sampling rate)
Speex narrow band (15.2 kbps payload, 8 kHz
sampling rate)
Speex wide band (28 kbps payload, 16 kHz sampling
rate)
Speex ultra wide band (36 kbps payload, 32 kHz
sampling rate)
iLBC (13.3 or 15.2 kbps payload, 8 kHz samplingrate)
G.726 (16, 24, 32 or 40 kbps payload, 8 kHz sampling rate
III. WIRESHARK
Wireshark is the world's foremost network protocol analyzer,
and is the de facto standard across many industries and
educational institutions. The features of this tool are:
Live capture of packets and their offline analysis.
Standard three pane packet browser.
Runs on multiple platforms: Windows, Linux, Solaris,NetBSD, FreeBSD.
Captured network data can be browsed via a GUI, or
via the TTY-mode TShark utility
The most powerful display filters in the industry
Rich VOIP/SIP protocol analysis.
Deep inspection of hundreds ofprotocolsadded every day.
IV. THE PROCESS
First we start the wireshark protocol analyzer
and start the packet capture mechanism asshown in Fig 1.
Fig 1. The wireshark capture window
Then we start the Soft phone and dialed a toll free
number (we dialed 001-800-457-7777, the toll free
number of Toshiba service center). As soon as the
number is dialed we could see wireshark capturing
the RTP (Real time protocol) packets.
After about three to four minutes, we stopped the
capturing process and started analyzing the packets
in offline mode.
We followed this process for two SIP phones.
First we analyzed Empathy and then Ekiga.
V.RESULTS
i)EMPATHY
The table below gives us the detailed account of the SIP call
made from Empathy. We can see that the jitter accounted for
Fig. 2 Table showing the details of the SIP transaction
Packet Sequenc
e
Time
stamp
Delta
(ms)
Jitter(ms) Skew
(ms)
IP BW
(Kbps)
Mark
er
S
1 623 4477 44860
0
0 0 0 1.6 SET [
2 625 4478 44876
0
19.8
3
0.01 0.17 3.2 [
3 627 4479 44892
0
19.9
6
0.01 0.21 4.8 [
4 629 4480 44908
0
20 0.01 0.21 6.4 [
5 632 4481 44924
0
20.5 0.04 -0.28 8 [
6 633 4482 44940
0
19.7
9
0.05 -0.08 9.6 [
7 636 4483 44956
20 0.05 -0.08 11.2 [
http://en.wikipedia.org/wiki/Free_softwarehttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Voice_over_Internet_Protocolhttp://en.wikipedia.org/wiki/Voice_over_Internet_Protocolhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/GNU/Linuxhttp://en.wikipedia.org/wiki/Qt_(toolkit)http://en.wikipedia.org/wiki/Session_Initiation_Protocolhttp://en.wikipedia.org/wiki/Real-time_Transport_Protocolhttp://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocolhttp://en.wikipedia.org/wiki/ZRTPhttp://en.wikipedia.org/wiki/ZRTPhttp://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocolhttp://en.wikipedia.org/wiki/Real-time_Transport_Protocolhttp://en.wikipedia.org/wiki/Session_Initiation_Protocolhttp://en.wikipedia.org/wiki/Qt_(toolkit)http://en.wikipedia.org/wiki/GNU/Linuxhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Voice_over_Internet_Protocolhttp://en.wikipedia.org/wiki/Voice_over_Internet_Protocolhttp://en.wikipedia.org/wiki/Voice_over_Internet_Protocolhttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Open_source_softwarehttp://en.wikipedia.org/wiki/Free_software8/9/2019 Computer Communication Project Interim Report 3
3/7
>Inetrim Report 3 3
is very stable and is quite acceptable.
Next we will fetch another table like this one for Ekiga
and will be able to analyze in a comparable manner between
these two SIP services.
Fig 3. Graph showing the Forward Jitter and the Reverse
jitter in Empathy.
The above graph shows the forward jitter in the call. Note
that no green spikes can be seen in the graph. Green spikes
represent the reverse jitter. Since there was no answer from our
side , there were no reverse jitter experienced. Hence there are
no green spikes.
Fig 3. The analyzed call spikes in Empathy.
The above figure represents the Call graph. Here only one
channel seems to have the spikes. This is because only the
operator on the other side of the phone talked.
ii) TWINKLE
We executed Twinkle SIP phone on the Open Suse 11.2
platform. The overall performance of the product was
satisfactory. However the forward and the reverse jitter
encountered were more than what we expected. The call clarity
was perfect.
The below figure shows the CALL FLOW of the entire
process.
Fig 4: The flow graph of the process
Packet Sequen
ce
Time
stamp
Delta
(ms)
Jitter(m
s)
Skew
(ms)
IP BW
(Kbps)
33 52496 3752872
392
0 0 0 0.58
36 52497 3752855
2
28.17 0.51 -
8.17
1.17
39 52498 3752871
2
48.48 1.82 -
29.6
5
1.75
40 52499 3752887
2
8.33 2.44 -
17.9
8
2.34
43 52500 3752873
032
42.13 3.67 -
40.1
1
2.92
44 52501 3752873
192
0.17 4.68 -
20.2
8
3.5
46 52502 3752873
352
21.43 4.48 -
21.7
1
4.09
Fig 5: The datas collected
The above figure shows the datas related with the entire
operation of the product. The relative average Jitter
encountered was 11.08 ms. This was quite high as compared to
8/9/2019 Computer Communication Project Interim Report 3
4/7
>Inetrim Report 3 4
other opensource soft phones like that of X-Lite. However in
totality this product functioned satisfactorily.
iii) EKIGA
Ekiga was installed on UBUNTU 9.10JAUNTY BUILD
and just like in the previous cases we started wireshark prior to
the initiation of the VOIP call. Once the call was in progress
we collected the following data
Fig 6Showing the wireshark packet capture window.
Fig 7 Shows the table with packet jitter , BW as well as
SKEW.
I/O Graph showing packets/unit time v/s time
X axisTicker/Time (in sec)
Y axisPackets per unit Ticker(or Time)
Fig 8I/O Graph during the INITIATION of the VOIP CALL
Since the VOIP call was being established, hence we see very
few packets in the beginning causing a dip to almost zero
packets per unit time, the reason being that ARP was mappingthe IP address 192.168.113.2 to the MAC address of the
machine 00:50:56:f9:15:47 once this was completed it
gradually settled down to a constant rate with the UDP
successfully resolving source and destination ports. Also we
see a spike at exactly 3.169s because this is when DNS comes
into play and is trying to locate the Ekiga server using
STANDARD QUERY RESOLUTION.
8/9/2019 Computer Communication Project Interim Report 3
5/7
>Inetrim Report 3 5
Fig 9I/O graph well after ESTABLISHMENT of the VOIP
CALL
Figure 9 shows the exceptionally stable performance of
EKIGA with a constant rate of packets along the time
axis.However we do observe a major spike in between which
must be because of a sudden surge in the available BW at 613s
, the jump being from mid 159.04 kbps to 165.85 kbps
allowing flow of more packets.
Fig 10 - I/O Graph during the TERMINATION of the VOIP
CALL
Finally we see the packets per unit time dipping to zero in
figure 10 since this is when we terminated the call.
8/9/2019 Computer Communication Project Interim Report 3
6/7
>Inetrim Report 3 6
Packet Sequen
ce
Time stamp Delta
(ms)
Jitter(m
s)
Skew
(ms)
IP BW
(Kbps)
607 25716 41369328 33.1
9
893.5
1
438
931.
75
153.0
9
608 25717 41453412 36.5
1
893.7
8
439
829.
5
159.5
609 25718 41537496 38.0
7
893.9
3
440
725.
69
159.7
4
610 25719 41621580 45.3
3
893.6
2
441
614.
62
159.0
4
611 25720 41705664 37.2
4
893.8
3
442
511.
66
159.8
7
612 25721 41789748 47.0
9
893.4
1
443
398.
81
158.9
9
613 25722 41873832 35.9
7
893.7
2
444
297.
12
165.8
4
Fig 11Table with JITTER, BW, SKEW and TIMESTAMP
of given packets
The obviously visible fact about the above table is the almost
constant jitter. Since we know that Jitter is a variation of delay
and hence a constant jitter will not hamper the performance of
a voip call and here we see that EKIGA has almost constant
jitter throughout the duration of the call , which is just one ofthe reasons why the call quality was excellent.
VI. THE MATHS INVOLVED
. Wireshark calculates jitter according to RFC3550 (RTP):
If Si is the RTP timestamp from packet i, and Ri is the time of
arrival in RTP timestamp units for packet i, then for two
packets
i and j, D may be expressed as
D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)
The interarrival jitter SHOULD be calculated continuously as
difference D for that packet and the previous packet i-1 in
order
of arrival (not necessarily in sequence), according to the
formula
J(i) = J(i-1) + (|D(i-1,i)| - J(i-1))/16
RTP timestamp: RTP timestamp is based on the
sampling frequency
of the codec, 8000 in most audio codecs and 90000 in
most video codecs
As the sampling frequency must be known to correctly
calculate jitter
it is problematic to do jitter calculations for dynamic
payload types
as the codec and it's sampling frequency must be known
which implies
that the setup information for the session must be in the
trace and the codec
used must be known to the program(with the current
implementation).
If suppose we have the following sample data
R0 = frame 624: frame.time = Jul 4, 2005 11:56:25.348411000
S0 = frame 624: rtp.timestamp = 1240
R1 = frame 625: frame.time = Jul 4, 2005 11:56:25.418358000
S1 = frame 625: rtp.timestamp = 1400
R2 = frame 626: frame.time = Jul 4, 2005 11:56:25.421891000
S2 = frame 626: rtp.timestamp = 1560
we also have rtp.p_type = ITU-T G.711 PCMA (8) and thus we knowsampling clock is 8000Hz and thus the unit of rtp.timestamp is 1/8000sec = 0.000125 sec .
Then this is how we shall calculate the JITTER
frame 624:
J(0) = 0
frame 625:
D(0,1) = (R1 - R0) - (S1 - S0)
= [in seconds] (.418358000 sec - .348411000 sec) - (1400 *0.000125 sec - 1240 * 0.000125 sec) = 0.049947
J(1) = J(0) + (|D(0,1)| - J(0))/16
= [in seconds] 0 + (|0.049947| - 0)/16 = 0.0031216875
frame 626:
D(1,2) = (R2 - R1) - (S2 - S1)
= [in seconds] (.421891000 sec - .418358000 sec) - (1560 *0.000125 sec - 1400 * 0.000125 sec) = -0.016467
J(2) = J(1) + (|D(1,2)| - J(1))/16
= [in seconds] 0.0031216875 + (|-0.016467| - 0.0031216875)/16= 0.00395576953125
How bandwidth (BW) is calculated
The BW column in RTP Streams and RTP Statistics dialogs shows thebandwidth at IP level for the given RTP stream. It is the sum of all octets,including IP and UDP headers (20+8 bytes), from all the packets of thegiven RTP stream over the last second.
VII. PROBLEMS THAT CROPPED UP AND HOW WE
RESOLVED THEM
Fedora Issue: we in the beginning thought of using Fedora as
a test benchmark for this project alongside Ubuntu 9.11, since
it is one of the oldest LINUX versions in the market. But as we
proceeded with our project we found out that Fedora has some
generic problem with the ITU-T G.711 PCMA audio codec.
There were a lot of glitches in the call quality which was not
the fault of the VOIP solutions that we were benchmarking.
Hence to get a better understanding of the sip phones under
8/9/2019 Computer Communication Project Interim Report 3
7/7
>Inetrim Report 3 7
scrutiny we replaced Fedora with Open Suse 11.2 operating
system.
Cent OS issue: Next we planned to build a BigBlueButton
server on a Cent OS (Community Enterprise Operating
System) and subsequently benchmark the open source
solution. But as we proceeded with our project we found out
that the CentOS has several issues with the video cards. It
seems CentOS is not compatible with Voodoo 3 range videocards. Hence there was a problem when installing the OS.
Even after we installed it with in text mode (Linux text mode),
the GUI could not recognize mouse or legacy keyboard.
Reassigning of the UDP Ports
While performing the test we sometimes were running two sip
phones in parallel on the same machine, and by default a VOIP
call routes through the UDP PORT 5060, however when
running two phones at the same time one of the phones
occupies the port rendering it inaccessible for the second sip
phone. Hence we must make sure that we assign a different
port ranging between 5061 to 5069 for the second VOIP call.
This solved the issue faced and allowed mooth running ofbothe the SIP clients.
Initial trouble with EKIGA and how we came around that
problem
When we started out, we used a sip account to make calls.
Although UBUNTU 9.10 JAUNTY BUILD, our SIP
account was displayed as registered and our calls were also
going through, when calling each other, we could never hear
any voice from either side. This issue was resolved by
changing the settings of going into EKIGA
PREFERENCES>AUDIO>DEVICES and in the directory we
change the ringing device from SILENT (Ekiga/Ekiga) toDefault (PTLIB/ALSA).
VII. FUTURE OF OUR PROJECT
In future we will be installing BigBlueButton in UBUNTU
9.10 JAUNTY BUILD environment. We will also try and
setup a BigBlueButton server and examine its performance in
UBUNTU 9.10 JAUNTY BUILD Karmic koala
environment. We intend to perform the packet analysis on
EKIGA, EMPATHY on both Open Suse 11.2 and UBUNTU
9.10 JAUNTY BUILD with a permutation and combination
ensuring we are able to compare each soft phone on each OS
& hence get a better insight into both the soft phones and the
robustness of the OS.
IX.REFERENCES
[1] A. Leon-Garcia, I. Widjaja, Communication Networks: Fundamental
Concepts and Key Architectures, 2nd ed., New York: McGraw-Hill,
2004, pp. 706-756.
[2] QoS Assessment of Video Over IP. [Online]. Available:
http://encyclopedia.jrank.org/articles/pages/6873/Qos-Assessment-of-
Video-Over-IP.html
[3] Ethernet Capture Setup. [Online]. Available:
http://wiki.wireshark.org/CaptureSetup/Ethernet
[4] WIRESHARK WEBSITEwww.wireshark.org
[5] How VOIP works http://www.fcc.gov/cgb/consumerfacts/voip.pdf
[6] Open Source Voip Traffic Monitoring ,Luca Deri
[7] Understanding VOIP Over Internet Protocol,Mathew Desantis US Cert
[8] Security Considerations For Voice Over IP Systems -NIST
http://wiki.wireshark.org/CaptureSetup/Ethernethttp://wiki.wireshark.org/CaptureSetup/Ethernethttp://www.wireshark.org/http://www.wireshark.org/http://www.wireshark.org/http://www.fcc.gov/cgb/consumerfacts/voip.pdfhttp://www.fcc.gov/cgb/consumerfacts/voip.pdfhttp://www.fcc.gov/cgb/consumerfacts/voip.pdfhttp://www.fcc.gov/cgb/consumerfacts/voip.pdfhttp://www.wireshark.org/http://wiki.wireshark.org/CaptureSetup/Ethernet