0% found this document useful (0 votes)
17 views7 pages

Comparative Study of Audio and Video Chat Application Over The Internet

This document presents a comparative study of popular audio and video chat applications (Skype, Imo, and Google Duo) over the internet on Android smartphones. It finds that Google Duo provides the best voice and video quality while Imo provides the worst. Most variations in quality are due to noise in the form of echo. The document also describes developing a new Android VoIP application using adaptive filtering with NLMS to improve quality by reducing noise and echo.

Uploaded by

emir.dmrklll1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views7 pages

Comparative Study of Audio and Video Chat Application Over The Internet

This document presents a comparative study of popular audio and video chat applications (Skype, Imo, and Google Duo) over the internet on Android smartphones. It finds that Google Duo provides the best voice and video quality while Imo provides the worst. Most variations in quality are due to noise in the form of echo. The document also describes developing a new Android VoIP application using adaptive filtering with NLMS to improve quality by reducing noise and echo.

Uploaded by

emir.dmrklll1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

2018 International Conference on Intelligent Circuits and Systems

COMPARATIVE STUDY OF AUDIO AND VIDEO


CHAT APPLICATION OVER THE INTERNET
Rajnish Singh Isha Nahita Pathania Arun Malik
Lovely Professional Lovely Professional Lovely Professional Lovely Professional
University University University University
Phagwara, Punjab Phagwara, Punjab Phagwara, Punjab Phagwara, Punjab

Abstract- Study and analysis of popular VoIP


(voice/video- over-Internet protocol) applications (apps)
on android smart- phone under the same bandwidth has
been done. Out of these three popular apps (Skype, Imo
& Google Duo), Skype is most popular VoIP
applications where as Google Duo has been recently
launched by Google last year in august. Also, in this
paper a new android VoIP application has been
developed with the implementation of adaptive filter.
The traffic is captured with tcpdump and analyzed with
tools (Wireshark & SteelCentral Packet Analyzer). Figure 1 Earliest Videophone
Skype is based on closed source and is a proprietary
project whereas Google Duo, Imo, and developed With the development of technology and computer
application are based on WebRTC (an open source advancement video calling are now performed with the help
project maintained by Google Chrome team). The of computer as shown in Figure 2. But nowadays smart
results indicates that Google Duo voice/video quality is phone and wireless services (3G/4G) has changed the
scenario and has taken the place of computer to perform
best among the apps whereas Imo having the worst voice/video calling as shown in Figure 3. In place of Wi-Fi
voice/video quality. In this research it is found that most router in Figure 3 mobile network (3G/4G) can be used for
of the variation in voice/video quality arises due to noise making the VoIP calling and any smart phone with these
in the form of echo in the signal. Therefore, to deal with service enabled can be used.
the noise and echo adaptive filtering algorithm need to
be used to enhance the existing voice/video quality. A. VoIP/Video PROTOCOL STACK
Normalized Least Mean Square (NLMS) is used in the
developed application to deal with noise and Figure 4 shows the architecture of VoIP protocol stack. It
enhancement of VoIP calls. Developed application when has three main parts: Call Control Signaling, Gateway
Control Signaling, and Media.
tested and compared with popular apps it shows good
quality VoIP call than IMO application that suffer
significant packet loss.

Keywords- VoIP; WebRTC; Google Duo; Skype; Imo;


NLMS; tcpdump
I. INTRODUCTION

Video chat is not a recent invention. In 1927 the inventor


of telephone, Alexander Gramham Bell, quoted in the article
of New York Times as saying “the day would come when
the man at the telephone would be able to see the distant
person to whom he was speaking”[5]. First commercial
video calling was introduced by AT & T in 1964. In the early
days videophone was used for voice/video calling. It is a
telephone with screen on the top as shown in Figure 1 for
making video calling. It is also called image phone [1].

978-1-5386-6483-4/18/$31.00 ©2018 IEEE 251


DOI 10.1109/ICICS.2018.00059
Authorized licensed use limited to: ULAKBIM-UASL - Abant Izzet Baysal Univ Library. Downloaded on November 18,2023 at 17:20:02 UTC from IEEE Xplore. Restrictions apply.
is transformed to internet message. It is responsible for
registration. There are number of protocol used by
H.323. Message transmitted between H.323 endpoints
are defined by protocol H.225.0 and H.245. These
protocols are used in any network architecture as they
are generic protocols.

2) H.225.0

It has two parts: Q.931 and RAS. Q.931 is used to


establish and terminate the connection between H.323
endpoints. This is called Q.931 signaling or call
Figure 2 General Architecture of Voice/Video calling
signaling. RAS (Registration, Admission and Status) is
used between the endpoints and gatekeeper for
registration with the gatekeeper. It is the responsibility
of gatekeeper to allow or deny the registration with the
network.

3) H.245

It is a control protocol between endpoints. It is


responsible for managing media streams between
H.323 sessions. It ensures media that is to be sent can
be understand by another endpoints. Protocols: RAS,
Q.931, and H.245 are responsible for establishment
Figure 3 Voice/Video calling via smartphone
and maintenance of VoIP call. It controls and negotiate
media parameters with the endpoints for media
transmission.

4) MEDIA CODEC

Analog signals (voice/video) captured during VoIP


calling is need to transfer over the network so they are
converted to digital signals with the help of different
compression and de- compression algorithm called
codecs (Coder-Decoder). Mean

Figure 4 VoIP/ Video Protocol Stack


Table 1 Mean Opinion Score

Mean Opinion Quality


Score(MOS) Rating
5 Excellent
4 Good
3 Fair
2 Poor
1 Bad

Figure 5 Architecture of H.323 Opinion Score (MOS) shown in Table 1 is used as


theoretical value for measuring the quality of VoIP [6].
1) H.323
B. WebRTC ARCHITECTURE
To connect public telephone network with computer to
the internet 1TV designed a H.323 standard as shown in WebRTC [4, 2, 7, 13, 9], is an open source project
Figure 5 [8, 3]. Gateway is responsible for translation of aimed at providing voice/video communication on
message from one protocol stack to another. Telephone browser and mo- bile platform without any third party
message plugins. It provides peer-to-peer calling and is
maintained by Google Chrome team. Major
components of Web RTC:

252

Authorized licensed use limited to: ULAKBIM-UASL - Abant Izzet Baysal Univ Library. Downloaded on November 18,2023 at 17:20:02 UTC from IEEE Xplore. Restrictions apply.
– Media Stream: It allows browser to use camera and the video packet and error-concealment to reduce the
microphone of the user system. effect of packet loss and jitter.
– RTC Peer Communication: It is responsible for
establishing VoIP calls. C. ACOUSTIC ECHO CANCELLER (AEC)
– RTC Data Channel: It allows to send data via peer-to- Acoustic Echo Canceller (AEC) [10, 11] is used to
peer connections. remove echo from the data signals to provide good
quality speech. Different algorithms are used to filter out
Since WebRTC uses browser to perform audio/video
the noise signals from the digital data. This system also
communication, it needs to access the system hardware
reduce the background noise and enhance the voice
(Camera and Microphone) to capture audio/video streams.
quality. Good AEC system pro- vides high crystal clarity
Captured streams need to be processed to enhance the
audio under different noisy environment Figure 8.
quality by re- moving noise and echo cancellation, bit rate
Acoustic echo canceller system receive
must be able to adjust with variable bandwidth and latency
between users.

Figure 8 Block Diagram of Acoustic Echo Canceller

Figure 6 WebRTC Architecture

Figure 9 Adaptive Filter Block Diagram

the input signals u(n) from the source which is


received by the microphone by the means of
Figure 7 Media Stream loudspeaker and echo sig- nal d(n) is created. Different
adaptive filters w(n) are used in the system receive
Once received at the receiver, the process is reverses u(n) to give y(n) as the output signals.
and audio/video is decoded to adjust with delays. Whole Error e(n) is estimated by
process is complex but WebRTC uses browser feature that e(n)=d(n)−y(n) (1)
process the signals more easily. Different encoding
This error e(n) reaches to zero if no one is taking on
algorithms are used to optimize the media streams and
other side of the conservation i.e. and ideal condition
error-concealment is used to hide the effect of packet loss
which is not in real scenario. In this paper echo is
and jitter. Figure 7 shows the architecture of Media Stream
reduce with the help of adaptive filter like normalized
and Figure 6 shows its levels in WebRTC architecture. This
least mean square (NLMS).
is done by Voice Engine. Similarly Video Engine process
the video by optimizing the image quality and using
1) ADAPTIVE FILTER
compression techniques to compress
Adaptive filter [12, 14] is a system that finds out the
relation- ship between two signals that often uses digital
processor

253

Authorized licensed use limited to: ULAKBIM-UASL - Abant Izzet Baysal Univ Library. Downloaded on November 18,2023 at 17:20:02 UTC from IEEE Xplore. Restrictions apply.
for computation or have some complex logical computation 2: Root the phone: I have used SuperSU v2.49 for
working iteratively. It process the signals in real time. It tries rooting my phone. Any method can be used to
to find out the output signal from the input signal. Its root the phone
parameters are adjusted to make relationship between input 3: Now install BusyBox, Terminal Emulator, and VoIP
signal and output signal. Cost minimization and minimum apps (Only one VoIP app at a time for the
error is done by adjusting the filter function on next experiment).
iteration. Where k is the sample number, x is the reference 4: Now download the tcpdump file from the internet.
input, X is the set of recent value of x, d is the desired 5: Open the Terminal Emulator application and type
input, W is the filter coefficient, E is the error, f is the filter the following commands:
response, upper rectangle is for linear filter and lower – su
rectangle for adaption algorithm Figure 9. – mount -o remount, rw /system
6: Now remove any tcpdump file present at location
/sys- tem/xbin with following command:
II. METHODOLOGY
– cd /system/xbin
For the purpose of this study following are the requirements:
1. Two Android smart phones – rm tcpdump
2. Internet hotspot (Wi-Fi) and a router (to control band- 7: Now copy the tcpdump file from download location
width) to
3. Wireshark and Steel Central Packet Analyzer /system/xbin with following command:
4. MATLAB – cp /sdcard/tcpdump /system/xbin
– chmod 777 tcpdump
8: Now open the installed VoIP app on both phones
A. EXPERIMENT SETUP and login via with phone number
For the purpose of experiment any one of the Android smart- 9: Check for VoIP communication by making a VoIP
phone is rooted. The whole experimental setup is shown in call. If call is successful disconnect the call. If any
Figure 3. Rooted phone is used for sniffing the network error occur check for the solution.
traffic with the help of tcpdump. Wi-Fi router is used so that 10: Make sure that all other apps are restricted from
both the phone uses the same bandwidth. Router is access- ing the internet to avoid any bandwidth
configured as shown in Table 2. After configuring the setup sharing among various apps.
VoIP 11: Now back to Terminal Emulator and type the
Table 2 Bandwidth Control Rules following command to start capturing the traffic
– tcpdump nnvvSXs 0 w /sdcard/t
Egress Ingress file.pcap 12: Start the VoIP communication
Bandwidth(Kbps) Bandwidth(Kbps) 13: After the communication is done stop the tcpdump
Description M Mi Ma
Min ax n x with command: volume key + z
User 1 2 10 2 100 14: This process is repeated for all the VoIP applications.
0
User 2 2 10 2 100 After analyzing the existing VoIP application it is
0
Network 204 204 found that echo is the main problem for quality of the
8 8 VoIP calls so following steps are followed:
– Echo cancellation code is developed with the help
app was run on both the phone and communication was of MATLAB.
esbablished. For all apps network traffic was captured by – The code is then converted in to jar package.
the phone in pcap format. Other apps on the phone have – Android application (My Video) is developed and
been restricted to established network connection to avoid jar package is integrated in it that gives provide
any bandwidth use. The captured file was analyzed with the VoIP calls support.
help of Wireshark and SteelCentral Packet Analyzer. – After the successful development of the
Based on the obtain traffic we draw graphs with the help of application the application is again tested as
MATLAB. discussed in section 2.1.1.
– Generated results are compared to see whether
B. EXPERIMENT PROCESS enhance- ment has been made or not which is
To perform this experiment two Android smart phones
discussed in section 3.
with Android version 5.1 was used. Step by step process for
per- forming this experiment is discussed below: III. RESULTS AND DISCUSSION
One by one VoIP app was used for the communication
1: Reset your both phones and their network traffic was captured in a pcap format.
To analyze the pcap file Wireshark and SteelCentral
Packet Analyzer is used.

254

Authorized licensed use limited to: ULAKBIM-UASL - Abant Izzet Baysal Univ Library. Downloaded on November 18,2023 at 17:20:02 UTC from IEEE Xplore. Restrictions apply.
The obtained data was saved in excel and then used for
generating graphs with the help of MATLAB. Bandwidth,
and packet loss was analyzed for the existing android
application as well as developed application.

A. BANDWIDTH OVER TIME


Maximum amount of data that can travel through a channel
is termed as bandwidth. Bandwidth in case of VoIP depends
on codec used in voice/video. It depends on payload size, IP
header, UDP header, RTP header, and header compression
technique. It is measured in Bits/sec or Bytes/sec. In Figure Figure 10 Google Duo Bandwidth over Time
10 Y-axis represent Bits/sec whereas X-axis represents Time
(sec). It is observed that between 0-50 sec bandwidth was
high (between 3.5M bits/sec 4M bits/sec) due to un-
controlled bandwidth but when bandwidth was controlled
with the help of router it fell down and remained in between
1.8M bits/sec 2.5M bits/sec from 60 sec onwards. Y- axis
represent Packets/sec whereas X-axis represents Time
(sec).Packets that was observed in the communication was
in between 280 packets/sec to 400 packets/sec from 60 sec
onward as in Figure 11. In Figure 12 it is observed that band-
width utilization of the Skype is lower than Google Duo i.e. Figure 11 Google Duo Packets over Time
between 1.4 M bits/sec to 1.8 M bits/sec with certain band-
width drop in between. Most of the time bandwidth is
between 1.6 M bits/sec to 1.8 M bits/sec. In Figure 13 it
shows packets over time for Skype VoIP call which is
ranging from 250 packets/sec to 300 packets/sec. In this
study Imo application perform poor quality in VoIP calling
shown in Figure 14 which shows packet lost during
communication with very high noise. Even on seeing the
packets of Imo as in Figure 15 we can say Imo video chat is
poor in the given bandwidth scenario. Developed VoIP when
tested and results were obtained. Bandwidth graph Figure 16
shows that initially the bandwidth starts to increase from 0
bits/sec and remain in between 3.5 M bits/sec 4 M bits/sec Figure 12 Skype Bandwidth over Time
from 20 sec to 50 sec and then again it drops to 2.5 M
bits/sec to 3 M bits/sec for 20 sec. Again bandwidth
increases and remain in between 3.5 M bits/sec to 4 M
bits/sec for next 25 sec (from 70 sec to 95 sec) and this
seems to continue for rest of the conservation. Figure 17
shows that packets/sec initially increases and remain in
between 500 packets to 550 packets from 25 sec to 50 sec
and then it falls down to 350 packets to 400 packets from 55
sec to 70 sec. Again it rises to 500 packets to 550 packets
for next 25 sec and fall down. This process repeats for rest
of the conservation but there is a major fell of packets in 115
sec to 125 sec. Figure 13 Skype Packets over Time

B. PACKET LOSS
Since VoIP applications are using UDP protocol there is no be measured for packet loss analysis so packet loss
acknowledgement and no retransmission of packets that can analysis has been done using identification (ip.id) as
each packet that

255

Authorized licensed use limited to: ULAKBIM-UASL - Abant Izzet Baysal Univ Library. Downloaded on November 18,2023 at 17:20:02 UTC from IEEE Xplore. Restrictions apply.
cations are measured and is given in Table 3. Packet Loss
comparison shows that Imo application suffers most in the
given test condition as it occurs 87.85% packet loss, Google
Duo with 11.49%, Skype with 7.34%, and My Video with
6.32% packet loss respectively.

Table 3 Packet Loss Comparison

VoIP Total Lost Packet Lost


Application Packets Packets Percentage
s
Imo 1194 1049 87.85%
Google Duo 60367 6939 11.49%
Skype 52219 3831 7.34%
Figure 14 Imo Bandwidth over Time My Video 81105 5124 6.32%

IV. CONCLUSION

This research focus on enhancement quality of VoIP chat


application over the internet. As VoIP packets is equipped
with noise and echo as in Figure 14 of test experiment per-
formed this influencing factors must be minimized to
enhance the quality of VoIP communication. So this
research uses adaptive filtering algorithms (NLMS
algorithm) in order to remove/ reduce the noise and echo
from the packets. For this purpose proposed application
has been developed and test. In the test experiment
perform on VoIP apps (Google Duo, Skype, Imo, and My
Video) Google Duo per- formed well even though there is
a 11.49% of packet loss and bandwidth over time is
between 1.8M bits/sec 2.5M bits/sec with auto video
pausing capability during the call if sufficient bandwidth
is provided. Skype shows problem in connecting in low
bandwidth but it ranks second in the test with packet loss
of 7.34%. My Video (developed application) shows good
quality video with sometimes noise at start but later it
Figure 15 Imo Packets over Time stabilize itself as adaptive filter coefficient reduces the
noise with time. It suffers least packet loss (6.32%) in the
Figure 16 My Video Bandwidth over Time test. Whereas, Imo shows poor performance with a lot of
noise and echo during the test. It suffers 87.85% of packet
loss.

REFERENCES
[1] AT&T Picturephone. URL http://atwiki.assistivetech
net/index.php/Videophone
[2] Getting Started—WebRTC. URL https://webrtc.org
[3] VoIP: Voice Over Internet Protocol Architecture and Features.
[4] WebRTC Tutorial. URL http://www.tutorialspoint.com/
webrtc/index.htm
[5] Alexander Gramham Bell Quote (1927). URL
https://books.google.co.in/books?id=SdIABAAAQBAJ{&}pg
Figure 17 My Video Packets over Time =PA50{&}dq=the+day+would+come+when+the+man+at+the
+telephone+would+be+able+to+see+the+distant+person+to+
whom+he+was+speaking+article+in+new+york+times{&}hl=
en{&}sa=X{&}ved=0ahUKEwitwpC-
pass through network has unique ip.id. Any missing ip.id is 5tfQAhWLN48KHdYDBO0Q6AEIGzAA
the cause of packet loss. Packet loss for all the VoIP appli [6] Daengsi, T., Wuttidittachotti, P., Wutiwiwatchai, C.,
Preechayasomboon,A., Sukparungsee, S.: Voip quality of
experience: Aproposed subjective mos estimation model
based-on thai users.In: Ubiquitous and Future Networks
(ICUFN), 2013 Fifth InternationalConference on, pp. 407–
412. IEEE (2013)

256

Authorized licensed use limited to: ULAKBIM-UASL - Abant Izzet Baysal Univ Library. Downloaded on November 18,2023 at 17:20:02 UTC from IEEE Xplore. Restrictions apply.
[7] Daldal, B., Bilgin, I., Basaran, D., Metin, S.: Using web
services for webrtc signaling interoperability. In: Network
Operations and Management Symposium (NOMS), 2016
IEEE/IFIP, pp. 780– 783. IEEE (2016)
[8] Forouzan, B.A.: Data Communications and Networking,
fourth edi edn. McGraw-Hill
[9] Johnston, A., Yoakum, J., Singh, K.: Taking on webRTC in
anenterprise. IEEE Communications Magazine 51(4), 48–54
(2013)
[10] Kadam, P.P., Saquib, Z., Lahane, A.: Adaptive echo
cancellation in voip network. In: Engineering and Technology
(ICETECH), 2016 IEEE International Conference on, pp.
295–299. IEEE (2016)
[11] Madhavi, T., Krishna, B.H., Kanth, L.P.: A novel approach
forvoice quality enhancement for voip applications using dsp
processor.In: Electrical, Electronics, and Optimization
Techniques(ICEEOT), International Conference on, pp. 4946–
4951. IEEE(2016)
[12] Sharma, I., Mehra, R., Singh, M.: Adaptive filter design for
ecgnoise reduction using lms algorithm. In: Reliability,
InfocomTechnologies and Optimization (ICRITO)(Trends and
Future Directions),2015 4th International Conference on, pp.
1–6. IEEE(2015)
[13] Sredojev, B., Samardzija, D., Posarac, D.: Webrtc
technologyoverview and signaling solution design and
implementation. In:Information and Communication
Technology, Electronics and Microelectronics (MIPRO), 2015
38th International Convention on, pp. 1006–1009. IEEE
(2015)
[14] Zheng, Z., Liu, Z., Zhao, H., Yu, Y., Lu, L.: Robust Set-
Membership Normalized Subband Adaptive Filtering
Algorithms and Their Application to Acoustic Echo
Cancellation. IEEE Transactions on Circuits and Systems I:
Regular Papers (2017)

257

Authorized licensed use limited to: ULAKBIM-UASL - Abant Izzet Baysal Univ Library. Downloaded on November 18,2023 at 17:20:02 UTC from IEEE Xplore. Restrictions apply.

You might also like