WebRTC Audio, Video & Data Streaming
for All Browsers, Mobile and Native Platforms
Easily Add WebRTC Communication to Your Application
The IceLink SDK allows you to quickly and easily add WebRTC-compatible peer-to-peer audio, video and data streaming into your applications.
Your application provides the user interface and signaling mechanism, while IceLink provides the media handling and peer-to-peer network communications. IceLink gives you an unprecedented level of control over the peer connections, from custom encryption modes to custom media pipelines, as well as a programmatic look into the connection quality and feedback reports, allowing you to fine-tune the user experience to be exactly what you want it to be.
IceLink provides a single cross-platform API that can be used in web applications (Chrome, Firefox, Opera, Internet Explorer and Edge), native mobile applications (iOS, Android, Windows Phone, tvOS), and native desktop applications (Windows, macOS, Linux), with out-of-the-box for cross-platform development environments like Xamarin.
With IceLink, WebRTC Anywhere becomes a reality, and you can begin developing peer-to-peer streaming applications today, regardless of the browsers or platforms involved.
Signaling with IceLink
IceLink, like WebRTC, is signaling-agnostic, and so it requires a separate signaling mechanism. Signaling is used to provide presence and call notifications for new peer connections, so your application can know when users or devices come online or go offline, or when a user or device wishes to start or terminate a call.
IceLink works with any signaling system capable of sending messages between clients through a central server, such as WebSync, SIP, socket.io, or any other real-time messaging system.
Need More Details?
The best way to understand how IceLink works is to download the trial version, which contains source code examples for each platform supported by IceLink. When compiled and run, the examples launch a basic audio/video conferencing system using WebSync on our servers for signaling.
Browsing through the source code will demonstrate how an application makes use of IceLink, and will provide you with a template for how you can incorporate audio/video and data streaming into your own application.
The WebRTC Solution
That Plays Nice With Everyone
- Implements the WebRTC standard, including all required specifications and some optional ones (see our supported platforms listed above)
- Completely interoperable with other WebRTC implementations, like Chrome, Firefox, and Edge (ORTC)
- Support for Internet Explorer through ActiveX
- Flexible event system makes it easy to interact with client and server events
- Media pipeline allows custom audio/video processing
- Recording can be adapted to meet specific requirements
- Access to a myriad of configuration options for maximum application control
- Access to underlying RTP/RTCP packet data for custom analysis of streams
- Simple TURN relay authentication integrates with your existing system
- End-to-end encryption that can be customized to meet application requirements
- Platform support for iOS, Android, Windows, macOS, and Linux
- Framework support for Swift, Objective-C, Java (Android and desktop), .NET, Mono, and Unity
- No special network configuration required
- Includes relaying for "bad" routers that don't support direct connections
- Works on Android mobile device browsers where WebRTC is supported
- Based on the STUN, TURN, ICE, RTP, SRTP, and SDP specifications for easy integration with other applications and platforms
- Reduces developer costs by increasing productivity due to it's simple, intuitive API and extensive documentation
- Reduces short-term costs by providing example applications to get your developers up and running quickly
- Reduces long-term costs by licensing per developer, so future scaling does not require additional capital
- Error message propagation means problems are immediately visible to developers
- Clear, well-designed API results in faster development cycles
- Integrates easily with existing or new applications
- Intelligent defaults mean less time wasted configuring and more time spent developing