The Ingate WebRTC solution

WebRTC (Web Real-Time Communication) is a technology that provides web browsers and mobile applications with real-time communication (RTC). It allows audio and video communication to work inside web pages by allowing direct peer-to-peer communication, eliminating the need to install plugins or download native apps.

wrtc_kit and Ingate unit in cooperation

The Ingate WebRTC solution consists of two equally important parts: the Ingate unit with excessive support of WebRTC - and the wrtc_kit client development kit.

The wrtc_kit client development kit provided by Ingate allows customers easy development of webpages and mobile phone apps. Apart from basic WebRTC support the wrtc_kit also allows easy access to all built-in features of the Ingate unit making SIP calls, group calls etc easy. The Ingate unit in combination with the wrtc_kit client development kit provides you everything you need to deploy a powerful WebRTC solution.

Block Diagram

Please see the block diagram and its descriptions to see the wast amount of support the Ingate unit has for WebRTC, SIP and the combination of both.

Communication

Webpages and mobile phone apps that use the wrtc_kit communicate with the Ingate unit using encrypted websocket connections. Either wss secure websocket connections or encrypted data sent on plain websocket connections. On this connection proprietary RTCgate commands are sent between the clients and the Ingate unit.

The Ingate unit keeps track of all WebRTC clients connected to it. Clients can be both on the inside (LAN) or connect from the Internet (WAN).

Media

Media streams (audio, video) are whenever possible sent directly between WebRTC clients.

If that is not possible (eg one of the clients are behind NAT) the Ingate unit's TURN server will be used to relay media.

Media streams are sent encrypted between WebRTC clients.

If client at other end of call does not support encrypted media the Ingate unit's media relay will be used to decrypt media.

Seamless SIP integration

Using SIP user agents inside the Ingate unit calls can be made between WebRTC and SIP clients. Using SIP trunking and external SIP FXO gateways calls can also be made between WebRTC clients and traditional POTS telephony network. Calling a SIP client is as easy as entering its SIP address into the call field. The wrtc_kit and Ingate unit takes care of creating the necessary SIP endpoint and signaling.

Using the Ingate unit's SIP endpoints WebRTC clients can also receive incoming SIP calls. Using SIP trunking and external SIP FXO gateways they can also be reached using traditional phone numbers.

User authentication

Users can be authenticated using SIP authentication carried out by either Ingate unit's built-in or any external SIP registrar, or by REST tokens issued by external authentication services.

Additional features

Group call support. Easy to set up voice and video calls with multiple participants, including SIP clients connected through Ingate unit's audio bridge.

Data channel support. Easy to transfer binary data between clients using WebRTC data channels.

QTURN. Ingate unit has its own TURN server.

SIP. Ingate unit has built-in SIP registrar, SIP aware firewall, SIP trunks and SIP presence servers.

Messaging. Seamless text messaging between WebRTC clients and SIP clients.

Push notifications. Ability to receive calls even when client is inactive, sleep or deactivated. Client is activated using push notification.

Screen sharing. Transmit contents of user screen to remote caller.

Multi plattform support

wrtc_kit can run on:

  • Chrome
  • Edge
  • Internet Explorer
  • Firefox
  • Opera
  • Safari
  • Android
  • IOS (iPhone)
ixnx/wrtc/description/start.txt · Last modified: by tibor
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0