WebRTC (Web Real-Time Communications) is a new technology implemented in modern browsers to allow calls from browsers as part of the HTML5 protocol suite. Other use-case includes: video chat, screen sharing and file transfer.

WebRTC became more and more popular in the last year, replacing other technologies such as NPAPI browsers plugins including web clients implemented in Flash, Java and browser add-ons/plugins.

Mizutech provides cutting edge WebRTC implementation:
-built-in the Mizu Softswitch
-standalone WebRTC to SIP gateway which can be used with any SIP server or PBX
-WebRTC SIP client library and sip webphone

On the server side we provide a transparent WebRTC stack so there is no any special treatment needed for WebRTC calls. They will show up as regular VoIP calls and conversion to/from SIP is fully transparent including both the signaling and media conversion (WebRTC/DTLS/SRTP, ICE/STUN/TURN).
On the client side we provide a high level API, hiding all the ugly implementation details based on the browser capabilities and in RFC7118 implemented in pure JavaScript.

The main advantage of WebRTC is its browser support accessible from JavaScript, which means that you can provide a web client to endusers without the need to download/install any additional software or browser plugin.

Unfortunately WebRTC also has a list of disadvantages, some of them are very serious, such as:
-not supported by all browsers (not supported by IE, Edge, Safari)
-doesn’t work in corporate networks (When UDP is usually blocked, because WebRTC media will works only with UDP transport)
-needs protocol conversion on the server (DTLS/SRTP/Websocket/TLS)
-doesn’t support popular VoIP codec’s like G.729
-it ads extra complexity and black-boxed by browser without any chance for developers to change the details

The Mizu Webphone solves these issues by using also other web VoIP engines running on client side (with the user’s browser) which can provide native (SIP/RTP) VoIP most of the time for customers seeking for a more trouble-free VoIP experience. WebRTC is also fully supported and used when there is no any better technology to make VoIP calls (This depends on client operating system and browser type/version).

More details about WebRTC can be found here and here.

WebRTC on the client side can be implemented using low level JavaScript API or you can use a higher level implementation such as webrtc sip, sipml5, jssip, sip.js or others.