You are on page 1of 9

>Final Report 1

Performance analysis of open source solutions using


Wireshark
Jai Koolwal, Sumalya Pal

Electrical and Computer Science Engineering


University Of Florida
 of the soft phones analyzed was mostly available on their websites[10][11][12] :

A. Empathy:
Abstract— The goal of this project is to form a detailed analysis of Multi This is an instant messaging client which supports text, voice, video, file
point video, audio, text and collaboration software like the Ekiga , Empathy, transfers, and inter-application communication over various IM protocols.
Twinkle & BigBlueButton and to complete a survey, comparing them on Empathy also provides a collection of re-usable Graphical User Interface widgets
issues like robustness in call quality, video quality , for this purpose we shall for developing instant messaging clients for the GNOME desktop. It is written as
make use of the WIRESHARK tool (packet sniffer for Linux) and building extension to the Telepathy framework, for connecting to different instant
on the data collected we shall have a better comparative understanding messaging networks with a unified user interface.
about the performance of these software in different open source
environments like UBUNTU 9.10 – JAUNTY BUILD Karmic Koala & Open B. Ekiga :
Suse 11.2. Ekiga is truly one of the most wonderful soft phones available in the market
today. It supports the SIP as well as the H323 protocol. It was a part of the
UBUNTU package but now has been replaced by EMPATHY.

KeyWords- Bigbluebutton, Cent OS, Ekiga, Empathy, Fedora, Twinkle, C. BigBlueButton :


Ubuntu, Wireshark. The BigBlueButton is a versatile open source project that is built over
fourteen open source components to create an integrated web conferencing
system that runs on mac, unix or pc computers. Some of the features of this
softphone are web cam management, presentation in which any user can upload
PDF presentation, office document and keep everyone in sync with their current
I. INTRODUCTION page, zoom, pan, and see the presenters mouse pointer. BigBlueButton voice
conferencing supports voice over IP (VOIP) conferencing out-of-the-box.

I n modern times when there is financial turmoil, the industries are looking for D. Twinkle –
Twinkle makes use of both, the SIP as well as RTP protocol, for audio and
video streaming calls respectively. It is a soft phone that works equally well in
ways to grade down the costs in view of sustaining their profits. One way to cut
Windows and Gnome. RTP streams are sometimes encrypted for better security.
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 E.Wireshark
costs. Also in recent times with the advent of free open source SIP platforms like Wireshark is the packet sniffer tool that was used for carrying out the detailed
Asterisk, Kamailo, and Freeswitch; the world of VOIP and SIP phones have analysis of all these open source solutions. It helps us to provide different metrics
become a major player in the world of free telephony. to judge the performance of a VOIP call like jitter, BW etc. Also it tells us the
Now as SIP phone are gaining popularity more and more, the technicians are kind of protocol which is currently being employed by the soft phone. It can
discovering new problems associated with this technology. While using SIP basically analyze each and every packet being exchanged.
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 III.THE PROCESS
calls(calls to wrong telephone number) . There have been multiple softwares First we start the wireshark protocol analyzer and start the packet capture
produced for deciphering such problems in SIP telephony. These softwares mechanism as shown in Fig 1.
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 information
>Final Report 2

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 Fig 3. Graph showing the Forward Jitter and the Reverse jitter in Empathy.
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
The graph in figure 3 shows the forward jitter in the call. Note that no green
analyzing the packets in offline mode.
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.
IV.RESULTS Hence there are no green spikes.
A. Empathy
The table in figure 2 gives us the detailed account of the SIP call made from
Empathy. We can see that the jitter accounted for stable and is quite acceptable.

Fig. 2 Table showing jitter, BW, skew during an EMPATHY VOIP CALL
Packet Sequence Time Delta Jitter(ms) Skew( IP
stamp (ms) ms) BW
(Kbps
)

623 4477 448600 0 0 0 1.6

625 4478 448760 19.83 0.01 0.17 3.2

627 4479 448920 19.96 0.01 0.21 4.8

629 4480 449080 20 0.01 0.21 6.4

632 4481 449240 20.5 0.04 -0.28 8

633 4482 449400 19.79 0.05 -0.08 9.6

Fig4. The analyzed call spikes in Empathy.

Figure 4 here 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.

B. 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. Figure 5 shows the CALL FLOW of the entire process.
>Final Report 3
Fig 5: The flow graph of the process

Packet Sequen Time Delta Jitter(m Skew IP BW


ce stamp (ms) s) (ms) (Kbps)

33 52496 37528723 0 0 0 0.58


92
36 52497 37528552 28.17 0.51 -8.17 1.17
39 52498 37528712 48.48 1.82 - 1.75
29.65
40 52499 37528872 8.33 2.44 - 2.34
17.98
43 52500 37528730 42.13 3.67 - 2.92
32 40.11
44 52501 37528731 0.17 4.68 - 3.5
92 20.28
46 52502 37528733 21.43 4.48 - 4.09
52 21.71

Fig 6: Table showing the jitter, BW and other packet flow related data for
Twinkle Fig 7 Shows the wireshark packet capture window.
Figure 6 shows the data related with the entire operation of the product. The
relative average Jitter encountered was 11.08 ms. This was quite high as
compared to other opensource soft phones like that of Empathy. However in
totality this product functioned satisfactorily.

C.Ekiga
Ekiga was installed on UBUNTU 9.10 – JAUNTY 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 8 – I/O Graph during the INITIATION of the VOIP CALL


>Final Report 4
Packet Sequen Time stamp Delta Jitter(m Skew IP BW
ce (ms) s) (ms) (Kbps)

607 25716 41369328 33.19 893.51 4389 153.09


31.75
608 25717 41453412 36.51 893.78 4398 159.5
29.5
609 25718 41537496 38.07 893.93 4407 159.74
25.69
610 25719 41621580 45.33 893.62 4416 159.04
14.62
611 25720 41705664 37.24 893.83 4425 159.87
11.66
612 25721 41789748 47.09 893.41 4433 158.99
98.81
613 25722 41873832 35.97 893.72 4442 165.84
97.12
Fig 11 – Table with jitter, BW, skew for the voip call on EKIGA.

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 of the
reasons why the call quality was excellent.

E.BigBlueButton
We first built a server for BigBlueButton on Ubuntu 9.04 – Jaunty Build. The
steps that we followed for building the server – (all the steps were done in the
terminal of Ubuntu 9.04) :
1. First we need to Check the internet connection
Fig 9 – I/O graph well after ESTABLISHMENT of the VOIP CALL Command-> ping www.yahoo.com
Then we checked the internet port connections
Since the VOIP call was being established hence, we see in figure 9, very few Command -> ifconfig –a
packets in the beginning causing a dip to almost zero packets per unit time, the
reason being that ARP was mapping the IP address 192.168.113.2 to the MAC It showed the following on our terminal:
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 listlab@list:~$ ifconfig -a
destination ports. Also we see a spike at exactly 3.169s because this is when DNS eth0 Link encap:Ethernet HWaddr 00:50:04:89:b9:2e
comes into play and is trying to locate the Ekiga server using STANDARD inet addr:128.227.120.100 Bcast:128.227.120.127 Mask:255.255.255.128
QUERY RESOLUTION. inet6 addr: fe80::250:4ff:fe89:b92e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:477 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:39432 (39.4 KB) TX bytes:4237 (4.2 KB)
Interrupt:11 Base address:0x4000

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:56 errors:0 dropped:0 overruns:0 frame:0
TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

pan0 Link encap:Ethernet HWaddr ae:d1:fe:2a:94:58


BROADCAST MULTICAST MTU: 1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

This step was necessary to check whether or not the internet connection is using
the eth0 connection or the eth1 connection. If it was using the eth1 connection
then we would have to change it to eth0 connection.
2. Update and Upgrade the operating system.
Once we determined the authenticity of the internet connection, we first had to
update the operating system. Upgradation of the operating system is an optional
Fig 10 - I/O Graph during the TERMINATION of the VOIP CALL thing. BigBluebutton is very comfortable with UBUNTU 9.04 – Jaunty Build. So
we did not Upgrade it.
Figure 10 shows the exceptionally stable performance of EKIGA with a constant Command
rate of packets along the time axis. However we do observe a major spike in sudo apt-get update
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 3. Install MySQL
Next step is to install the mySQL database. This is an essential step and it takes
quite some time. In our case it took almost 3 min 30 secs to complete the process.
Command apt-get install mysql-server
>Final Report 5
4. Install Tomcat 11. Install Asterisk
In the next step we need to install Tomcat6 BigBlueButton essentially runs on asterisk. The following command will install
Command-> apt-get install tomcat6 asterisk in Linux over which we will run the BigBlueButton.
NOTE: Now we need to know whether the system’s IP is running or not. To do Commands
this the following command needs to be written in the address bar of mozilla apt-get -y install asterisk
http://128.227.120.100:8080/
12. Modify Extensions
5. Install swftools Now we need to change and tweak the extensions.conf file of the
Now we installed SWF tools. BigBlueButtton.
Commands-> apt-get install swftools Commands
wget http://bigbluebutton.org/downloads/0.64/bbb_extensions.conf
6. Install ImageMagick mv bbb_extensions.conf /etc/asterisk/
Next step is to install Image Magick echo "#include \"bbb_extensions.conf\"" >> /etc/asterisk/extensions.conf
Command-> apt-get install imagemagick
13. Reconfigure the SIP.Conf
7. Install Nginx In this step we will reconfigure the sip.conf file.
Next step we installed Nginx Commands:-
Command-> apt-get install nginx wget http://bigbluebutton.org/downloads/0.64/bbb_sip.conf
mv bbb_sip.conf /etc/asterisk/bbb_sip.conf
8. Install ActiveMQ echo "#include \"bbb_sip.conf\"" >> /etc/asterisk/sip.conf
In this step we installed Active MQ. This is a long process. The time taken in this
process varies from machine to machine. In our case we had to wait almost 7 14. Install AppKonference
minutes for this process to get completed.The following commands have to be Commands
written in the terminal to complete this process. This step had to be done in the wget http://bigbluebutton.org/downloads/0.64/app_konference.so
temp directory . mv app_konference.so /usr/lib/asterisk/modules/
cd /tmp chmod 755 /usr/lib/asterisk/modules/app_konference.so
wget # set autoload module BigBlueButton conference
http://apache.mirror.rafal.ca/activemq/apache-activemq/5.2.0/apache-activemq- echo "load => app_konference.so" >> /etc/asterisk/modules.conf
5.2.0-bin.tar.gztar zxvf apache-activemq-5.2.0-bin.tar.gzmv /tmp/apache-
activemq-5.2.0 /usr/share/activemqchown -R root.root /usr/share/activemq 15. Create AMI account
Here we need to tweak the manager.conf file. We have to set enabled to yes in
9. Install red5 manager.conf
This step is again carried out in the temp “tmp” directory. This process is again a Commands
lengthy one and for us we need to wait almost 10 minutes before this could be cat /etc/asterisk/manager.conf | sed 's/^enabled = no/enabled = yes/' >
completed.The following commands have to be put into the terminal: /tmp/manager.conf
Commands mv -f /tmp/manager.conf /etc/asterisk/
cd /tmp Now its time to add an account to manager.conf
wget http://bigbluebutton.org/downloads/0.64/red5-0.9.1.tar.gz echo "
tar xvf red5-0.9.1.tar.gz ; BigBlueButton: Enable Red5 to connect
mv /tmp/red5-0.9.1 /usr/share/red5 [bbb]
secret = secret
Now we need to create RED5 user. To do this the following commands were permit = 0.0.0.0/0.0.0.0
carried out. read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user
adduser --system --home /usr/share/red5 --no-create-home --group --disabled- " >> /etc/asterisk/manager.d/bigbluebutton.conf
password --shell /bin/false red5 echo "#include \"manager.d/*.conf\"" >> /etc/asterisk/manager.conf
16. Configure Nginx
Now we have to assign proper permissions to the RED5 server. This is an
essential step and should be done with utmost care. wget
http://bigbluebutton.org/downloads/0.64/nginxbigbluebutton.confcatnginxbigblu
ebutton.conf |
chown -R root.root /usr/share/red5 seds/192.168.0.136/128.227.120.100/">/etc/nginx/sitesavailable/bigbluebuttonr
chown -R red5:adm /usr/share/red5/log mnginxbigbluebutton.conf
chmod 755 /usr/share/red5/log
chgrp red5 /usr/share/red5/webapps 17. Enable the bigbluebutton nginx config
chmod 775 /usr/share/red5/webapps Commands
10. Auto-start ActiveMQ and Red5 on reboot ln -s /etc/nginx/sites-available/bigbluebutton /etc/nginx/sites-
enabled/bigbluebutton
Now we need to set the system such that ActiveMQ and Red5 server starts up at
startup or at reboot.The following operations are again done at the temp “tmp” 18. Install OpenOffice
directory of linux. Now we need to install the Open Office. This is required because document
sharing is an inherent feature of BigBlueButton and OpenOffice is necessary in
Commands order to take advantage of that feature.
Commands
cd /tmp/ apt-get install openoffice.org
wget http://bigbluebutton.googlecode.com/files/red5-ubuntu
wget http://bigbluebutton.googlecode.com/files/activemq-ubuntu
cd /etc/init.d/ 19. Configure OpenOffice to start as a service
cp /tmp/activemq-ubuntu ./activemq For this pupose we use the following commands
cp /tmp/red5-ubuntu ./red5 cd /etc/init.d
sudo chmod +x red5 wget http://www.bigbluebutton.org/downloads/0.64/ubuntu-install/bbb-
sudo chmod +x activemq openoffice-headless
Now we need to install checkconfig platform. This is essential as checkconfig # start the openoffice server
will automatically check the condition of ActiveMQ and Red5 server on startup. Now we need to set proper permissions for the OpenOffice to start functioning.
apt-get -y install chkconfig chmod +x /etc/init.d/bbb-openoffice-headless
chkconfig red5 on chkconfig --add bbb-openoffice-headless
chkconfig activemq on chkconfig bbb-openoffice-headless on
Now its time to run Red5 server. service bbb-openoffice-headless start
sudo ./red5 start
20. Download BigBlueButton
Its time now to download BigBlueButton and start its installation.
Commands
>Final Report 6
cd /tmp | role |
wget http://bigbluebutton.org/downloads/0.64/packages/bbb-default.tar.gz | role_permission_rel |
wget http://bigbluebutton.org/downloads/0.64/packages/bigbluebutton.war | scheduled_session |
wget http://bigbluebutton.org/downloads/0.64/packages/video.tar.gz | user |
wget http://bigbluebutton.org/downloads/0.64/packages/bigbluebutton- | user_permission_rel |
apps.tar.gz | user_role_rel |
wget http://bigbluebutton.org/downloads/0.64/packages/client.tar.gz | voice_conference_bridge |
wget +-----------------------------+
http://bigbluebutton.org/downloads/0.64/packages/sip.tar.gz 12 rows in set (0.00 sec)
mysql> select * from user;
21. Disable Security settings for TOMCAT6 +----+---------+---------------------+-----------+--------------------
In this step we need to disable the security settings of Tomcat6. This step is +------------------------------------------+----------------+
necessary otherwise it may cause problems for database setup. | id | version | date_created | full_name | last_updated | password_hash
cat /etc/default/tomcat6 | sed | username |
"s/#TOMCAT6_SECURITY=yes/TOMCAT6_SECURITY=no/" > +----+---------+---------------------+-----------+---------------------
/tmp/tomcat6mv -f /tmp/tomcat6 /etc/default/tomcat6 +------------------------------------------+----------------+
| 1 | 0 | 2010-04-24 14:55:28 | Admin | 2010-04-24
22. Setup the database 14:55:28d033e22ae348aeb5660fc2140aec35850c4da997 | admin@test.com |
Here we setup the database for MySQL. +----+---------+---------------------+-----------+---------------------
Commands-> +------------------------------------------+----------------+
mysql -u root -p 1 row in set (0.06 sec)
On the mysql> prompt, type mysql>
create database bigbluebutton_dev;
grant all on bigbluebutton_dev.* to 'bbb'@'localhost' identified by 'secret';
commit; 29. Create the Presentation Upload directory
quit Commands
mkdir /var/bigbluebutton
23. Install bbb-web chown -R tomcat6:adm /var/bigbluebutton
Commands chmod -R 777 /var/bigbluebutton
cd /var/lib/tomcat6/webapps
cp /tmp/bigbluebutton.war ./bigbluebutton.war 30. Install bbb-apps
Commands
24. Generate a GUID cd /usr/share/red5/webapps
For security, you need to generate a GUID. We created our GUID at this site cp /tmp/bigbluebutton-apps.tar.gz ./
http://www.somacon.com/p113.php tar zxvf bigbluebutton-apps.tar.gz
rm -rf bigbluebutton-apps.tar.gz
25. Edit bbb-web properties
Now we need to open a VIM editor in terminal and then edit the bbb-web
properties –
31. Install bbb-deskshare-app
‘vi/var/lib/tomcat6/webapps/bigbluebutton/WEB- Commands
INF/classes/bigbluebutton.properties’ cd /usr/share/red5/webapps
cp /tmp/deskshare.tar.gz ./
Change the following: swfToolsDir to the directory where pdf2swf is located tar zxvf deskshare.tar.gz
,imageMagickDir to the directory where convert is located ,ghostScriptExec to rm deskshare.tar.gz
point to the gs executable ,change bigbluebutton.web.serverURL=http://
128.227.120.100
32. Install bbb-video-app
26. Create noPdfMarkWorkaround.ps Commands
Create /etc/bigbluebutton/nopdfmark.ps with the following content: cd /usr/share/red5/webapps
%! cp /tmp/video.tar.gz ./
/pdfmark {cleartomark} bind def tar zxvf video.tar.gz
rm video.tar.gz
27. Restart Tomcat6
Command
/etc/init.d/tomcat6 restart 33. Install bbb-voice-app
Commands
28. Check if database tables were created cd /usr/share/red5/webapps
This is important as we wint know whether the mySQL database has been created cp /tmp/sip.tar.gz ./
successfully. tar zxvf sip.tar.gz
rm sip.tar.gz
Commands
listlab@list:~$ mysql -u root -p
Enter password: 34. Install bbb-default
Welcome to the MySQL monitor. Commands end with ; or \g. Commands
Your MySQL connection id is 45 cd /var/www
Server version: 5.0.75-0ubuntu10.3 (Ubuntu) cp /tmp/bbb-default.tar.gz ./
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. tar zxvf bbb-default.tar.gz
mysql> use bigbluebutton_dev; mv web bigbluebutton-default
Reading table information for completion of table and column names rm bbb-default.tar.gz

You can turn off this feature to get a quicker startup with -A
Database changed 35. Install bbb-client
mysql> show tables; Commands
+-----------------------------+ cd /var/www
Tables_in_bigbluebutton_dev | mkdir bigbluebutton
+-----------------------------+ cd bigbluebutton
| account | cp /tmp/client.tar.gz ./
| account_conference | tar zxvf client.tar.gz
| account_user | rm client.tar.gz
| conference | mv bin client
| permission |
>Final Report 7
36. Edit client config
Commands
vi /var/www/bigbluebutton/client/conf/config.xml

Fig12 Shows the bigbluebutton screen shot

37. Finish the building


Now finally we are at the end of the building process of BigBlueButton in
Ubuntu 9.04.
Commands
Fig13 Graph of throughput for BigBlueButton.
# create directory for log files
The most striking feature about the graph in figure 13 is the almost parallel line
mkdir /var/log/bigbluebutton
to the ‘x’ axis, which shows the remarkable throughout of the voip call using
# create an empty log file
this soft phone.It will be worthwhile mentioning here that this call was a Video
touch /var/log/bigbluebutton/bbb-web.log
Call and still the throughput seems to be above par , infact it is excellent and
chmod 777 /var/log/bigbluebutton/bbb-web.log
ideal. The only reason why the throughput is zero initially because that when
# restart server
we started the voip call and the call flow graph which is going to follow in
service nginx restart
figure 14 will explain why this is so.
service activemq restart
service asterisk restart
service red5 restart
service tomcat6 restart

At this point our BigBlueButton server is all set and ready to run. We need to just
input the Ip Address into the address bar of Mozilla or internet explorer and hit
enter. An interface will show up which will help us in setting up our desired
conference.Figure 12 shows the final screenshot of how BigBlueButton looked
like on our screen.

V. WIRESHARK ANALYZED RESULTS ON BIG BLUE BUTTON

BigBlue Button is mainly implementing the SIP protocol and the RTSP protocol
which stands for the real time streaming protocol and it is responsible for the
streaming of media through bigbluebutton.

Fig.14 Call flow graph of BigBlueButton.


>Final Report 8
The figure 14 shows the initial exchange of overhead data. solution. But as we proceeded with our project we found out that the CentOS has
It makes it clear why the throughput is low in the beginning but then shoots up several issues with the video cards. It seems CentOS is not compatible with
once the connection has been established and both the source and destination Voodoo 3 range video cards. Hence there was a problem when installing the OS.
are ready to exchange data. RTSP is an end to end protocol which provides Even after we installed it with in text mode (Linux text mode), the GUI could not
services like TCP. recognize mouse or legacy keyboard.

C. Reassigning of the UDP Ports –


V. THE MATH INVOLVED While performing the test we sometimes were running two sip phones in
A .Jitter parallel on the same machine, and by default a VOIP call routes through the UDP
The jitter calculated in our wireshark analysis table for all the soft phones in PORT 5060, however when running two phones at the same time one of the
this project was for the RTP protocol .Jitter basically gives the difference of the phones occupies the port rendering it inaccessible for the second sip phone.
real time arrival and say Y is the difference of the timestamps for the same Hence we must make sure that we assign a different port ranging between 5061
packets then the jitter will be given by, D= X-Y. This has been adapted from [9]. to 5069 for the second VOIP call. This solved the issue faced.

D. Initial trouble with EKIGA and how we came around that problem –
X=Rj-Ri, Y=Sj-Si, D(i,j) = X-Y, i.e.D=(Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si) 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
The next formula show how the inter arrival jitter is calculated in wireshark. By hear any voice from either side. This issue was resolved by changing the settings
inter arrival jitter it is meant that we are trying to calculate it between two packets of going into EKIGA PREFERENCES>AUDIO>DEVICES and in the directory
say packet with sequence number I and another with sequence number i-1.The we change the ringing device from SILENT (Ekiga/Ekiga) to Default
other packet could also have been with a sequence numbe i-10 , its just that both (PTLIB/ALSA).
the packets arrive at different times , that matters.
J (i) = J (i-1) + (|D (i-1, i)| - J (i-1))/16 VI. CONCLUSION
In this project we have performed a detailed analysis on several parameters like
B. RTP timestamp: jitter, the bandwidth usage as well as the throughput. We used the Wireshark
Timestamp is a very critical parameter here. Since this is what is used to packet sniffer to understand the call flow nature of the soft phones and got
calculate jitter. As we know that jitter is only a variation of delay and if the interesting results which provide more insight into the working of a voip call.
packets are stored in a buffer with the correct timestamp then the accuracy of the TWINKLE has the most concerns when it comes to jitter which makes it below
timestamp can be used to play them just like they arrived in the original stream, par in technical terms but the call quality experienced by us was still satisfactory.
without any additional jitter. Here the RTP voip calls were analyzed and a Jitter will not be a problem if it is kept at a constant value because then the end
sampling frequency of 8000 is observed. We have taken the following example user will not experience a delay. But when jitter values begin to vary for a voip
from [9] call that is when the major issue arises .This is the main problem in Twinkle,
although we have made a table of only a few packets in our project report we
R0 = frame 810: frame.time = Dec 4, 2009 11:56:25.348411000 observed several thousands of packets’ jitter values which were continuously
S0 = frame 810: rtp.timestamp = 1240 varying, hence if need be for video conferencing, TWINKLE is not a good
R1 = frame 811: frame.time = Dec 4, 2009 11:56:25.418358000 option. EMPATHY had a constant value of jitter; the BW usage was also decent.
EKIGA , in our opinion , was the best soft phone of them all because the table
S1 = frame 811: rtp.timestamp = 1400 indicates that it suffered from almost constant jitter for a very very long time.
R2 = frame 812: frame.time = Dec 4, 2009 11:56:25.421891000 Finally, BIGBLUEBUTTON was the last phone that we carried analysis on; since
S2 = frame 812: rtp.timestamp = 1560 it has wonderful features like the environment of an online interactive classroom
it has a great scope of being used in a variety of applications. The RTSP protocol
was analyzed in this case which gave an amazingly constant throughput in video
Then this is how we shall calculate the JITTER conference mode.
frame 810:
J(0) = 0 VII. REFERENCES
frame 811: [1] Leon-Garcia, I. Widjaja, Communication Networks: Fundamental Concepts
D(0,1) = (R1 - R0) - (S1 - S0) and Key Architectures, 2nd ed., New York: McGraw-Hill, 2004, pp. 706-756.
[2] QoS Assessment of Video Over IP at:
= [in seconds] (.418358000 sec - .348411000 sec) - (1400 * 0.000125 sec - 1240 http://encyclopedia.jrank.org/articles/pages/6873/Qos-Assessment-of-Video-
* 0.000125 sec) = 0.049947 Over-IP.html
[3] Ethernet Capture Setup.at:
J (1) = J (0) + (|D(0,1)| - J(0))/16 http://wiki.wireshark.org/CaptureSetup/Ethernet
[4] WIRESHARK WEBSITE www.wireshark.org
= [in seconds] 0 + (|0.049947| - 0)/16 = 0.0031216875 [5] How VOIP works : http://www.fcc.gov/cgb/consumerfacts/voip.pdf
[6] Luca Deri : Open Source Voip Traffic Monitoring
frame 812: [7] Mathew Desantis : Understanding VOIP Over Internet Protocol
D(1,2) = (R2 - R1) - (S2 - S1) [8] NIST : Security Considerations For Voice Over IP Systems
[9] http://wiki.wireshark.org/RTP_statistics
= [in seconds] (.421891000 sec - .418358000 sec) - (1560 * 0.000125 sec - 1400 [10] https://www.ekiga.net/
* 0.000125 sec) = -0.016467 [11]http://bigbluebutton.org/
[12]http://www.xs4all.nl/~mfnboer/twinkle/
J(2) = J(1) + (|D(1,2)| - J(1))/16
= [in seconds] 0.0031216875 + (|-0.016467| - 0.0031216875)/16 =
0.00395576953125

VII. PROBLEMS THAT CROPPED UP AND HOW WE RESOLVED THEM

A. Fedora Issue:
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
scrutiny we replaced Fedora with Open Suse 11.2 operating system.

B. 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

You might also like