Spain · France+34 911877477info@i6net.com9:00am 6:00pm CET

How to make calls over the web? #HTML5 #WebRTC #Flash #SIP #RTMP

Post 28 of 417

RTC-710

One of the main questions and answers today about:

What will be the future of making phone calls from any Web Browser?

HTML5HTML5 – is the fifth revision of HTML markup language for structuring and presenting content for the World Wide Web and a core technology of the Internet. , WebRTCWebRTC – is an open source framework for browser that is able to send or receive encoded audio and video over network. , FlashFlash – is a multimedia and software platform used for authoring of Rich Internet Applications (RIAs) which can be viewed, played and executed in Adobe Flash Player.SIPSIP – is an IETF-defined signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol (IP). , RTMPRTMP – is a TCP-based open protocol which maintains persistent connections and allows low-latency. , VoIPVoIP – (voice over IP) is an IP telephony term for a set of facilities used to manage the delivery of voice information over the Internet.

Most people who are reading tech news thinks that the future is already here, and HTML5 is a standard, which gives us possibility to create real-time audio/video communications (RTCRTC – Real-time communications (RTC) is any mode of telecommunications in which all users can exchange information instantly or with negligible latency.) in desktop or mobile devices. Unfortunately, it’s not true.

Let’s talk about what is real.

Questions & Answers

Is it possible to create a web phone only with HTML5?
No, absolutely not. HTML5 doesn’t include any tag to manage real time communications. HTML5 cannot encode video or voice or manage properly cameras and micros. It’s not the only limitation, HTML5 cannot manage echo cancelation and a TCP/UDP session. HTML5 standard only supports playing video over HTTP and playing audio/video files, but that’s all current standard can do and many nice web apps too.
Is it possible to create a phone with Flash?
Yes, there’s many examples of Flash SIP phones or only Flash RTMP clients. Flash can manage cameras, micros, call management, audio/video real time communications and echo cancelation. Currently all existing videoconferencing web clients are running on Flash or another executable plugin like ActiveX. 
Why is there a war against Flash?
Probably because it’s not an open plugin, it’s like a black box and because Steve Jobs from Apple has banned the usage of Flash Player for iOS. Now Android OS do the same. Flash is still alive and well in the Desktop world and continue to be as HTML5 is no substitute for the level of animation that Flash brings to the table and is still not capable of all Flash has accomplished as a media delivery platform. In a pure standardization approach, developers would like to create all their websites in HTML only. 
What is WebRTC?
WebRTC is (Web Real-Time Communication) is an open source API definition being drafted by the World Wide Web Consortium (W3C) to enable browser to browser applications for voice calling, video chat and P2P file sharing without plugins. WebRTC uses web sockets to connect to another web browser over stateful TCP connection. WebRTC requires Javascript to enable the embedding of this functionality in applications and websites.
Why WebRTC is not yet ready?
WebRTC doesn’t define a specific session control protocol. To manage a call you have to implement a SIP over websocket protocol. SIP is the most common protocol used by IP operators and telephony devices. To run that, you need to code a SIP stack in Javascript, so your WebRTC becomes is really like an HTML5 + Websocket + Javascript integration. For now, very few web browsers are supporting WebRTC, and some of them are going to make specific updates for their own implementation.
Is WebRTC compliant with other SIP devices?
Unfortunately No. There’s very few devices supporting SRTP directly today or web sockets. That’s an important limitation because most SIP devices works with RTP and standard codecs like H264 / G711 and not VP8 on the video side. Anyway a SIP proxy/gateway will always be required, so say “hello” again to telecom engineers…
Is it enough to use only a web browser to make phone calls?
Unfortunately No. To connect WebRTC to other devices you need a gateway supporting telephony protocols like SIP or web socket too. You will have to wait for gateways like Asterisk to support properly WebRTC and manage all transcoding options required.
What web browsers are now supporting WebRTC?
WebRTC has varying degrees of support among browsers: The Google Chrome, Mozilla Firefox, and Opera browsers today have limited support for WebRTC, and Microsoft and Apple have not disclosed all their plans for WebRTC in Internet Explorer and Safari, respectively. In spite of the fact of open standards, there’s important strategic factors slowing down a complete and open integration between all these key players.
Is WebRTC interoperable with any web browser or phone?
Not in the near future, it’s early to know if all Web Browsers will really works on the same way. Today, only Chrome and Firefox are close to be ready. Any implementation difference can avoid interoperability. This situation will change only if all top browser vendors release a common WebRTC support; so you should wait for a while.
What's happen with VP8 or h264 video codecs for WebRTC?
One of the main question is: if WebRTC will support VP8 and/or h264 video codecs? Google Chrome has selected VP8 since the first release as an open source new codec. VP8 is a fine codec, but no device uses it and is not present in most chipsets today. Selecting it (as WebRTC is currently doing) will prevent backwards interop with billions of dollars worth of investments in most telecom and devices systems running h264. VP8 will a good option only for pure browser-to-browser communications point of view. Today, VP8, is agreed as mandatory codec without consensus from Apple/Microsoft.
Is it really possible to deploy now a service over WebRTC?
From a pure limited scope and technical point of view: maybe yes, but from the business side: not yet. Currently, you cannot deploy a web page that only works on very few web browsers or beta releases or avoiding compliance with all mobile devices too. Today any Internet business requires to support any browser and many mobile devices to drive a success story. As WebRTC still in development on few browsers, any service should be very limited and most users won’t understand that.
Why flash is a good choice for RTC on desktop web browsers?
Because it works since many years and 99% web browsers support it. The War against Flash was not very reasonable because for the web Flash technology still be useful. HTML5 still not supporting many features that Flash supports, removing Flash from the web can provide better page pure HTML standardization but it will be a painfull downgrade for specific multimedia and animation features.
What's RTMP can do for RTC?
RTMP was designed to manage multimedia communications thru the web, it’s an open protocol designed to work from any Internet connection. That’s a great advance to implement a smart RTC protocol. It’s works fine for many codecs and manage better bandwidth than others protocols today.
How can i run RTC from my Smartphone or Tablet?
That’s the big question today. As Flash Player is banned from iOS / Android and WebRTC stay not really mature to go mobile we have to work, so please to keep calm! Currently, to implement properly RTC from any tablet or smartphone, the best way is to create a native application for each mobile OS. Remember, iOS and Android are application-centric operating systems and are not designed for a web-centric approach.
Can i connect SIP devices thru RTMP?
Yes, you can. Our implementation of RTMP over Vxi*/Asterisk transcode this protocol to any other telephony channel inside Asterisk. That’s make possible to connect any SIP device registered to an Asterisk with RTMP easily.
Do i need a Flash Player to work with RTMP protocol?
No necessary, you can build you own application without a Flash Player. RTMP is an open public protocol but we provide specific client libs to work on a RTC client for many devices like Android OS, iOS, WebTV…etc With this approach you get a native application full compliant with mobile OS standards and features. Obviously, to code a web phone RTMP client for any web browser you may use Flash Player.
Why RTMP can be better than SIP over a webcall segment?
Mainly yes. RTMP is well designed for web communications, it’s a smart protocol with an adaptive bandwidth and buffering management better than SIP. SIP requires specific elements to pass-thru NAT and others firewall conditions. RTMP works better over most public Internet accesses where web browsing is always the main priority. Most public WIFI or some 3G/4G accesses can filter or cut-off any VoIP traffic (mainly SIP…) but they cannot cut-off the web traffic where RTMP is included.
Can i work both with RTMP and WebRTC in the future?
Yes you can. Our choice is to use Asterisk as the gateway between RTMP and SIP / WebRTC. That’s a good choice, because you get all the best of a complete coverage of web browsers and manage specific WebRTC devices if required! That’s all the best for any business that require to start a RTC project today.

One more thing…?

If you want to add a web phone on your website to connect your call center, corporate PBX or create your own amazing web-telephony services.

Some other articles you may read:

 

, , , , , ,

This article was written by ivan

Menu