This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Web Real-Time Communication (WebRTC) is a new HTML5 standard framework which allows sharing of audio, video and data between multiple web browsers platform. These functionalities pave a new path in the field of real time communication. The Goal of using WebRTC is to construct a strong real time communication platform that works across several browsers and platforms. Scope of this project includes probing the infrastructure for threats and risks and developing a secure infrastructure. The predecessor of this project i.e. the Google hangout has posed a severe security threat with several Trojans masquerading as Google plugins for hangout.
Google, Mozilla and Opera have supported the WebRTC Architecture and working towards developing it. With the introduction of HTML5 the concept of internet has changed and it has brought many new capabilities to the web. WebRTC using this HTML5 platform will be the most unique and innovative thing in the RTC communication. The ability to directly connect to other web browser enables the web developer to use this functionality to a great extent and also enabling them to create new types of applications in the field of communication, gaming and any other technology that uses real-time communication. Currently direct communication between web browsers is possible only using third party plugins .Through the approach used in WebRTC it enables us to use a multi browser platform communications with using any sort of plugins or server infrastructure. This opens up new avenues such as:
Display of high quality images and app on mobiles devices (e.g. Instagram or Skype in the browser)
Helps in journalism using real time feed directly from the mobile devices
Enable website to add live support and feedback without any sort of integration.
File distribution without software.
Sharing live audio, video, and data will be as simple as viewing a web page. WebRTC can cause a major disruption in the communication markets which is valued over billions. The internet is undergoing a new era of innovation and we are marching toward a new world of seamless communication.
Web RTC ARCHITECTURE
WebRTC is a Google initiation, in order to build a standard real time communication engine available for all the browsers without the need to download any additional plugins or software. This indicates that communication in the near future would become transformational and stimulating. Also a web conferencing would be possible by just giving a URL from the host's system and the need of multiple individuals being on the same system would be condensed to a great extent.
The diagram below gives a systematic view of the WebRTC architecture:
CONTENTS OF THE ARCHITECTURE:
YOUR WEB APP: It's a third party application that uses PeerConnection API in order to set up the communication session with the remote member. The client's system must have the capabilities of audio and video chat for real time communication.
WEB API: It's the API used by the client in order to send media or receive media from another browser or system involved in the real time communication.
TRANSPORT/SESSION: An RTP session is an association among RTP nodes, which have one common SSRC space. The components are made by reusing components from libjingle. Libjingle is open source C++ codes collection and sample applications in order to build a peer to peer connection for real time communication.
RTP stack: This is a real time protocol stack that provided end to end network connection in order to send and receive audio and video media files.
STUN/Ice: It's a component that lets the calls use STUN and ICE methodologies in order to maintain connections through a variety of networks.
Session Management: This is basically an abstract layer that allows call set up. Protocol implementation decision is left to the application developer.
VOICE ENGINE: This Is basically a structure for the audio media. Its from the sound card to the remote client in the network. It uses two types of bands for audio. They are:
iSAC: It stands for Internet Speech Audio Codec. It's basically a wideband speech codec developed by Global IS solutions that uses a sampling frequency of 16KHz or 32KHz.
iLBC: It stands for Internet Low Bitrate Codec. It's an open source narrow band speech codec developed by Global IS solutions and uses a sampling frequency of 8 KHz with a bit rate of 15.2 Kbps for 20ms frames.
AEC: This stands for Acoustic Echo Canceler. AEC is used in real time voice communication applications where the presence of echo which has delay in the signal which is received from a remote connection is noisy and disturbing..
NetEQ for Voice: Netequaliser is a bandwidth shaping system designed for voice or data networks.Its an error concealment algorithm that is used for masking the negative effects of unwanted network deviations. It helps to keep the latency low and yet maintain better quality of voice
NOISE REDUCTION (NR): Noise reduction is a process of removing noise or unwanted component from a signal. Noise reduction component in WebRTC is \ signal processing component(software) which removes the unwanted background noises usually related to VoIP in order to give good quality media.
VideoEngine: This framework is basically a video media chain that captures image or video from the webcam to the network and then from the network back to the screen. Following are the components of this framework.
IMAGE ENHANCEMENTS: This component Is used to increase the quality of the image that is being captured by the webcam. This generally removes the video noise from the captured image thus enhancing the excellence.
VP8: Its basically an open video compression format bought by GOOGLE in 2010. Its designed for low latency and thus suits RTC appropriately.
Video Jitter Buffer: Jitter buffers are used to counter jitter ( unwanted deviation from true periodicity) introduced by queuing in order to give a continuous playout of audio and video data.
How does Web RTC Model work?
Unlike most real time systems, (e.g. SIP Based phones) communication in WebRTC is directly controlled by some web server. The diagrams given below are simple example of WebRTC real time communications. Both the caller and the callee have a Web RTC enabled browser. They communicate using a web server which operates the real time calling service. This web Server uses the exposed API by the browser to setup the call between the two users.
Fig 1: A simple RTC-Web system Fig 2: Web RTC Model
It is clearly apparent that this type model poses a major threat in term of information security perspective. The calling service can cause the browser to make a call to any callee of its choice. This vulnerability can be used to bug a user computer without their knowledge, simply by placing a call to some recording service. These exposed API can also be used to instruct the browser to send arbitrary content, bypass firewalls or mount denial of service attacks on the host.