In and out of WEBRTC - All in one blog

                                           WEBRTC


WebRTC is a great technology, but it may not fit everywhere and you should understand what you are doing if you decided to use it. WebRTC is very appealing as a vehicle to extend the reach of IMS services. WebRTC is available in five popular browsers in production state:

  1. Google Chrome;
  2. Opera;
  3. Mozilla Firefox;
  4. Chrome Android;
  5. Firefox Android.





 WORKING WITH WEBRTC :-

                                                      1. GetuserMedia  API

It access the camera and microphone of devices



--------------------------------------------
2. Peer connection API

It exchanges various protocols for transmitting data/video from one peer to another peer



--------------------------------------------
3 .Data channel Api 
It is used for real time chat and screen sharing 
--------------------------------------------


 Simple things work, however, for example, when we have a deal with changing of the session state using SDP (analogue of re-INVITE in SIP) or with other non-trivial actions, some surprises appear which upset a lot. Although, it does not stop WebRTC from acquiring newer and newer minds, and leading the vector of development of VoIP and interactive services in the web. It is not surprising due to the following reasons:
  1. WebRTC is not backed by industry giants;
  2. WebRTC has positively successful and elaborated architecture, free of errors and lacks, figured out in browsers’ plugins which existed before it.
  3. We would like to focus particularly on the technology content of WebRTC.
  4. It has SRTP, DTLS, ICE, STUN, AEC, AGC, Adaptive Jitter Buffer, Opus and VP8
  5. It seems like a softphone is built into a browser.
        
Positively, the set used in WebRTC technologies is more similar to VoIP SDK.
SRTP and DTLS ensure security of traffic between WebRTC peers. ICE and STUN help to pass through a NAT, sharing connection candidates from both participants in the form of simple pairs host:port. AEC, AGC, and Jitter Buffer work to make audio and video more high quality – without lags and delays. Codecs Opus and VP8 are well suitable for global Internet where a bandwidth for an end-user might easily fall to very low values against promises of Internet providers regarding channels in 100 Megabits per second.

Something that overshadows the picture is the absence of WebRTC support in other browsers such as IE, Safari, etc. Other missing details include incompatibility with traditional VoIP equipment. For example, for vendors of SIP/VoIP products, of which there are many, it would be beneficial to support standard SIP/RTP protocols and codecs for compatibility with millions of devices.

Here we need to mention that WebRTC was initially designed as a peer-to-peer between browsers and aimed to secure SRTP traffic. Most likely, for this reason VoIP vendors, which exchanges standard RTP streams will have to built in a WebRTC compatible carrier and codecs into it’s own software or hardware.

Although, here it is not so bad. There are gateways to ensure such type of compatibility. For example WebRTC SIP Gateway Flashphoner Web Call Server 3 is one which can establish a connection between WebRTC client and a standard SIP/RTP device – either softswitch or GSM gateway working over a SIP protocol. Therefore, the issue is quite solvable by the introduction of an intermediary software gateway.


Pros of WebRTC:

1. Fully functioning VoIP in browser.
2. Secure and logical architecture: WebRTC comprises better architecture as compared to the Flash plugin in terms of logic. Furthermore, it provides better security and stability to browsers against outside attacks. The Secure RTP protocol (SRTP) encrypts and authenticates both the voice as well as video.
3. Platform and device independence: Users can communicate with each other on a WebRTC enabled browser, without being dependent on any operating system or computing device. This has been made possible by implementing standard IETF protocols, and W3C APIs. Developers can write specific HTML5 code to run WebRTC on multiple computing devices.
4. Adaptive to media types: Irrespective of the network conditions, the WebRTC APIs are well equipped to negotiate numerous media types for format and size. This ultimately leads to effective bandwidth usage and hence, high quality voice & video communication.




Cons of WebRTC:

1.Not enough supported browsers;
2. Absence of RFC. The specifications are available in the form of drafts and are currently changing, although we need to recognize that in comparison with the same drafts and its implementation 1 year ago, now it is working more or less stable;
3. Absence of compatibility with traditional VoIP (by design).
4.If we remember that the other browser technologies described here Java and Flash are just plugins (though they are pre-installed in most popular browsers), then we can conclude that WebRTC is the only pure-browser technology which does not have analogues here.
5.  The only missing detail is SIP support.


Slides of webrtc:-


Useful links for Webrtc development and understanding on :-

1. http://www.html5rocks.com/en/tutorials/webrtc/basics/
2. https://webrtc.org/
3. https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API
4. https://bitbucket.org/webrtc/codelab
5. https://tokbox.com/about-webrtc
6. https://bloggeek.me/ -The best blogger series so far known for webrtc
7. https://webrtc.github.io/samples/

Comments

Popular posts from this blog

Set up your VOIP based SIP soft phone and know more about VOIP

Front End Developer Interview quiestions- All in single blog

Data Science v/s Data engineer v/s Data Analyst