The WebRTC SDK supports Chrome and Firefox browsers. Note that Apple requires use of Safari browser for WebRTC support on iOS; the WebRTC SDK does not yet include Safari support - so there is no support for iOS with the WebRTC SDK at this time.
The SDK handles the complexities of the underlying WebRTC infrastructure, masking them from the developer. The SDK also handles signaling between the WebRTC client and the WebRTC Gateway running in the IP Office environment, using a secure WebSocket connection.
The WebRTC SDK API enables the following functionality to be embedded in WebRTC clients:
Telephony (audio and video) functionality:
- Make an outgoing call.
- Answer or reject an incoming call.
- Drop an ongoing call.
- Hold/unhold an ongoing call.
- Mute/unmute an ongoing call.
- Transfer an ongoing call (attended or unattended).
- Send DTMF tones from the WebRTC client.
- Add/remove video to/from an ongoing call.
- Pause/play local video in an ongoing call.
- Get call statistics for a particular call.
- Determine whether the user's browser supports WebRTC.
- Get the version of the WebRTC SDK being used.
- Set configuration parameters before log in.
- Log in/log out of the WebRTC client and determine its logged in status. Log in registers the WebRTC client as a SIP user on IP Office.
- Set HTML5 media DOM (Document Object Model) Elements to support the attachment of WebRTC video streams during a call.
- Create/end a loopback connection between the browser and the WebRTC Gateway for audio and data streams, and get loopback statistics.
In addition, WebRTC clients can receive notifications of call, log in and DOM Element change events, and retrieve information about those events.